drm/amd/display: fix MST link training fail division by 0
authorEric Yang <Eric.Yang2@amd.com>
Wed, 1 Nov 2017 19:43:47 +0000 (15:43 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 14 Nov 2017 16:32:46 +0000 (11:32 -0500)
When link training fail in MST case, we will divide by 0
when calculating avg_time_slots_per_mtp, so we cannot
proceed.

Signed-off-by: Eric Yang <Eric.Yang2@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link.c

index e70612e..0602610 100644 (file)
@@ -2318,9 +2318,11 @@ void core_link_enable_stream(
 
                        /* Abort stream enable *unless* the failure was due to
                         * DP link training - some DP monitors will recover and
-                        * show the stream anyway.
+                        * show the stream anyway. But MST displays can't proceed
+                        * without link training.
                         */
-                       if (status != DC_FAIL_DP_LINK_TRAINING) {
+                       if (status != DC_FAIL_DP_LINK_TRAINING ||
+                                       pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST) {
                                BREAK_TO_DEBUGGER();
                                return;
                        }