]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.11-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Oct 2013 02:20:57 +0000 (19:20 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Oct 2013 02:20:57 +0000 (19:20 -0700)
added patches:
drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch
drm-i915-preserve-pipe-a-quirk-in-i9xx_set_pipeconf.patch

queue-3.11/drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch [new file with mode: 0644]
queue-3.11/drm-i915-preserve-pipe-a-quirk-in-i9xx_set_pipeconf.patch [new file with mode: 0644]
queue-3.11/series

diff --git a/queue-3.11/drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch b/queue-3.11/drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch
new file mode 100644 (file)
index 0000000..7501165
--- /dev/null
@@ -0,0 +1,47 @@
+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
+@@ -567,7 +567,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.11/drm-i915-preserve-pipe-a-quirk-in-i9xx_set_pipeconf.patch b/queue-3.11/drm-i915-preserve-pipe-a-quirk-in-i9xx_set_pipeconf.patch
new file mode 100644 (file)
index 0000000..b3ae980
--- /dev/null
@@ -0,0 +1,57 @@
+From 67c72a12254101d4e8d9b9f3a02646ba0be84a2d Mon Sep 17 00:00:00 2001
+From: Daniel Vetter <daniel.vetter@ffwll.ch>
+Date: Tue, 24 Sep 2013 11:46:14 +0200
+Subject: drm/i915: preserve pipe A quirk in i9xx_set_pipeconf
+
+From: Daniel Vetter <daniel.vetter@ffwll.ch>
+
+commit 67c72a12254101d4e8d9b9f3a02646ba0be84a2d upstream.
+
+This regression has been introduced in
+
+commit 9f11a9e4e50006b615ba94722dfc33ced89664cf
+Author: Daniel Vetter <daniel.vetter@ffwll.ch>
+Date:   Thu Jun 13 00:54:58 2013 +0200
+
+    drm/i915: set up PIPECONF explicitly for i9xx/vlv platforms
+
+Ville brough up the idea that this is just the pipe A quirk gone
+wrong.
+
+Note that after resume the bios might or might not have enabled pipe A
+already.  We have a bit of magic to make sure that on resume we set up
+a decent mode for pipe A, but I fear if I just smash pipe A to always
+on we'd enable it in a bogus state and hang the hw. Hence the
+readback.
+
+v2: Clarify the logic a bit as suggested by Chris. Also amend the
+commit message to clarify why we don't unconditionally enable the
+pipe.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66462
+References: https://lkml.org/lkml/2013/8/26/238
+Cc: Meelis Roos <mroos@ut.ee>
+Cc: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
+[danvet: Use |= instead of = as suggested by Chris.]
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_display.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -4735,6 +4735,10 @@ static void i9xx_set_pipeconf(struct int
+       pipeconf = 0;
++      if (dev_priv->quirks & QUIRK_PIPEA_FORCE &&
++          I915_READ(PIPECONF(intel_crtc->pipe)) & PIPECONF_ENABLE)
++              pipeconf |= PIPECONF_ENABLE;
++
+       if (intel_crtc->pipe == 0 && INTEL_INFO(dev)->gen < 4) {
+               /* Enable pixel doubling when the dot clock is > 90% of the (display)
+                * core speed.
index 8c16ef77ae8e22666fbc29ec066086a68aa28788..f3dfb9783bcc7ae8b8fc96aa1b1a01ca87b60587 100644 (file)
@@ -41,3 +41,5 @@ driver-core-fix-use-after-free-of-dev-parent-in-device_shutdown.patch
 dm-snapshot-workaround-for-a-false-positive-lockdep-warning.patch
 dm-snapshot-fix-performance-degradation-due-to-small-hash-size.patch
 dm-mpath-disable-write-same-if-it-fails.patch
+drm-i915-preserve-pipe-a-quirk-in-i9xx_set_pipeconf.patch
+drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch