From: Iswara Nagulendran Date: Wed, 5 Jan 2022 22:56:25 +0000 (-0500) Subject: drm/amd/display: Disable FEC if DSC not supported for EDP X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=9e6a04651e0231c4ad660e1580b40e56d6d5fde5;p=linux.git 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 Reviewed-by: Evgenii Krasnikov Reviewed-by: Nicholas Choi Acked-by: Pavle Kotarac Signed-off-by: Iswara Nagulendran Signed-off-by: Alex Deucher --- 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 22f2d88fab996..c1a727ff8b1d2 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);