From: Jack Chang <jack.ch...@amd.com>

[Why & How]
Move desync error counter operation up to prevent
it from being skipped by force disable desync
error.

Reviewed-by: Robin Chen <robin.c...@amd.com>
Reviewed-by: Aric Cyr <aric....@amd.com>
Signed-off-by: Jack Chang <jack.ch...@amd.com>
Signed-off-by: Zaeem Mohamed <zaeem.moha...@amd.com>
---
 .../amd/display/dc/link/protocols/link_dp_irq_handler.c    | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

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 5be00e4ce10b..991b8ad4984b 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
@@ -229,6 +229,10 @@ static void handle_hpd_irq_replay_sink(struct dc_link 
*link)
 
                link->replay_settings.config.replay_error_status.raw |= 
replay_error_status.raw;
 
+               /* Increment desync error counter if a desync error is detected 
*/
+               if (replay_configuration.bits.DESYNC_ERROR_STATUS)
+                       link->replay_settings.replay_desync_error_fail_count++;
+
                if 
(link->replay_settings.config.force_disable_desync_error_check)
                        return;
 
@@ -240,9 +244,6 @@ static void handle_hpd_irq_replay_sink(struct dc_link *link)
                        &replay_configuration.raw,
                        sizeof(replay_configuration.raw));
 
-               /* Update desync error counter */
-               link->replay_settings.replay_desync_error_fail_count++;
-
                /* Acknowledge and clear error bits */
                dm_helpers_dp_write_dpcd(
                        link->ctx,
-- 
2.34.1

Reply via email to