From: Michael Strauss <michael.stra...@amd.com>

[WHY]
Avoid race condition which puts LTTPR into bad state during UHBR LT.

[HOW]
Delay 30ms between starting UHBR TPS1 PHY output and sending TPS1 via DPCD.

Reviewed-by: Wenjing Liu <wenjing....@amd.com>
Acked-by: Aurabindo Pillai <aurabindo.pil...@amd.com>
Signed-off-by: Michael Strauss <michael.stra...@amd.com>
Tested-by: Daniel Wheeler <daniel.whee...@amd.com>
---
 .../dc/link/hwss/link_hwss_hpo_fixed_vs_pe_retimer_dp.c      | 5 +++++
 1 file changed, 5 insertions(+)

diff --git 
a/drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_hpo_fixed_vs_pe_retimer_dp.c
 
b/drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_hpo_fixed_vs_pe_retimer_dp.c
index 3e6c7be7e278..5302d2c9c760 100644
--- 
a/drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_hpo_fixed_vs_pe_retimer_dp.c
+++ 
b/drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_hpo_fixed_vs_pe_retimer_dp.c
@@ -165,7 +165,12 @@ static void 
set_hpo_fixed_vs_pe_retimer_dp_link_test_pattern(struct dc_link *lin
                link_res->hpo_dp_link_enc->funcs->set_link_test_pattern(
                                link_res->hpo_dp_link_enc, tp_params);
        }
+
        link->dc->link_srv->dp_trace_source_sequence(link, 
DPCD_SOURCE_SEQ_AFTER_SET_SOURCE_PATTERN);
+
+       // Give retimer extra time to lock before updating 
DP_TRAINING_PATTERN_SET to TPS1
+       if (tp_params->dp_phy_pattern == 
DP_TEST_PATTERN_128b_132b_TPS1_TRAINING_MODE)
+               msleep(30);
 }
 
 static void set_hpo_fixed_vs_pe_retimer_dp_lane_settings(struct dc_link *link,
-- 
2.44.0

Reply via email to