[PATCH AUTOSEL 5.10 05/30] drm/amd/display: FEC check in timing validation

From: Sasha Levin
Date: Mon Apr 11 2022 - 21:00:00 EST


From: Chiawen Huang <chiawen.huang@xxxxxxx>

[ Upstream commit 7d56a154e22ffb3613fdebf83ec34d5225a22993 ]

[Why]
disable/enable leads FEC mismatch between hw/sw FEC state.

[How]
check FEC status to fastboot on/off.

Reviewed-by: Anthony Koo <Anthony.Koo@xxxxxxx>
Acked-by: Alex Hung <alex.hung@xxxxxxx>
Signed-off-by: Chiawen Huang <chiawen.huang@xxxxxxx>
Tested-by: Daniel Wheeler <daniel.wheeler@xxxxxxx>
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
drivers/gpu/drm/amd/display/dc/core/dc.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 93f5229c303e..ac5323596c65 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -1173,6 +1173,10 @@ bool dc_validate_seamless_boot_timing(const struct dc *dc,
if (!link->link_enc->funcs->is_dig_enabled(link->link_enc))
return false;

+ /* Check for FEC status*/
+ if (link->link_enc->funcs->fec_is_active(link->link_enc))
+ return false;
+
enc_inst = link->link_enc->funcs->get_dig_frontend(link->link_enc);

if (enc_inst == ENGINE_ID_UNKNOWN)
--
2.35.1