summaryrefslogtreecommitdiffstats
path: root/linux-2.6-cantiga-iommu-gfx.patch
diff options
context:
space:
mode:
Diffstat (limited to 'linux-2.6-cantiga-iommu-gfx.patch')
-rw-r--r--linux-2.6-cantiga-iommu-gfx.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/linux-2.6-cantiga-iommu-gfx.patch b/linux-2.6-cantiga-iommu-gfx.patch
new file mode 100644
index 0000000..a18e38b
--- /dev/null
+++ b/linux-2.6-cantiga-iommu-gfx.patch
@@ -0,0 +1,26 @@
+diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
+index 4173125..baa32a0 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;
+
+@@ -3728,6 +3728,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);