From: Greg Kroah-Hartman Date: Thu, 3 Oct 2013 02:21:09 +0000 (-0700) Subject: 3.4-stable patches X-Git-Tag: v3.0.99~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a0cb8bb7fa8a9b7bb8a70794ce2f3cc73a038643;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches added patches: drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch --- diff --git a/queue-3.4/drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch b/queue-3.4/drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch new file mode 100644 index 00000000000..0a5312cf554 --- /dev/null +++ b/queue-3.4/drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch @@ -0,0 +1,47 @@ +From 8d16f258217f2f583af1fd57c5144aa4bbe73e48 Mon Sep 17 00:00:00 2001 +From: Jani Nikula +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 + +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 +Reference: https://bugs.freedesktop.org/show_bug.cgi?id=60263 +Tested-by: Nicolas Suzor +Reviewed-by: Todd Previte +Signed-off-by: Daniel Vetter +Signed-off-by: Greg Kroah-Hartman + +--- + 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", diff --git a/queue-3.4/series b/queue-3.4/series index 8a9a9b2cc1f..2b70987db0e 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -7,3 +7,4 @@ xhci-fix-race-between-ep-halt-and-urb-cancellation.patch usb-core-devio.c-don-t-reject-control-message-to-endpoint-with-wrong-direction-bit.patch dm-snapshot-workaround-for-a-false-positive-lockdep-warning.patch dm-snapshot-fix-performance-degradation-due-to-small-hash-size.patch +drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch