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