From: Wesley Chalmers <wesley.chalm...@amd.com>

[WHY]
DP 2.0 SCR specifies that
"A DPTX shall distinguish I2C_DEFER|AUX_ACK from AUX_DEFER. AUX retries
due to
I2C_DEFER are not counted as part of minimum 7 retires (sic) upon
AUX_DEFER’s"

Signed-off-by: Wesley Chalmers <wesley.chalm...@amd.com>
Reviewed-by: Jun Lei <jun....@amd.com>
Acked-by: Anson Jacob <anson.ja...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/dce/dce_aux.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c 
b/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
index 49cb4e6d6411..28631714f697 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
@@ -667,12 +667,13 @@ bool dce_aux_transfer_with_retries(struct ddc_service 
*ddc,
                        case AUX_TRANSACTION_REPLY_AUX_DEFER:
                                /* polling_timeout_period is in us */
                                defer_time_in_ms += 
aux110->polling_timeout_period / 1000;
+                               ++aux_defer_retries;
                                /* fall through */
                        case AUX_TRANSACTION_REPLY_I2C_OVER_AUX_DEFER:
                                retry_on_defer = true;
                                fallthrough;
                        case AUX_TRANSACTION_REPLY_I2C_OVER_AUX_NACK:
-                               if (++aux_defer_retries >= AUX_MIN_DEFER_RETRIES
+                               if (aux_defer_retries >= AUX_MIN_DEFER_RETRIES
                                                && defer_time_in_ms >= 
AUX_MAX_DEFER_TIMEOUT_MS) {
                                        goto fail;
                                } else {
-- 
2.25.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to