OSDN Git Service

drm/amd/display: Keep GSL for full updates with planes that flip VSYNC
authorAlvin Lee <alvin.lee2@amd.com>
Fri, 16 Oct 2020 16:20:57 +0000 (12:20 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 2 Nov 2020 20:30:05 +0000 (15:30 -0500)
commit6f2239ccdfc04938dc35e67dd60191b2c05dfb63
treecd764477ad249b29290373587e0cd4db512ebe61
parent685b4d8142dcbf11b817f74c2bc5b94eca7ee7f2
drm/amd/display: Keep GSL for full updates with planes that flip VSYNC

[Why]
When enabling PIP in Heaven, the PIP planes are VSYNC
flip and is also the top-most pipe. In this case GSL
will be disabled because we only check immediate flip
for the top pipe. However, the desktop planes are still
flip immediate so we should at least keep GSL on until
the full update.

[How]
Check each pipe in the tree to see if any planes
are flip immediate. Maintain the GSL lock if yes,
and take it down after when unlocking if any planes
are flipping VSYNC. Keeping GSL on with VSYNC +
flip immediate planes causes corruption.

Signed-off-by: Alvin Lee <alvin.lee2@amd.com>
Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c