]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Remove unnecessary eDP power down
authorYiling Chen <yi-ling.chen2@amd.com>
Fri, 20 Dec 2024 09:12:54 +0000 (17:12 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 10 Jan 2025 17:06:58 +0000 (12:06 -0500)
[why]
When first time of link training is fail,
eDP would be powered down and
would not be powered up for next retry link training.
It causes that all of retry link linking would be fail.

[how]
We has extracted both power up and down sequence from
enable/disable link output function before DCN32.
We remov eDP power down in dcn32_disable_link_output().

Reviewed-by: Charlene Liu <charlene.liu@amd.com>
Signed-off-by: Yiling Chen <yi-ling.chen2@amd.com>
Signed-off-by: Tom Chung <chiahsuan.chung@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/hwss/dcn32/dcn32_hwseq.c

index 2e6ecf939fbd3aba3507b0d5c4a2928a1ed9abf6..ee4de9ddfef49b87ce5a285f0ec10cf4eaf90d95 100644 (file)
@@ -1399,12 +1399,12 @@ void dcn32_disable_link_output(struct dc_link *link,
 
        link_hwss->disable_link_output(link, link_res, signal);
        link->phy_state.symclk_state = SYMCLK_OFF_TX_OFF;
-
-       if (signal == SIGNAL_TYPE_EDP &&
-                       link->dc->hwss.edp_power_control &&
-                       !link->skip_implict_edp_power_control)
-               link->dc->hwss.edp_power_control(link, false);
-       else if (dmcu != NULL && dmcu->funcs->unlock_phy)
+       /*
+        * Add the logic to extract BOTH power up and power down sequences
+        * from enable/disable link output and only call edp panel control
+        * in enable_link_dp and disable_link_dp once.
+        */
+       if (dmcu != NULL && dmcu->funcs->unlock_phy)
                dmcu->funcs->unlock_phy(dmcu);
 
        dc->link_srv->dp_trace_source_sequence(link, DPCD_SOURCE_SEQ_AFTER_DISABLE_LINK_PHY);