[kernel] r16709 - in dists/sid/linux-2.6/debian: . patches/bugfix/x86 patches/series
Ben Hutchings
benh at alioth.debian.org
Wed Dec 15 04:11:21 UTC 2010
Author: benh
Date: Wed Dec 15 04:11:15 2010
New Revision: 16709
Log:
intel-iommu: Force-disable IOMMU for iGFX on broken Cantiga revisions (Closes: #607095)
Added:
dists/sid/linux-2.6/debian/patches/bugfix/x86/intel-iommu-Force-disable-IOMMU-for-iGFX-on-broken-C.patch
Modified:
dists/sid/linux-2.6/debian/changelog
dists/sid/linux-2.6/debian/patches/series/30
Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog Wed Dec 15 03:57:48 2010 (r16708)
+++ dists/sid/linux-2.6/debian/changelog Wed Dec 15 04:11:15 2010 (r16709)
@@ -5,6 +5,8 @@
* mpt2sas: Fix incorrect scsi_dma_map error checking (Closes: #606968)
* Update Spanish debconf template translation (Omar Campagne, Javier
Fernández-Sanguino) (Really closes: #600694)
+ * intel-iommu: Force-disable IOMMU for iGFX on broken Cantiga revisions
+ (Closes: #607095)
-- Ben Hutchings <ben at decadent.org.uk> Sun, 12 Dec 2010 03:23:48 +0000
Added: dists/sid/linux-2.6/debian/patches/bugfix/x86/intel-iommu-Force-disable-IOMMU-for-iGFX-on-broken-C.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/x86/intel-iommu-Force-disable-IOMMU-for-iGFX-on-broken-C.patch Wed Dec 15 04:11:15 2010 (r16709)
@@ -0,0 +1,50 @@
+From: David Woodhouse <David.Woodhouse at intel.com>
+Date: Tue, 15 Jun 2010 10:57:57 +0100
+Subject: [PATCH] intel-iommu: Force-disable IOMMU for iGFX on broken Cantiga revisions.
+
+commit 2d9e667efdfb4e986074d98e7d9a424003c7c43b upstream.
+
+Certain revisions of this chipset appear to be broken. There is a shadow
+GTT which mirrors the real GTT but contains pre-translated physical
+addresses, for performance reasons. When a GTT update happens, the
+translations are done once and the resulting physical addresses written
+back to the shadow GTT.
+
+Except sometimes, the physical address is actually written back to the
+_real_ GTT, not the shadow GTT. Thus we start to see faults when that
+physical address is fed through translation again.
+
+Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
+---
+ drivers/pci/intel-iommu.c | 8 +++++++-
+ 1 files changed, 7 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
+index bf8fd91..c9171be 100644
+--- a/drivers/pci/intel-iommu.c
++++ b/drivers/pci/intel-iommu.c
+@@ -340,7 +340,7 @@ int dmar_disabled = 0;
+ int dmar_disabled = 1;
+ #endif /*CONFIG_DMAR_DEFAULT_ON*/
+
+-static int __initdata dmar_map_gfx = 1;
++static int dmar_map_gfx = 1;
+ static int dmar_forcedac;
+ static int intel_iommu_strict;
+
+@@ -3721,6 +3721,12 @@ static void __devinit quirk_iommu_rwbf(struct pci_dev *dev)
+ */
+ printk(KERN_INFO "DMAR: Forcing write-buffer flush capability\n");
+ rwbf_quirk = 1;
++
++ /* https://bugzilla.redhat.com/show_bug.cgi?id=538163 */
++ if (dev->revision == 0x07) {
++ printk(KERN_INFO "DMAR: Disabling IOMMU for graphics on this chipset\n");
++ dmar_map_gfx = 0;
++ }
+ }
+
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_rwbf);
+--
+1.7.2.3
+
Modified: dists/sid/linux-2.6/debian/patches/series/30
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/30 Wed Dec 15 03:57:48 2010 (r16708)
+++ dists/sid/linux-2.6/debian/patches/series/30 Wed Dec 15 04:11:15 2010 (r16709)
@@ -1,2 +1,3 @@
+ bugfix/all/NFS-Fix-panic-after-nfs_umount.patch
+ bugfix/all/SCSI-mpt2sas-fix-incorrect-scsi_dma_map-error-check.patch
++ bugfix/x86/intel-iommu-Force-disable-IOMMU-for-iGFX-on-broken-C.patch
More information about the Kernel-svn-changes
mailing list