From: Wenjing Liu <wenjing....@amd.com>

[why]
We will not retry when EDID read failure using i2c over aux

[how]
treat i2c over aux failure the same as defer

Signed-off-by: Wenjing Liu <wenjing....@amd.com>
Reviewed-by: David Francis <david.fran...@amd.com>
Acked-by: Leo Li <sunpeng...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/dc_ddc_types.h | 2 ++
 drivers/gpu/drm/amd/display/dc/dce/dce_aux.c  | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/dc_ddc_types.h 
b/drivers/gpu/drm/amd/display/dc/dc_ddc_types.h
index 05c8c31..4ef97f6 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_ddc_types.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_ddc_types.h
@@ -68,6 +68,8 @@ enum aux_transaction_reply {
        AUX_TRANSACTION_REPLY_AUX_ACK = 0x00,
        AUX_TRANSACTION_REPLY_AUX_NACK = 0x01,
        AUX_TRANSACTION_REPLY_AUX_DEFER = 0x02,
+       AUX_TRANSACTION_REPLY_I2C_OVER_AUX_NACK = 0x04,
+       AUX_TRANSACTION_REPLY_I2C_OVER_AUX_DEFER = 0x08,
 
        AUX_TRANSACTION_REPLY_I2C_ACK = 0x00,
        AUX_TRANSACTION_REPLY_I2C_NACK = 0x10,
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 c9b881d..cdb3042 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
@@ -528,6 +528,8 @@ bool dce_aux_transfer_with_retries(struct ddc_service *ddc,
                        break;
 
                        case AUX_TRANSACTION_REPLY_AUX_DEFER:
+                       case AUX_TRANSACTION_REPLY_I2C_OVER_AUX_NACK:
+                       case AUX_TRANSACTION_REPLY_I2C_OVER_AUX_DEFER:
                                if (++aux_defer_retries >= 
AUX_MAX_DEFER_RETRIES)
                                        goto fail;
                                break;
-- 
2.7.4

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

Reply via email to