From 1b342e494c57f2723997d0845f75ef6de0c9fa24 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 2 Oct 2013 19:20:47 -0700 Subject: [PATCH] 3.10-stable patches 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 --- ...over-aux-retry-interval-on-aux-defer.patch | 47 +++++++++++++++ ...ve-pipe-a-quirk-in-i9xx_set_pipeconf.patch | 57 +++++++++++++++++++ queue-3.10/series | 2 + 3 files changed, 106 insertions(+) create mode 100644 queue-3.10/drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch create mode 100644 queue-3.10/drm-i915-preserve-pipe-a-quirk-in-i9xx_set_pipeconf.patch diff --git a/queue-3.10/drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch b/queue-3.10/drm-i915-dp-increase-i2c-over-aux-retry-interval-on-aux-defer.patch new file mode 100644 index 00000000000..c685e01f074 --- /dev/null +++ b/queue-3.10/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 +@@ -604,7 +604,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.10/drm-i915-preserve-pipe-a-quirk-in-i9xx_set_pipeconf.patch b/queue-3.10/drm-i915-preserve-pipe-a-quirk-in-i9xx_set_pipeconf.patch new file mode 100644 index 00000000000..b9554e52e06 --- /dev/null +++ b/queue-3.10/drm-i915-preserve-pipe-a-quirk-in-i9xx_set_pipeconf.patch @@ -0,0 +1,57 @@ +From 67c72a12254101d4e8d9b9f3a02646ba0be84a2d Mon Sep 17 00:00:00 2001 +From: Daniel Vetter +Date: Tue, 24 Sep 2013 11:46:14 +0200 +Subject: drm/i915: preserve pipe A quirk in i9xx_set_pipeconf + +From: Daniel Vetter + +commit 67c72a12254101d4e8d9b9f3a02646ba0be84a2d upstream. + +This regression has been introduced in + +commit 9f11a9e4e50006b615ba94722dfc33ced89664cf +Author: Daniel Vetter +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 +Cc: Chris Wilson +Cc: Ville Syrjälä +Reviewed-by: Chris Wilson +[danvet: Use |= instead of = as suggested by Chris.] +Signed-off-by: Daniel Vetter +Signed-off-by: Greg Kroah-Hartman + +--- + 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 +@@ -4564,6 +4564,10 @@ static void i9xx_set_pipeconf(struct int + + pipeconf = I915_READ(PIPECONF(intel_crtc->pipe)); + ++ 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. diff --git a/queue-3.10/series b/queue-3.10/series index e713bf6fbe9..afd0a7749dd 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -39,3 +39,5 @@ 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 dm-raid-silence-compiler-warning-on-rebuilds_per_group.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 -- 2.47.3