linux/drivers/gpu/drm/nouveau
Lyude Paul 88ec89adec drm/nouveau: Move PBN and VCPI allocation into nv50_head_atom
Atomic checks should never modify anything outside of the state that
they're passed in. Unfortunately this appears to be exactly what we're
doing in nv50_msto_atomic_check() where we update mstc->pbn every time
the function is called. This hasn't caused any bugs yet, but it needs to
be fixed in order to ensure that when committing an artificially
duplicated state (like during system resume), that we reuse the PBN of
that state to perform VCPI allocations and don't recalculate a different
value from the drm connector's reported bpc.

Also, move the VCPI slot allocations while we're at it as well. With
this, removing a topology in suspend while using nouveau no longer
causes the new atomic VCPI helpers to complain.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Fixes: eceae14724 ("drm/dp_mst: Start tracking per-port VCPI allocations")
Cc: Daniel Vetter <daniel@ffwll.ch>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190202002023.29665-5-lyude@redhat.com
2019-02-05 18:19:44 -05:00
..
dispnv04 drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
dispnv50 drm/nouveau: Move PBN and VCPI allocation into nv50_head_atom 2019-02-05 18:19:44 -05:00
include drm/nouveau/core: increase maximum number of nvdec instances to 3 2018-12-11 15:37:55 +10:00
nvif drm/nouveau/disp/tu104: initial support 2018-12-11 15:37:54 +10:00
nvkm drm/nouveau/ce/tu106: initial support 2018-12-11 15:38:01 +10:00
Kbuild drm/nouveau/kms/nv50-: move code underneath dispnv50/ 2018-05-18 15:01:26 +10:00
Kconfig drm/nouveau: fix incorrect FB_BACKLIGHT usage in Kconfig 2019-01-02 18:47:37 +01:00
nouveau_abi16.c drm/nouveau/fifo/gk104-: support enabling privileged ce functions 2018-12-11 15:37:47 +10:00
nouveau_abi16.h
nouveau_acpi.c drm/nouveau: fix nouveau_dsm_get_client_id()'s return type 2018-05-18 17:09:46 +10:00
nouveau_acpi.h
nouveau_backlight.c drm/nouveau: Refactor nvXX_backlight_init() 2018-10-11 09:54:10 +10:00
nouveau_bios.c
nouveau_bios.h
nouveau_bo.c drm/nouveau/ce/tu104: initial support 2018-12-11 15:37:55 +10:00
nouveau_bo.h
nouveau_chan.c drm/nouveau/fifo/tu104: initial support 2018-12-11 15:37:55 +10:00
nouveau_chan.h drm/nouveau/fifo/gv100: return work submission token in channel ctor args 2018-12-11 15:37:49 +10:00
nouveau_connector.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
nouveau_connector.h drm/nouveau/drm/nouveau: Don't forget to label dp_aux devices 2018-12-11 15:37:09 +10:00
nouveau_crtc.h
nouveau_debugfs.c drm/nouveau: Add size to vbios.rom file in debugfs 2018-12-11 15:37:09 +10:00
nouveau_debugfs.h
nouveau_display.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
nouveau_display.h drm/nouveau: Move backlight device into nouveau_connector 2018-10-11 09:54:09 +10:00
nouveau_dma.c drm/nouveau/fifo/gv100: return work submission token in channel ctor args 2018-12-11 15:37:49 +10:00
nouveau_dma.h drm/nouveau/drm/nv50-: remove allocation of sw class 2018-05-18 15:01:26 +10:00
nouveau_dp.c
nouveau_drm.c drm pull request for 4.21-rc1 2018-12-25 11:48:26 -08:00
nouveau_drv.h drm/ttm: initialize globals during device init (v2) 2018-11-05 14:21:21 -05:00
nouveau_encoder.h drm/nouveau/kms/nv50: handle SetControlOutputResource from head 2018-05-18 15:01:28 +10:00
nouveau_fbcon.c drm/<drivers>: Don't set FBINFO_(FLAG_)DEFAULT 2019-01-29 10:56:42 +01:00
nouveau_fbcon.h drm/nouveau/drm/nouveau: Fix deadlock with fb_helper with async RPM requests 2018-09-07 06:54:26 +10:00
nouveau_fence.c dma-buf: allow reserving more than one shared fence slot 2018-10-25 13:45:07 +02:00
nouveau_fence.h drm/nouveau/fifo: support channel count query 2018-05-18 15:01:21 +10:00
nouveau_gem.c BackMerge v4.18-rc7 into drm-next 2018-07-30 10:39:22 +10:00
nouveau_gem.h
nouveau_hwmon.c drm/nouveau/hwmon: potential uninitialized variables 2018-07-16 18:06:29 +10:00
nouveau_hwmon.h
nouveau_ioc32.c
nouveau_ioctl.h
nouveau_led.c
nouveau_led.h
nouveau_mem.c
nouveau_mem.h
nouveau_nvif.c
nouveau_platform.c drm/nouveau: Replace drm_dev_unref with drm_dev_put 2018-07-16 18:06:30 +10:00
nouveau_platform.h
nouveau_prime.c
nouveau_reg.h
nouveau_sgdma.c
nouveau_ttm.c drm/ttm: initialize globals during device init (v2) 2018-11-05 14:21:21 -05:00
nouveau_ttm.h
nouveau_usif.c
nouveau_usif.h
nouveau_vga.c drm/nouveau: Remove useless poll_disable() call in switcheroo_set_state() 2018-09-07 06:54:26 +10:00
nouveau_vga.h
nouveau_vmm.c drm/nouveau/gem: attach fences to VMAs to track GPU usage 2018-05-18 15:01:26 +10:00
nouveau_vmm.h drm/nouveau: remove left-over struct member 2018-12-11 15:37:49 +10:00
nv04_fbcon.c
nv04_fence.c drm/nouveau/fifo: support channel count query 2018-05-18 15:01:21 +10:00
nv10_fence.c drm/nouveau/fifo: support channel count query 2018-05-18 15:01:21 +10:00
nv10_fence.h
nv17_fence.c drm/nouveau/fifo: support channel count query 2018-05-18 15:01:21 +10:00
nv50_display.h drm/nouveau/kms/nv50-: split each resource type into their own source files 2018-05-18 15:01:28 +10:00
nv50_fbcon.c
nv50_fence.c drm/nouveau/fifo: support channel count query 2018-05-18 15:01:21 +10:00
nv84_fence.c treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
nvc0_fbcon.c
nvc0_fence.c