summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
diff options
context:
space:
mode:
authorjinlong zhang <jinlong.zhang@amd.com>2020-09-25 22:51:04 +0800
committerAlex Deucher <alexander.deucher@amd.com>2020-10-26 13:34:47 -0400
commit7154a51b534707cae0f61190cab8f21cc9b2abdc (patch)
treef0207538dae53332b2ea415a11d4c85061191656 /drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
parenta2540e34b521d7f040aa8a6b76b3f29bd679a2ae (diff)
drm/amd/display: Using udelay for specific dongle while edid return defer
[why] Some platform has a limitation of 2ms for udelay [how] Add 1ms udelay for specific dongle. Signed-off-by: jinlong zhang <jinlong.zhang@amd.com> Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dce/dce_aux.c')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dce/dce_aux.c4
1 files changed, 3 insertions, 1 deletions
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 743042d5905a..cda5fd0464bc 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
@@ -652,8 +652,10 @@ bool dce_aux_transfer_with_retries(struct ddc_service *ddc,
} else {
if ((*payload->reply == AUX_TRANSACTION_REPLY_AUX_DEFER) ||
(*payload->reply == AUX_TRANSACTION_REPLY_I2C_OVER_AUX_DEFER)) {
- if (payload->defer_delay > 0)
+ if (payload->defer_delay > 1)
msleep(payload->defer_delay);
+ else if (payload->defer_delay <= 1)
+ udelay(payload->defer_delay * 1000);
}
}
break;