aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 449364187bc0..ba72fbcbbbc9 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -315,9 +315,17 @@ intel_dp_aux_ch(struct intel_dp *intel_dp,
315 else 315 else
316 precharge = 5; 316 precharge = 5;
317 317
318 if (I915_READ(ch_ctl) & DP_AUX_CH_CTL_SEND_BUSY) { 318 /* Try to wait for any previous AUX channel activity */
319 DRM_ERROR("dp_aux_ch not started status 0x%08x\n", 319 for (try = 0; try < 3; try++) {
320 I915_READ(ch_ctl)); 320 status = I915_READ(ch_ctl);
321 if ((status & DP_AUX_CH_CTL_SEND_BUSY) == 0)
322 break;
323 msleep(1);
324 }
325
326 if (try == 3) {
327 WARN(1, "dp_aux_ch not started status 0x%08x\n",
328 I915_READ(ch_ctl));
321 return -EBUSY; 329 return -EBUSY;
322 } 330 }
323 331