linux_dsm_epyc7002/drivers/gpu/drm/nouveau/dispnv50
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
..
atom.h drm/nouveau: Move PBN and VCPI allocation into nv50_head_atom 2019-02-05 18:19:44 -05:00
base507c.c drm/nouveau/kms/nv50-: separate blocklinear vs linear pitch 2018-05-18 15:01:30 +10:00
base827c.c drm/nouveau/kms/nv50-: separate blocklinear vs linear pitch 2018-05-18 15:01:30 +10:00
base907c.c drm/nouveau/kms/nv50-: allow more flexibility with lut formats 2018-12-11 15:37:49 +10:00
base917c.c drm/nouveau/kms/gk104-: add support for [XA]2R10G10B10 formats 2018-05-18 15:01:30 +10:00
base.c drm/nouveau/kms/gk104-: add support for [XA]2R10G10B10 formats 2018-05-18 15:01:30 +10:00
base.h drm/nouveau/kms/nv50-: initial overlay support 2018-05-18 15:01:31 +10:00
core507d.c drm/nouveau/kms/nv50-: simplify tracking of channel interlocks 2018-05-18 15:01:29 +10:00
core827d.c drm/nouveau/kms/nv50-: split core implementation by hardware class 2018-05-18 15:01:28 +10:00
core907d.c drm/nouveau/kms/nv50-: split core implementation by hardware class 2018-05-18 15:01:28 +10:00
core917d.c drm/nouveau/kms/nv50-: split core implementation by hardware class 2018-05-18 15:01:28 +10:00
core.c drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
core.h drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
corec37d.c drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
corec57d.c drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
curs507a.c drm/nouveau/kms/nv50-: cursors always use core channel vram ctxdma 2018-06-19 10:38:26 +10:00
curs907a.c drm/nouveau/kms/nv50-: simplify tracking of channel interlocks 2018-05-18 15:01:29 +10:00
curs.c drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
curs.h drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
cursc37a.c drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
dac507d.c drm/nouveau/kms/nv50-: split core implementation by hardware class 2018-05-18 15:01:28 +10:00
dac907d.c drm/nouveau/kms/nv50-: split core implementation by hardware class 2018-05-18 15:01:28 +10:00
disp.c drm/nouveau: Move PBN and VCPI allocation into nv50_head_atom 2019-02-05 18:19:44 -05:00
disp.h drm/nouveau/kms/nv50-: allow more flexibility with lut formats 2018-12-11 15:37:49 +10:00
head507d.c drm/nouveau/kms/nv50-: allow more flexibility with lut formats 2018-12-11 15:37:49 +10:00
head827d.c drm/nouveau/kms/gk104-: support additional cursor sizes 2018-05-18 15:01:30 +10:00
head907d.c drm/nouveau/kms/nv50-: allow more flexibility with lut formats 2018-12-11 15:37:49 +10:00
head917d.c drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
head.c drm/nouveau: Move PBN and VCPI allocation into nv50_head_atom 2019-02-05 18:19:44 -05:00
head.h drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
headc37d.c drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
headc57d.c drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
Kbuild drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
lut.c drm/nouveau/kms/nv50-: allow more flexibility with lut formats 2018-12-11 15:37:49 +10:00
lut.h drm/nouveau/kms/nv50-: allow more flexibility with lut formats 2018-12-11 15:37:49 +10:00
oimm507b.c drm/nouveau/kms/nv50-: initial overlay support 2018-05-18 15:01:31 +10:00
oimm.c drm/nouveau/kms/nv50-: split each resource type into their own source files 2018-05-18 15:01:28 +10:00
oimm.h drm/nouveau/kms/nv50-: split each resource type into their own source files 2018-05-18 15:01:28 +10:00
ovly507e.c drm/nouveau/kms/nv50-: initial overlay support 2018-05-18 15:01:31 +10:00
ovly827e.c drm/nouveau/kms/nv50-: initial overlay support 2018-05-18 15:01:31 +10:00
ovly907e.c drm/nouveau/kms/nv50-: initial overlay support 2018-05-18 15:01:31 +10:00
ovly917e.c drm/nouveau/kms/nv50-: initial overlay support 2018-05-18 15:01:31 +10:00
ovly.c drm/nouveau/kms/nv50-: initial overlay support 2018-05-18 15:01:31 +10:00
ovly.h drm/nouveau/kms/nv50-: initial overlay support 2018-05-18 15:01:31 +10:00
pior507d.c drm/nouveau/kms/nv50-: split core implementation by hardware class 2018-05-18 15:01:28 +10:00
sor507d.c drm/nouveau/kms/nv50-: split core implementation by hardware class 2018-05-18 15:01:28 +10:00
sor907d.c drm/nouveau/kms/nv50-: split core implementation by hardware class 2018-05-18 15:01:28 +10:00
sorc37d.c drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
wimm.c drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
wimm.h drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
wimmc37b.c drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
wndw.c drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
wndw.h drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
wndwc37e.c drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00
wndwc57e.c drm/nouveau/kms/tu104: initial support 2018-12-11 15:37:55 +10:00