[kernel/f13/master] Fix AGP aperture size detection on Intel G33/Q35 chipsets (#629203)
Chuck Ebbert
cebbert at fedoraproject.org
Mon Sep 20 12:18:31 UTC 2010
commit 487e4d78da3cf3debe4bebc1022cda5e5196142d
Author: Chuck Ebbert <cebbert at redhat.com>
Date: Mon Sep 20 08:17:37 2010 -0400
Fix AGP aperture size detection on Intel G33/Q35 chipsets (#629203)
...correct-mask-to-detect-i830-aperture-size.patch | 62 ++++++++++++++++++++
kernel.spec | 6 ++
2 files changed, 68 insertions(+), 0 deletions(-)
---
diff --git a/agp-intel-use-the-correct-mask-to-detect-i830-aperture-size.patch b/agp-intel-use-the-correct-mask-to-detect-i830-aperture-size.patch
new file mode 100644
index 0000000..0850df6
--- /dev/null
+++ b/agp-intel-use-the-correct-mask-to-detect-i830-aperture-size.patch
@@ -0,0 +1,62 @@
+From: Tim Gardner <tim.gardner at canonical.com>
+Date: Fri, 9 Jul 2010 20:48:50 +0000 (-0600)
+Subject: agp/intel: Use the correct mask to detect i830 aperture size.
+X-Git-Tag: v2.6.35~33^2~4
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=e7b96f28c58ca09f15f6c2e8ccbb889a30fab4f7
+
+agp/intel: Use the correct mask to detect i830 aperture size.
+
+BugLink: https://bugs.launchpad.net/bugs/597075
+
+commit f1befe71fa7a79ab733011b045639d8d809924ad introduced a
+regression when detecting aperture size of some i915 adapters, e.g.,
+those on the Intel Q35 chipset.
+
+The original report: https://bugzilla.kernel.org/show_bug.cgi?id=15733
+The regression report: https://bugzilla.kernel.org/show_bug.cgi?id=16294
+
+According to the specification found at
+http://intellinuxgraphics.org/VOL_1_graphics_core.pdf, the PCI config
+space register I830_GMCH_CTRL is a mirror of GMCH Graphics
+Control. The correct macro for isolating the aperture size bits is
+therefore I830_GMCH_GMS_MASK along with the attendant changes to the
+case statement.
+
+Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
+Tested-by: Kees Cook <kees.cook at canonical.com>
+Cc: Chris Wilson <chris at chris-wilson.co.uk>
+Cc: Eric Anholt <eric at anholt.net>
+Cc: Jesse Barnes <jbarnes at virtuousgeek.org>
+Signed-off-by: Eric Anholt <eric at anholt.net>
+---
+
+diff --git a/drivers/char/agp/intel-gtt.c b/drivers/char/agp/intel-gtt.c
+index 9344216..a754715 100644
+--- a/drivers/char/agp/intel-gtt.c
++++ b/drivers/char/agp/intel-gtt.c
+@@ -1216,17 +1216,20 @@ static int intel_i915_get_gtt_size(void)
+
+ /* G33's GTT size defined in gmch_ctrl */
+ pci_read_config_word(agp_bridge->dev, I830_GMCH_CTRL, &gmch_ctrl);
+- switch (gmch_ctrl & G33_PGETBL_SIZE_MASK) {
+- case G33_PGETBL_SIZE_1M:
++ switch (gmch_ctrl & I830_GMCH_GMS_MASK) {
++ case I830_GMCH_GMS_STOLEN_512:
++ size = 512;
++ break;
++ case I830_GMCH_GMS_STOLEN_1024:
+ size = 1024;
+ break;
+- case G33_PGETBL_SIZE_2M:
+- size = 2048;
++ case I830_GMCH_GMS_STOLEN_8192:
++ size = 8*1024;
+ break;
+ default:
+ dev_info(&agp_bridge->dev->dev,
+ "unknown page table size 0x%x, assuming 512KB\n",
+- (gmch_ctrl & G33_PGETBL_SIZE_MASK));
++ (gmch_ctrl & I830_GMCH_GMS_MASK));
+ size = 512;
+ }
+ } else {
diff --git a/kernel.spec b/kernel.spec
index 057bb36..9f52838 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -713,6 +713,7 @@ Patch1826: drm-radeon-resume-fixes.patch
Patch1830: drm-i915-explosion-following-oom-in-do_execbuffer.patch
Patch1900: linux-2.6-intel-iommu-igfx.patch
Patch1901: drm-nouveau-acpi-edid-fix.patch
+Patch1902: agp-intel-use-the-correct-mask-to-detect-i830-aperture-size.patch
# radeon
# linux1394 git patches
@@ -1404,6 +1405,8 @@ ApplyPatch drm-intel-big-hammer.patch
ApplyOptionalPatch drm-intel-next.patch
ApplyPatch drm-intel-make-lvds-work.patch
ApplyPatch drm-i915-explosion-following-oom-in-do_execbuffer.patch
+# broken in 2.6.35-rc2, fixed in 2.6.35, but our drm-next snapshot has the bug
+ApplyPatch agp-intel-use-the-correct-mask-to-detect-i830-aperture-size.patch
ApplyPatch drm-radeon-resume-fixes.patch
ApplyPatch linux-2.6-intel-iommu-igfx.patch
@@ -2146,6 +2149,9 @@ fi
%changelog
+* Mon Sep 20 2010 Chuck Ebbert <cebbert at redhat.com>
+- Fix AGP aperture size detection on Intel G33/Q35 chipsets (#629203)
+
* Tue Sep 14 2010 Chuck Ebbert <cebbert at redhat.com> 2.6.34.7-57
- Fix CVE-2010-3079: ftrace NULL pointer dereference
More information about the scm-commits
mailing list