[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