OSDN Git Service

drm/amd/display: avoid link loss short pulse stuck the system
authorYu-ting Shen <yu-tshen@amd.com>
Tue, 19 Oct 2021 06:22:02 +0000 (14:22 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 3 Nov 2021 16:32:34 +0000 (12:32 -0400)
[Why]
MST monitor sends link loss short pulse continuous but sink is
occupy by HDMI input to lead link training fail.

[How]
disable link once retraining fail.

Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Yu-ting Shen <yu-tshen@amd.com>
Reviewed-by: Wenjing Liu <Wenjing.Liu@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_link.c

index 2796bdd..f14f71d 100644 (file)
@@ -4279,6 +4279,8 @@ void core_link_enable_stream(
                         */
                        if (status != DC_FAIL_DP_LINK_TRAINING ||
                                        pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST) {
+                               if (false == stream->link->link_status.link_active)
+                                       disable_link(stream->link, pipe_ctx->stream->signal);
                                BREAK_TO_DEBUGGER();
                                return;
                        }