From: Greg Kroah-Hartman Date: Thu, 9 May 2013 19:19:05 +0000 (-0700) Subject: 3.0-stable patches X-Git-Tag: v3.9.2~41 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9390cdd4e4c43e120398d104924e1659dd6a17c4;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: drm-i915-fall-back-to-bit-banging-mode-for-dvo-transmitter-detection.patch --- diff --git a/queue-3.0/drm-i915-fall-back-to-bit-banging-mode-for-dvo-transmitter-detection.patch b/queue-3.0/drm-i915-fall-back-to-bit-banging-mode-for-dvo-transmitter-detection.patch new file mode 100644 index 00000000000..02b85776272 --- /dev/null +++ b/queue-3.0/drm-i915-fall-back-to-bit-banging-mode-for-dvo-transmitter-detection.patch @@ -0,0 +1,55 @@ +From e4bfff54ed3f5de88f5358504c78c2cb037813aa Mon Sep 17 00:00:00 2001 +From: David Müller +Date: Fri, 19 Apr 2013 10:41:50 +0200 +Subject: drm/i915: Fall back to bit banging mode for DVO transmitter detection + +From: David Müller + +commit e4bfff54ed3f5de88f5358504c78c2cb037813aa upstream. + +As discussed in this thread +http://lists.freedesktop.org/archives/dri-devel/2013-April/037411.html +GMBUS based DVO transmitter detection seems to be unreliable which could +result in an unusable DVO port. + +The attached patch fixes this by falling back to bit banging mode for +the time DVO transmitter detection is in progress. + +Signed-off-by: David Müller +Tested-by: David Müller +Signed-off-by: Daniel Vetter +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/i915/intel_dvo.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/i915/intel_dvo.c ++++ b/drivers/gpu/drm/i915/intel_dvo.c +@@ -371,6 +371,7 @@ void intel_dvo_init(struct drm_device *d + const struct intel_dvo_device *dvo = &intel_dvo_devices[i]; + struct i2c_adapter *i2c; + int gpio; ++ bool dvoinit; + + /* Allow the I2C driver info to specify the GPIO to be used in + * special cases, but otherwise default to what's defined +@@ -390,7 +391,17 @@ void intel_dvo_init(struct drm_device *d + i2c = &dev_priv->gmbus[gpio].adapter; + + intel_dvo->dev = *dvo; +- if (!dvo->dev_ops->init(&intel_dvo->dev, i2c)) ++ ++ /* GMBUS NAK handling seems to be unstable, hence let the ++ * transmitter detection run in bit banging mode for now. ++ */ ++ intel_gmbus_force_bit(i2c, true); ++ ++ dvoinit = dvo->dev_ops->init(&intel_dvo->dev, i2c); ++ ++ intel_gmbus_force_bit(i2c, false); ++ ++ if (!dvoinit) + continue; + + intel_encoder->type = INTEL_OUTPUT_DVO; diff --git a/queue-3.0/series b/queue-3.0/series index 5560da34f51..2b7274eb448 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -2,3 +2,4 @@ powerpc-fix-numa-distance-for-form0-device-tree.patch autofs-remove-autofs-dentry-mount-check.patch ipvs-ip_vs_sip_fill_param-bug-bad-check-of-return-value.patch drm-i915-add-no-lvds-quirk-for-fujitsu-esprimo-q900.patch +drm-i915-fall-back-to-bit-banging-mode-for-dvo-transmitter-detection.patch