Jesse Keating 3494df0
Subject: [PATCH] [intel_iommu] Default to igfx_off
Jesse Keating 3494df0
From: drago01 <drago01@gmail.com>
Jesse Keating 3494df0
To: fedora-kernel-list <fedora-kernel-list@redhat.com>
Jesse Keating 3494df0
Jesse Keating 3494df0
This option seems to causes way to many issues, it is
Jesse Keating 3494df0
being investigated by Intel's chipset team for months now and
Jesse Keating 3494df0
we still don't have any outcome.
Jesse Keating 3494df0
Jesse Keating 3494df0
The results so far are "black screen when starting X",
Jesse Keating 3494df0
"system hangs when using GL", "system does not resume".
Jesse Keating 3494df0
Jesse Keating 3494df0
The patch adds an intel_iommu=igfx_on option, which makes it opt in,
Jesse Keating 3494df0
rather than opt out.
Jesse Keating 3494df0
Jesse Keating 3494df0
Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com>
Jesse Keating 3494df0
Reviewed-by: Adam Jackson <ajax@redhat.com>
Jesse Keating 3494df0
---
Jesse Keating 3494df0
 Documentation/kernel-parameters.txt |   11 +++++------
Jesse Keating 3494df0
 drivers/pci/intel-iommu.c           |    9 +++++----
Jesse Keating 3494df0
 2 files changed, 10 insertions(+), 10 deletions(-)
Jesse Keating 3494df0
Jesse Keating 3494df0
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
Jesse Keating 3494df0
index e7848a0..9914485 100644
Jesse Keating 3494df0
--- a/Documentation/kernel-parameters.txt
Jesse Keating 3494df0
+++ b/Documentation/kernel-parameters.txt
Jesse Keating 3494df0
@@ -992,12 +992,11 @@ and is between 256 and 4096 characters. It is defined in the file
Jesse Keating 3494df0
 			Enable intel iommu driver.
Jesse Keating 3494df0
 		off
Jesse Keating 3494df0
 			Disable intel iommu driver.
Jesse Keating 3494df0
-		igfx_off [Default Off]
Jesse Keating 3494df0
-			By default, gfx is mapped as normal device. If a gfx
Jesse Keating 3494df0
-			device has a dedicated DMAR unit, the DMAR unit is
Jesse Keating 3494df0
-			bypassed by not enabling DMAR with this option. In
Jesse Keating 3494df0
-			this case, gfx device will use physical address for
Jesse Keating 3494df0
-			DMA.
Jesse Keating 3494df0
+		igfx_on [Default Off]
Jesse Keating 3494df0
+			By default, the gfx's DMAR unit is bypassed by not enabling
Jesse Keating 3494df0
+			DMAR with this option. So the gfx device will use physical
Jesse Keating 3494df0
+			address for DMA. When this option is enabled it the gfx is
Jesse Keating 3494df0
+			mapped as normal device.
Jesse Keating 3494df0
 		forcedac [x86_64]
Jesse Keating 3494df0
 			With this option iommu will not optimize to look
Jesse Keating 3494df0
 			for io virtual address below 32 bit forcing dual
Jesse Keating 3494df0
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
Jesse Keating 3494df0
index 4173125..8f36786 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,8 @@ int dmar_disabled = 0;
Jesse Keating 3494df0
 int dmar_disabled = 1;
Jesse Keating 3494df0
 #endif /*CONFIG_DMAR_DEFAULT_ON*/
Jesse Keating 3494df0
Chuck Ebbert b5010d0
-static int __initdata dmar_map_gfx = 1;
Jesse Keating 3494df0
+/* disabled by default; causes way too many issues */
Jesse Keating 3494df0
+static int dmar_map_gfx = 0;
Jesse Keating 3494df0
 static int dmar_forcedac;
Jesse Keating 3494df0
 static int intel_iommu_strict;
Jesse Keating 3494df0
Jesse Keating 3494df0
@@ -361,10 +362,10 @@ static int __init intel_iommu_setup(char *str)
Jesse Keating 3494df0
 		} else if (!strncmp(str, "off", 3)) {
Jesse Keating 3494df0
 			dmar_disabled = 1;
Jesse Keating 3494df0
 			printk(KERN_INFO "Intel-IOMMU: disabled\n");
Jesse Keating 3494df0
-		} else if (!strncmp(str, "igfx_off", 8)) {
Jesse Keating 3494df0
-			dmar_map_gfx = 0;
Jesse Keating 3494df0
+		} else if (!strncmp(str, "igfx_on", 7)) {
Jesse Keating 3494df0
+			dmar_map_gfx = 1;
Jesse Keating 3494df0
 			printk(KERN_INFO
Jesse Keating 3494df0
-				"Intel-IOMMU: disable GFX device mapping\n");
Jesse Keating 3494df0
+				"Intel-IOMMU: enabled GFX device mapping\n");
Jesse Keating 3494df0
 		} else if (!strncmp(str, "forcedac", 8)) {
Jesse Keating 3494df0
 			printk(KERN_INFO
Jesse Keating 3494df0
 				"Intel-IOMMU: Forcing DAC for PCI devices\n");
Jesse Keating 3494df0
-- 
Jesse Keating 3494df0
1.6.6.1
Jesse Keating 3494df0
_______________________________________________
Jesse Keating 3494df0
kernel mailing list
Jesse Keating 3494df0
kernel@lists.fedoraproject.org
Jesse Keating 3494df0
https://admin.fedoraproject.org/mailman/listinfo/kernel
Jesse Keating 3494df0