rpms/kernel/devel i915-fix-crt-hotplug-regression.patch, 1.1, 1.2 patch-2.6.35-rc3-git3.bz2.sign, NONE, 1.1 .cvsignore, 1.1203, 1.1204 kernel.spec, 1.2051, 1.2052 sources, 1.1160, 1.1161 upstream, 1.1072, 1.1073 patch-2.6.35-rc3-git2.bz2.sign, 1.1, NONE

Kyle McMartin kyle at fedoraproject.org
Tue Jun 29 07:41:16 UTC 2010


Author: kyle

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv12388

Modified Files:
	.cvsignore kernel.spec sources upstream 
Added Files:
	i915-fix-crt-hotplug-regression.patch 
	patch-2.6.35-rc3-git3.bz2.sign 
Removed Files:
	patch-2.6.35-rc3-git2.bz2.sign 
Log Message:
* Tue Jun 29 2010 Kyle McMartin <kyle at redhat.com> 2.6.35-0.15.rc3.git3
- 2.6.35-rc3-git3
- i915-fix-crt-hotplug-regression.patch: attempt to solve the gm45 hotplug
  irq storm.


i915-fix-crt-hotplug-regression.patch:
 i915_irq.c  |   12 +++++++++++-
 i915_reg.h  |    1 -
 intel_crt.c |    7 -------
 3 files changed, 11 insertions(+), 9 deletions(-)

