drm/amd/display: prevent seamless boot on displays that don't have the preferred dig
authorDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Mon, 21 Nov 2022 20:29:35 +0000 (15:29 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 6 Dec 2022 15:15:40 +0000 (10:15 -0500)
Seamless boot requires VBIOS to select dig matching to link order wise. A significant
amount of dal logic makes assumption we are using preferred dig for eDP and if this
isn't the case then seamless boot is not supported.

Reviewed-by: Martin Leung <Martin.Leung@amd.com>
Acked-by: Stylon Wang <stylon.wang@amd.com>
Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c

index 87994ae..486d182 100644 (file)
@@ -1556,6 +1556,9 @@ bool dc_validate_boot_timing(const struct dc *dc,
        if (tg_inst >= dc->res_pool->timing_generator_count)
                return false;
 
+       if (tg_inst != link->link_enc->preferred_engine)
+               return false;
+
        tg = dc->res_pool->timing_generators[tg_inst];
 
        if (!tg->funcs->get_hw_timing)