kernel/linux-2.6-intel-iommu-igfx.patch

76 lines
2.8 KiB
Diff
Raw Normal View History

2012-01-20 02:29:56 +00:00
From 602e1f209dd983e40d989e871cd253e8187899b8 Mon Sep 17 00:00:00 2001
2010-07-29 23:46:31 +00:00
From: drago01 <drago01@gmail.com>
2012-01-20 02:29:56 +00:00
Date: Wed, 26 Oct 2011 13:37:27 -0400
Subject: [PATCH] Default to igfx_off
2010-07-29 23:46:31 +00:00
This option seems to causes way to many issues, it is
being investigated by Intel's chipset team for months now and
we still don't have any outcome.
The results so far are "black screen when starting X",
"system hangs when using GL", "system does not resume".
The patch adds an intel_iommu=igfx_on option, which makes it opt in,
rather than opt out.
Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
---
Documentation/kernel-parameters.txt | 11 +++++------
2012-01-20 02:29:56 +00:00
drivers/iommu/intel-iommu.c | 9 +++++----
2010-07-29 23:46:31 +00:00
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
2012-01-20 02:29:56 +00:00
index 81c287f..ee5693b 100644
2010-07-29 23:46:31 +00:00
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
2012-01-20 02:29:56 +00:00
@@ -1014,12 +1014,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
2010-07-29 23:46:31 +00:00
Enable intel iommu driver.
off
Disable intel iommu driver.
- igfx_off [Default Off]
- By default, gfx is mapped as normal device. If a gfx
- device has a dedicated DMAR unit, the DMAR unit is
- bypassed by not enabling DMAR with this option. In
- this case, gfx device will use physical address for
- DMA.
+ igfx_on [Default Off]
+ By default, the gfx's DMAR unit is bypassed by not enabling
+ DMAR with this option. So the gfx device will use physical
+ address for DMA. When this option is enabled it the gfx is
+ mapped as normal device.
forcedac [x86_64]
With this option iommu will not optimize to look
2012-01-20 02:29:56 +00:00
for io virtual address below 32-bit forcing dual
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index bdc447f..240db6b 100644
2011-08-16 14:32:18 +00:00
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
2012-01-20 02:29:56 +00:00
@@ -408,7 +408,8 @@ int dmar_disabled = 1;
int intel_iommu_enabled = 0;
EXPORT_SYMBOL_GPL(intel_iommu_enabled);
2010-07-29 23:46:31 +00:00
-static int dmar_map_gfx = 1;
+/* disabled by default; causes way too many issues */
+static int dmar_map_gfx = 0;
static int dmar_forcedac;
static int intel_iommu_strict;
2012-01-20 02:29:56 +00:00
static int intel_iommu_superpage = 1;
@@ -433,10 +434,10 @@ static int __init intel_iommu_setup(char *str)
2010-07-29 23:46:31 +00:00
} else if (!strncmp(str, "off", 3)) {
dmar_disabled = 1;
printk(KERN_INFO "Intel-IOMMU: disabled\n");
- } else if (!strncmp(str, "igfx_off", 8)) {
- dmar_map_gfx = 0;
+ } else if (!strncmp(str, "igfx_on", 7)) {
+ dmar_map_gfx = 1;
printk(KERN_INFO
- "Intel-IOMMU: disable GFX device mapping\n");
+ "Intel-IOMMU: enabled GFX device mapping\n");
} else if (!strncmp(str, "forcedac", 8)) {
printk(KERN_INFO
"Intel-IOMMU: Forcing DAC for PCI devices\n");
--
2012-01-20 02:29:56 +00:00
1.7.7.4
2010-07-29 23:46:31 +00:00