aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIswara Nagulendran <[email protected]>2022-01-05 17:56:25 -0500
committerAlex Deucher <[email protected]>2022-04-12 14:17:17 -0400
commit9e6a04651e0231c4ad660e1580b40e56d6d5fde5 (patch)
treedb9044fbd3dc8fa6dbac7082d6685c20d7b2f920
parent6866a60a8ef7f320eeaf737d4e2428ea40d252ff (diff)
drm/amd/display: Disable FEC if DSC not supported for EDP
[WHY] Screen was seen corrupted for a few ms when switching both ways. There was also not enough bandwidth for HDR to be enabled in HG disabled mode. This was due to FEC being enabled although DSC was not supported or disabled for the EDP. [HOW] Check for EDP DSC support in DC caps or if DSC should be disabled for EDP before enabling FEC for EDP. Reviewed-by: Harry Vanzylldejong <[email protected]> Reviewed-by: Evgenii Krasnikov <[email protected]> Reviewed-by: Nicholas Choi <[email protected]> Acked-by: Pavle Kotarac <[email protected]> Signed-off-by: Iswara Nagulendran <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_link.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
index 22f2d88fab99..c1a727ff8b1d 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
@@ -4663,8 +4663,10 @@ bool dc_link_should_enable_fec(const struct dc_link *link)
link->local_sink->edid_caps.panel_patch.disable_fec)
force_disable = true;
else if (link->connector_signal == SIGNAL_TYPE_EDP
- && link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.
- dsc_support.DSC_SUPPORT == false)
+ && (link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.
+ dsc_support.DSC_SUPPORT == false
+ || link->dc->debug.disable_dsc_edp
+ || !link->dc->caps.edp_dsc_support))
force_disable = true;
return !force_disable && dc_link_is_fec_supported(link);