drm/amd/display: add skip_implict_edp_power_control flag for dcn32
authorIan Chen <ian.chen@amd.com>
Tue, 29 Aug 2023 05:17:32 +0000 (13:17 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 11 Sep 2023 21:19:04 +0000 (17:19 -0400)
Add flag skip_implict_edp_power_control check in function
dcn32_disable_link_output to fix DCN35 issue.

Reviewed-by: Robin Chen <robin.chen@amd.com>
Acked-by: Stylon Wang <stylon.wang@amd.com>
Signed-off-by: Ian Chen <ian.chen@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/dcn32/dcn32_hwseq.c

index 018376146d977236cdc55ae334a7c7aaa3dd0c0d..e8a989a50afac82f5e898a61217670c3fe9b0820 100644 (file)
@@ -1322,7 +1322,8 @@ void dcn32_disable_link_output(struct dc_link *link,
        struct dmcu *dmcu = dc->res_pool->dmcu;
 
        if (signal == SIGNAL_TYPE_EDP &&
-                       link->dc->hwss.edp_backlight_control)
+                       link->dc->hwss.edp_backlight_control &&
+                       !link->skip_implict_edp_power_control)
                link->dc->hwss.edp_backlight_control(link, false);
        else if (dmcu != NULL && dmcu->funcs->lock_phy)
                dmcu->funcs->lock_phy(dmcu);
@@ -1331,7 +1332,8 @@ void dcn32_disable_link_output(struct dc_link *link,
        link->phy_state.symclk_state = SYMCLK_OFF_TX_OFF;
 
        if (signal == SIGNAL_TYPE_EDP &&
-                       link->dc->hwss.edp_backlight_control)
+                       link->dc->hwss.edp_backlight_control &&
+                       !link->skip_implict_edp_power_control)
                link->dc->hwss.edp_power_control(link, false);
        else if (dmcu != NULL && dmcu->funcs->lock_phy)
                dmcu->funcs->unlock_phy(dmcu);