Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
[pandora-kernel.git] / arch / x86 / kernel / pci-dma_64.c
index afaf9f1..5552d23 100644 (file)
@@ -7,11 +7,12 @@
 #include <linux/string.h>
 #include <linux/pci.h>
 #include <linux/module.h>
+#include <linux/dmar.h>
 #include <asm/io.h>
-#include <asm/iommu.h>
+#include <asm/gart.h>
 #include <asm/calgary.h>
 
-int iommu_merge __read_mostly = 1;
+int iommu_merge __read_mostly = 0;
 EXPORT_SYMBOL(iommu_merge);
 
 dma_addr_t bad_dma_address __read_mostly;
@@ -274,7 +275,7 @@ __init int iommu_setup(char *p)
                        swiotlb = 1;
 #endif
 
-#ifdef CONFIG_IOMMU
+#ifdef CONFIG_GART_IOMMU
                gart_parse_options(p);
 #endif
 
@@ -297,14 +298,16 @@ void __init pci_iommu_alloc(void)
         * The order of these functions is important for
         * fall-back/fail-over reasons
         */
-#ifdef CONFIG_IOMMU
-       iommu_hole_init();
+#ifdef CONFIG_GART_IOMMU
+       gart_iommu_hole_init();
 #endif
 
 #ifdef CONFIG_CALGARY_IOMMU
        detect_calgary();
 #endif
 
+       detect_intel_iommu();
+
 #ifdef CONFIG_SWIOTLB
        pci_swiotlb_init();
 #endif
@@ -316,7 +319,9 @@ static int __init pci_iommu_init(void)
        calgary_iommu_init();
 #endif
 
-#ifdef CONFIG_IOMMU
+       intel_iommu_init();
+
+#ifdef CONFIG_GART_IOMMU
        gart_iommu_init();
 #endif