--- /dev/null
+From 8d16f258217f2f583af1fd57c5144aa4bbe73e48 Mon Sep 17 00:00:00 2001
+From: Jani Nikula <jani.nikula@intel.com>
+Date: Fri, 20 Sep 2013 16:42:15 +0300
+Subject: drm/i915/dp: increase i2c-over-aux retry interval on AUX DEFER
+
+From: Jani Nikula <jani.nikula@intel.com>
+
+commit 8d16f258217f2f583af1fd57c5144aa4bbe73e48 upstream.
+
+There is no clear cut rules or specs for the retry interval, as there
+are many factors that affect overall response time. Increase the
+interval, and even more so on branch devices which may have limited i2c
+bit rates.
+
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Reference: https://bugs.freedesktop.org/show_bug.cgi?id=60263
+Tested-by: Nicolas Suzor <nic@suzor.com>
+Reviewed-by: Todd Previte <tprevite@gmail.com>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_dp.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/i915/intel_dp.c
++++ b/drivers/gpu/drm/i915/intel_dp.c
+@@ -625,7 +625,18 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *
+ DRM_DEBUG_KMS("aux_ch native nack\n");
+ return -EREMOTEIO;
+ case AUX_NATIVE_REPLY_DEFER:
+- udelay(100);
++ /*
++ * For now, just give more slack to branch devices. We
++ * could check the DPCD for I2C bit rate capabilities,
++ * and if available, adjust the interval. We could also
++ * be more careful with DP-to-Legacy adapters where a
++ * long legacy cable may force very low I2C bit rates.
++ */
++ if (intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] &
++ DP_DWN_STRM_PORT_PRESENT)
++ usleep_range(500, 600);
++ else
++ usleep_range(300, 400);
+ continue;
+ default:
+ DRM_ERROR("aux_ch invalid native reply 0x%02x\n",