Index: i915-fix-crt-hotplug-regression.patch
===================================================================
RCS file: i915-fix-crt-hotplug-regression.patch
diff -N i915-fix-crt-hotplug-regression.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ i915-fix-crt-hotplug-regression.patch	29 Jun 2010 07:41:14 -0000	1.2
@@ -0,0 +1,85 @@
+From dec23057518b7035117a1a732aa48be6d34f1be8 Mon Sep 17 00:00:00 2001
+From: Andrew Lutomirski <luto at mit.edu>
+Date: Sat, 12 Jun 2010 09:21:18 +0000
+Subject: i915: Fix CRT hotplug regression in 2.6.35-rc1
+
+Commit 7a772c492fcfffae812ffca78a628e76fa57fe58 has two bugs which
+made the hotplug problems on my laptop worse instead of better.
+
+First, it did not, in fact, disable the CRT plug interrupt -- it
+disabled all the other hotplug interrupts.  It seems rather doubtful
+that that bit of the patch fixed anything, so let's just remove it.
+(If you want to add it back, you probably meant ~CRT_HOTPLUG_INT_EN.)
+
+Second, on at least my GM45, setting CRT_HOTPLUG_ACTIVATION_PERIOD_64
+and CRT_HOTPLUG_VOLTAGE_COMPARE_50 (when they were previously unset)
+causes a hotplug interrupt about three seconds later.  The old code
+never restored PORT_HOTPLUG_EN so this could only happen once, but
+they new code restores those registers.  So just set those bits when
+we set up the interrupt in the first place.
+
+Signed-off-by: Andy Lutomirski <luto at mit.edu>
+---
+ drivers/gpu/drm/i915/i915_irq.c  |   12 +++++++++++-
+ drivers/gpu/drm/i915/i915_reg.h  |    1 -
+ drivers/gpu/drm/i915/intel_crt.c |    6 ------
+ 3 files changed, 11 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
+index 2479be0..7acb1a6 100644
+--- a/drivers/gpu/drm/i915/i915_irq.c
++++ b/drivers/gpu/drm/i915/i915_irq.c
+@@ -1400,8 +1400,18 @@ int i915_driver_irq_postinstall(struct drm_device *dev)
+ 			hotplug_en |= SDVOC_HOTPLUG_INT_EN;
+ 		if (dev_priv->hotplug_supported_mask & SDVOB_HOTPLUG_INT_STATUS)
+ 			hotplug_en |= SDVOB_HOTPLUG_INT_EN;
+-		if (dev_priv->hotplug_supported_mask & CRT_HOTPLUG_INT_STATUS)
++		if (dev_priv->hotplug_supported_mask & CRT_HOTPLUG_INT_STATUS) {
+ 			hotplug_en |= CRT_HOTPLUG_INT_EN;
++
++			/* Programming the CRT detection parameters tends
++			   to generate a spurious hotplug event about three
++			   seconds later.  So just do it once.
++			*/
++			if (IS_G4X(dev))
++				hotplug_en |= CRT_HOTPLUG_ACTIVATION_PERIOD_64;
++			hotplug_en |= CRT_HOTPLUG_VOLTAGE_COMPARE_50;
++		}
++
+ 		/* Ignore TV since it's buggy */
+ 
+ 		I915_WRITE(PORT_HOTPLUG_EN, hotplug_en);
+diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
+index 64b0a3a..d390b17 100644
+--- a/drivers/gpu/drm/i915/i915_reg.h
++++ b/drivers/gpu/drm/i915/i915_reg.h
+@@ -1130,7 +1130,6 @@
+ #define CRT_HOTPLUG_DETECT_DELAY_2G		(1 << 4)
+ #define CRT_HOTPLUG_DETECT_VOLTAGE_325MV	(0 << 2)
+ #define CRT_HOTPLUG_DETECT_VOLTAGE_475MV	(1 << 2)
+-#define CRT_HOTPLUG_MASK			(0x3fc) /* Bits 9-2 */
+ 
+ #define PORT_HOTPLUG_STAT	0x61114
+ #define   HDMIB_HOTPLUG_INT_STATUS		(1 << 29)
+diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
+index 22ff384..ee0732b 100644
+--- a/drivers/gpu/drm/i915/intel_crt.c
++++ b/drivers/gpu/drm/i915/intel_crt.c
+@@ -234,14 +234,8 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector)
+ 	else
+ 		tries = 1;
+ 	hotplug_en = orig = I915_READ(PORT_HOTPLUG_EN);
+-	hotplug_en &= CRT_HOTPLUG_MASK;
+ 	hotplug_en |= CRT_HOTPLUG_FORCE_DETECT;
+ 
+-	if (IS_G4X(dev))
+-		hotplug_en |= CRT_HOTPLUG_ACTIVATION_PERIOD_64;
+-
+-	hotplug_en |= CRT_HOTPLUG_VOLTAGE_COMPARE_50;
+-
+ 	for (i = 0; i < tries ; i++) {
+ 		unsigned long timeout;
+ 		/* turn on the FORCE_DETECT */
+-- 
+1.7.0.1
+


--- NEW FILE patch-2.6.35-rc3-git3.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info

iD8DBQBMKTh0yGugalF9Dw4RAgFuAJ43gn5qGOPUjNr9tHKlRU2qKSkiuACfW8h3
BGuoZnifZyRfxhhhUl8cRMA=
=wnSX
-----END PGP SIGNATURE-----


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/.cvsignore,v
retrieving revision 1.1203
retrieving revision 1.1204
diff -u -p -r1.1203 -r1.1204
--- .cvsignore	28 Jun 2010 19:16:50 -0000	1.1203
+++ .cvsignore	29 Jun 2010 07:41:14 -0000	1.1204
@@ -8,4 +8,4 @@ logs
 kernel-2.6.34
 linux-2.6.34.tar.bz2
 patch-2.6.35-rc3.bz2
-patch-2.6.35-rc3-git2.bz2
+patch-2.6.35-rc3-git3.bz2


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.2051
retrieving revision 1.2052
diff -u -p -r1.2051 -r1.2052
--- kernel.spec	29 Jun 2010 03:48:49 -0000	1.2051
+++ kernel.spec	29 Jun 2010 07:41:15 -0000	1.2052
@@ -82,7 +82,7 @@ Summary: The Linux kernel
 # The rc snapshot level
 %define rcrev 3
 # The git snapshot level
-%define gitrev 2
+%define gitrev 3
 # Set rpm version accordingly
 %define rpmversion 2.6.%{upstream_sublevel}
 %endif
@@ -653,6 +653,7 @@ Patch1555: fix_xen_guest_on_old_EC2.patc
 # DRM
 Patch1801: drm-revert-drm-fbdev-rework-output-polling-to-be-back-in-core.patch
 Patch1802: revert-drm-kms-toggle-poll-around-switcheroo.patch
+Patch1803: i915-fix-crt-hotplug-regression.patch
 # nouveau + drm fixes
 Patch1815: drm-nouveau-drm-fixed-header.patch
 Patch1819: drm-intel-big-hammer.patch
@@ -1220,8 +1221,9 @@ ApplyPatch hdpvr-ir-enable.patch
 # Assorted Virt Fixes
 ApplyPatch fix_xen_guest_on_old_EC2.patch
 
-ApplyPatch drm-revert-drm-fbdev-rework-output-polling-to-be-back-in-core.patch
-ApplyPatch revert-drm-kms-toggle-poll-around-switcheroo.patch
+ApplyPatch i915-fix-crt-hotplug-regression.patch
+#ApplyPatch drm-revert-drm-fbdev-rework-output-polling-to-be-back-in-core.patch
+#ApplyPatch revert-drm-kms-toggle-poll-around-switcheroo.patch
 ApplyPatch drm-i915-fix-edp-panels.patch
 
 # Nouveau DRM + drm fixes
@@ -1884,6 +1886,11 @@ fi
 #                 ||     ||
 
 %changelog
+* Tue Jun 29 2010 Kyle McMartin <kyle at redhat.com> 2.6.35-0.15.rc3.git3
+- 2.6.35-rc3-git3
+- i915-fix-crt-hotplug-regression.patch: attempt to solve the gm45 hotplug
+  irq storm.
+
 * Mon Jun 28 2010 Chuck Ebbert <cebbert at redhat.com>
 - ppc64: enable active memory sharing and DLPAR memory remove (#607175)
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/sources,v
retrieving revision 1.1160
retrieving revision 1.1161
diff -u -p -r1.1160 -r1.1161
--- sources	28 Jun 2010 19:16:51 -0000	1.1160
+++ sources	29 Jun 2010 07:41:15 -0000	1.1161
@@ -1,3 +1,3 @@
 10eebcb0178fb4540e2165bfd7efc7ad  linux-2.6.34.tar.bz2
 fd4e7c247199c9178ef4a9c7dc52dd3c  patch-2.6.35-rc3.bz2
-a266a405400ccda5f8ea81636273b0e3  patch-2.6.35-rc3-git2.bz2
+74c25b336d9afa24c67be35b3949504e  patch-2.6.35-rc3-git3.bz2


Index: upstream
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/upstream,v
retrieving revision 1.1072
retrieving revision 1.1073
diff -u -p -r1.1072 -r1.1073
--- upstream	28 Jun 2010 19:16:51 -0000	1.1072
+++ upstream	29 Jun 2010 07:41:15 -0000	1.1073
@@ -1,3 +1,3 @@
 linux-2.6.34.tar.bz2
 patch-2.6.35-rc3.bz2
-patch-2.6.35-rc3-git2.bz2
+patch-2.6.35-rc3-git3.bz2


--- patch-2.6.35-rc3-git2.bz2.sign DELETED ---



More information about the scm-commits mailing list