drm/amd/display: lower dp link training message level
authorHersen Wu <hersenxs.wu@amd.com>
Mon, 24 Apr 2023 15:39:20 +0000 (11:39 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 14:42:39 +0000 (10:42 -0400)
[Why] some test apps report dp link training waring even dp
training pass. there are 4 tries of lt within
perform_link_training_with_retries. if lt pass within 4 tries,
it will NOT be reated as lt failure. for each try of lt, if lt
fails, current driver implementation prints message at warning
level. this let people think dp lt does not work properly.

[How] for 1st, 2nd and 3rd try of lt, print message at debug
level. for the 4th try of lt, print message at warning level.

Reviewed-by: Jerry Zuo <jerry.zuo@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Hersen Wu <hersenxs.wu@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/link/protocols/link_dp_training.c

index 579fa22..e011df4 100644 (file)
@@ -1653,10 +1653,19 @@ bool perform_link_training_with_retries(
                                break;
                }
 
-               DC_LOG_WARNING("%s: Link(%d) training attempt %u of %d failed @ rate(%d) x lane(%d) @ spread = %x : fail reason:(%d)\n",
-                              __func__, link->link_index, (unsigned int)j + 1, attempts,
-                             cur_link_settings.link_rate, cur_link_settings.lane_count,
-                             cur_link_settings.link_spread, status);
+               if (j == (attempts - 1)) {
+                       DC_LOG_WARNING(
+                               "%s: Link(%d) training attempt %u of %d failed @ rate(%d) x lane(%d) @ spread = %x : fail reason:(%d)\n",
+                               __func__, link->link_index, (unsigned int)j + 1, attempts,
+                               cur_link_settings.link_rate, cur_link_settings.lane_count,
+                               cur_link_settings.link_spread, status);
+               } else {
+                       DC_LOG_HW_LINK_TRAINING(
+                               "%s: Link(%d) training attempt %u of %d failed @ rate(%d) x lane(%d) @ spread = %x : fail reason:(%d)\n",
+                               __func__, link->link_index, (unsigned int)j + 1, attempts,
+                               cur_link_settings.link_rate, cur_link_settings.lane_count,
+                               cur_link_settings.link_spread, status);
+               }
 
                dp_disable_link_phy(link, &pipe_ctx->link_res, signal);