drm/amd/display: FEC check in timing validation
authorChiawen Huang <chiawen.huang@amd.com>
Wed, 9 Mar 2022 16:07:59 +0000 (00:07 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2022 07:34:14 +0000 (09:34 +0200)
[ 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@amd.com>
Acked-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Chiawen Huang <chiawen.huang@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/dc/core/dc.c

index b37c4d2e7a1e09f2d55569587d2ec734831d4983..35a27fe48f6628b07bb2ee1749ef58ca41f6e2c8 100644 (file)
@@ -1377,6 +1377,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)