linux/drivers/gpu
Lyude Paul 1b38cf6b03 drm/nouveau/kms/nv50-: Lookup current encoder/crtc from atomic state
Despite being an atomic driver, nouveau has a lot of leftover code that
relies on retrieving information regarding the new atomic state from
members of drm_encoder and drm_crtc. The first field being used,
drm_encoder.crtc, is deprecated for atomic drivers. The second field being
used is drm_crtc.state, which is only really sensible to use outside of an
atomic modeset.

So, add some helpers to lookup the current crtc for a given outp from the
atomic state. Then, convert most of the code in dispnv50/disp.c to use said
new helper, along with the relevant DRM atomic helpers for retrieving the
new encoder/crtc combinations for a new atomic state.

Note that we don't get rid of the nouveau_encoder.crtc field entirely for
three reasons:

- Legacy modesetting for pre-nv50 still uses it
- It doesn't cause any locking issues
- We need it for the HDA callbacks, as grabbing atomic modesetting locks in
  those would be a mess.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2021-01-29 16:49:14 +10:00
..
drm drm/nouveau/kms/nv50-: Lookup current encoder/crtc from atomic state 2021-01-29 16:49:14 +10:00
host1x gpu/host1x: bus: Add missing description for 'driver' 2020-11-05 22:12:55 +01:00
ipu-v3 gpu/ipu-v3/ipu-di: Strip out 2 unused 'di_sync_config' entries 2021-01-04 12:54:18 +01:00
trace
vga pci-v5.11-changes 2020-12-15 16:49:59 -08:00
Makefile