2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-22 20:23:57 +08:00
linux-next/drivers/gpu/drm/nouveau/dispnv50
Lyude Paul 5e292e7646 drm/nouveau: Remove unnecessary VCPI checks in nv50_msto_cleanup()
There is no need to look at the port's VCPI allocation before calling
drm_dp_mst_deallocate_vcpi(), as we already have msto->disabled to let
us avoid cleaning up an msto more then once. The DP MST core will never
call drm_dp_mst_deallocate_vcpi() on it's own, which is presumably what
these checks are meant to protect against.

More importantly though, we're about to stop clearing mstc->port in the
next commit, which means if we could potentially hit a use-after-free
error if we tried to check mstc->port->vcpi here. So to make life easier
for anyone who bisects this code in the future, use msto->disabled
instead to check whether or not we need to deallocate VCPI instead.

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-14-lyude@redhat.com
2019-01-10 20:38:20 -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: Remove unnecessary VCPI checks in nv50_msto_cleanup() 2019-01-10 20:38:20 -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