sharkcz / rpms / kernel

Forked from rpms/kernel 6 years ago
Clone
Jesse Keating 3494df0
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
Jesse Keating 3494df0
index 4173125..baa32a0 100644
Jesse Keating 3494df0
--- a/drivers/pci/intel-iommu.c
Jesse Keating 3494df0
+++ b/drivers/pci/intel-iommu.c
Jesse Keating 3494df0
@@ -340,7 +340,7 @@ int dmar_disabled = 0;
Jesse Keating 3494df0
 int dmar_disabled = 1;
Jesse Keating 3494df0
 #endif /*CONFIG_DMAR_DEFAULT_ON*/
Jesse Keating 3494df0
 
Jesse Keating 3494df0
-static int __initdata dmar_map_gfx = 1;
Jesse Keating 3494df0
+static int dmar_map_gfx = 1;
Jesse Keating 3494df0
 static int dmar_forcedac;
Jesse Keating 3494df0
 static int intel_iommu_strict;
Jesse Keating 3494df0
 
Jesse Keating 3494df0
@@ -3728,6 +3728,12 @@ static void __devinit quirk_iommu_rwbf(struct pci_dev *dev)
Jesse Keating 3494df0
 	 */
Jesse Keating 3494df0
 	printk(KERN_INFO "DMAR: Forcing write-buffer flush capability\n");
Jesse Keating 3494df0
 	rwbf_quirk = 1;
Jesse Keating 3494df0
+
Jesse Keating 3494df0
+	/* https://bugzilla.redhat.com/show_bug.cgi?id=538163 */
Jesse Keating 3494df0
+	if (dev->revision == 0x07) {
Jesse Keating 3494df0
+		printk(KERN_INFO "DMAR: Disabling IOMMU for graphics on this chipset\n");
Jesse Keating 3494df0
+		dmar_map_gfx = 0;
Jesse Keating 3494df0
+	}
Jesse Keating 3494df0
 }
Jesse Keating 3494df0
 
Jesse Keating 3494df0
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_rwbf);