linux_dsm_epyc7002/drivers/gpu/drm/nouveau/dispnv50
Lyude Paul 81640f01c2 drm/nouveau: Keep malloc references to MST ports
Now that we finally have a sane way to keep port allocations around, use
it to fix the potential unchecked ->port accesses that nouveau makes by
making sure we keep the mst port allocated for as long as it's
drm_connector is accessible.

Additionally, now that we've guaranteed that mstc->port is allocated for
as long as we keep mstc around we can remove the connector registration
checks for codepaths which release payloads, allowing us to release
payloads on active topologies properly. These registration checks were
only required before in order to avoid situations where mstc->port could
technically be pointing at freed memory.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: David Airlie <airlied@redhat.com>
Cc: Jerry Zuo <Jerry.Zuo@amd.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Juston Li <juston.li@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190111005343.17443-15-lyude@redhat.com
2019-01-10 20:38:25 -05:00
..
atom.h drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10: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/gk104-: add support for [XA]2R10G10B10 formats 2018-05-18 15:01:30 +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/gv100: initial support 2018-05-18 15:01:46 +10:00
core.h drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
corec37d.c drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +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/gv100: initial support 2018-05-18 15:01:46 +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: Keep malloc references to MST ports 2019-01-10 20:38:25 -05:00
disp.h drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
head507d.c drm/nouveau/kms/nv50-: initial overlay support 2018-05-18 15:01:31 +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-: initial overlay support 2018-05-18 15:01:31 +10:00
head917d.c drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
head.c drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
head.h drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
headc37d.c drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
Kbuild drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
lut.c drm/nouveau/kms/nv50-: handle degamma LUT from window channels 2018-05-18 15:01:29 +10:00
lut.h drm/nouveau/kms/nv50-: handle degamma LUT from window channels 2018-05-18 15:01:29 +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/gv100: initial support 2018-05-18 15:01:46 +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/nv50-: remove duplicate assignment 2018-07-16 18:06:29 +10:00
wndw.h drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00
wndwc37e.c drm/nouveau/kms/gv100: initial support 2018-05-18 15:01:46 +10:00