]> git.baikalelectronics.ru Git - kernel.git/commit
drm/amd/display: Fix stereo with DCC enabled
authorSamson Tam <Samson.Tam@amd.com>
Thu, 24 Oct 2019 01:36:29 +0000 (21:36 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 19 Nov 2019 15:12:52 +0000 (10:12 -0500)
commitcd056ad3e20a7e720fe699733e1afaedd66eaea2
treef0fbf41c9c9dcbb5b5fe711c30306cf00cb838ec
parentaff9fe225a625abcf234b509794a09b2a3ea3cb0
drm/amd/display: Fix stereo with DCC enabled

[Why]
When sending DCC with Stereo, DCC gets enabled but the meta addresses
are 0. This happens momentarily before the meta addresses are populated
with a valid address.

[How]
Add call validate_dcc_with_meta_address() in
copy_surface_update_to_plane() to check for surface address and DCC
change.
When DCC has changed, check if DCC enable is true but meta address is 0.
If so, we turn DCC enable to false. When surface address has changed, we
check if DCC enable is false but meta address is not 0. If so, we turn
DCC enable back to true.  This will restore DCC enable to the proper
setting once the meta address is valid.

Signed-off-by: Samson Tam <Samson.Tam@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c