From: Wei-Guang Li <[email protected]>

[Why&How]
Add a new debug option "enable_replay_esd_recovery" to control whether
to enable the replay ESD recovery feature.

Reviewed-by: Robin Chen <[email protected]>
Reviewed-by: Wenjing Liu <[email protected]>
Signed-off-by: Wei-Guang Li <[email protected]>
Signed-off-by: Ivan Lipski <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/dc.h                |  1 +
 .../dc/link/protocols/link_dp_irq_handler.c        | 14 ++++++++------
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dc.h 
b/drivers/gpu/drm/amd/display/dc/dc.h
index d0b6fad65bc0..a356cf4faa1d 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -1220,6 +1220,7 @@ struct dc_debug_options {
        bool enable_otg_frame_sync_pwa;
        unsigned int min_deep_sleep_dcfclk_khz;
        unsigned int force_odm2to1_for_edp_pixclk_mhz;
+       bool enable_replay_esd_recovery;
 };
 
 
diff --git 
a/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_irq_handler.c 
b/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_irq_handler.c
index f9e0ba24d401..54ce768ae6ad 100644
--- a/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_irq_handler.c
+++ b/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_irq_handler.c
@@ -312,12 +312,14 @@ static void handle_hpd_irq_replay_sink(struct dc_link 
*link, bool *need_re_enabl
                }
        }
 
-       if (!link->replay_settings.replay_allow_active &&
-           replay_sink_status.bits.SINK_DEVICE_REPLAY_STATUS == 0x7) {
-           /* If sink device replay status is 0x7 and replay is disabled,
-            * it means sink is in a bad state and link retraining is needed to 
recover
-            */
-           *replay_esd_detection_needed = true;
+       if (link->ctx->dc->debug.enable_replay_esd_recovery) {
+               if (!link->replay_settings.replay_allow_active &&
+                   replay_sink_status.bits.SINK_DEVICE_REPLAY_STATUS == 0x7) {
+                   /* If sink device replay status is 0x7 and replay is 
disabled,
+                    * it means sink is in a bad state and link retraining is 
needed to recover
+                    */
+                   *replay_esd_detection_needed = true;
+               }
        }
 }
 
-- 
2.43.0

Reply via email to