| From 602e1f209dd983e40d989e871cd253e8187899b8 Mon Sep 17 00:00:00 2001 |
| From: drago01 <drago01@gmail.com> |
| Date: Wed, 26 Oct 2011 13:37:27 -0400 |
| Subject: [PATCH] Default to igfx_off |
| |
| 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 +++++------ |
| drivers/iommu/intel-iommu.c | 9 +++++---- |
| 2 files changed, 10 insertions(+), 10 deletions(-) |
| |
| diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt |
| index 81c287f..ee5693b 100644 |
| |
| |
| @@ -1014,12 +1014,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. |
| 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 |
| 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 |
| |
| |
| @@ -408,7 +408,8 @@ int dmar_disabled = 1; |
| int intel_iommu_enabled = 0; |
| EXPORT_SYMBOL_GPL(intel_iommu_enabled); |
| |
| -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; |
| static int intel_iommu_superpage = 1; |
| @@ -433,10 +434,10 @@ static int __init intel_iommu_setup(char *str) |
| } 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"); |
| -- |
| 1.7.7.4 |
| |