aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 9770160c0085..60d2006fe15d 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -673,7 +673,18 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
673 DRM_DEBUG_KMS("aux_ch native nack\n"); 673 DRM_DEBUG_KMS("aux_ch native nack\n");
674 return -EREMOTEIO; 674 return -EREMOTEIO;
675 case AUX_NATIVE_REPLY_DEFER: 675 case AUX_NATIVE_REPLY_DEFER:
676 udelay(100); 676 /*
677 * For now, just give more slack to branch devices. We
678 * could check the DPCD for I2C bit rate capabilities,
679 * and if available, adjust the interval. We could also
680 * be more careful with DP-to-Legacy adapters where a
681 * long legacy cable may force very low I2C bit rates.
682 */
683 if (intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] &
684 DP_DWN_STRM_PORT_PRESENT)
685 usleep_range(500, 600);
686 else
687 usleep_range(300, 400);
677 continue; 688 continue;
678 default: 689 default:
679 DRM_ERROR("aux_ch invalid native reply 0x%02x\n", 690 DRM_ERROR("aux_ch invalid native reply 0x%02x\n",