Merge branch 'x86/urgent' into x86/iommu
authorIngo Molnar <mingo@elte.hu>
Mon, 1 Dec 2008 19:36:13 +0000 (20:36 +0100)
committerIngo Molnar <mingo@elte.hu>
Mon, 1 Dec 2008 19:36:13 +0000 (20:36 +0100)
arch/x86/Kconfig
arch/x86/include/asm/gart.h
arch/x86/include/asm/iommu.h
arch/x86/kernel/amd_iommu.c
arch/x86/kernel/amd_iommu_init.c
arch/x86/kernel/aperture_64.c
arch/x86/kernel/early-quirks.c
arch/x86/kernel/pci-dma.c
arch/x86/kernel/setup.c

index ac22bb7719f730e6b8d12b305ec9e08952a513a4..2187c60868892ab0fc6eeedfca1d5bc5e2d9fa66 100644 (file)
@@ -569,7 +569,7 @@ config AMD_IOMMU
 
 # need this always selected by IOMMU for the VIA workaround
 config SWIOTLB
-       bool
+       def_bool y if X86_64
        help
          Support for software bounce buffers used on x86-64 systems
          which don't have a hardware IOMMU (e.g. the current generation
index 74252264433d8fa3b628afe7f91a49365d377b8a..6cfdafa409d8f436d106e4fb9f1e19374d913d55 100644 (file)
@@ -29,6 +29,39 @@ extern int fix_aperture;
 #define AMD64_GARTCACHECTL     0x9c
 #define AMD64_GARTEN           (1<<0)
 
+#ifdef CONFIG_GART_IOMMU
+extern int gart_iommu_aperture;
+extern int gart_iommu_aperture_allowed;
+extern int gart_iommu_aperture_disabled;
+
+extern void early_gart_iommu_check(void);
+extern void gart_iommu_init(void);
+extern void gart_iommu_shutdown(void);
+extern void __init gart_parse_options(char *);
+extern void gart_iommu_hole_init(void);
+
+#else
+#define gart_iommu_aperture            0
+#define gart_iommu_aperture_allowed    0
+#define gart_iommu_aperture_disabled   1
+
+static inline void early_gart_iommu_check(void)
+{
+}
+static inline void gart_iommu_init(void)
+{
+}
+static inline void gart_iommu_shutdown(void)
+{
+}
+static inline void gart_parse_options(char *options)
+{
+}
+static inline void gart_iommu_hole_init(void)
+{
+}
+#endif
+
 extern int agp_amd64_init(void);
 
 static inline void enable_gart_translation(struct pci_dev *dev, u64 addr)
index 0b500c5b6446e6690846fe9d13a0a5483bef2f20..295b13193f4df09b05aad53ec09c81c601a17a9f 100644 (file)
@@ -12,37 +12,4 @@ extern unsigned long iommu_nr_pages(unsigned long addr, unsigned long len);
 /* 10 seconds */
 #define DMAR_OPERATION_TIMEOUT ((cycles_t) tsc_khz*10*1000)
 
-#ifdef CONFIG_GART_IOMMU
-extern int gart_iommu_aperture;
-extern int gart_iommu_aperture_allowed;
-extern int gart_iommu_aperture_disabled;
-
-extern void early_gart_iommu_check(void);
-extern void gart_iommu_init(void);
-extern void gart_iommu_shutdown(void);
-extern void __init gart_parse_options(char *);
-extern void gart_iommu_hole_init(void);
-
-#else
-#define gart_iommu_aperture            0
-#define gart_iommu_aperture_allowed    0
-#define gart_iommu_aperture_disabled   1
-
-static inline void early_gart_iommu_check(void)
-{
-}
-static inline void gart_iommu_init(void)
-{
-}
-static inline void gart_iommu_shutdown(void)
-{
-}
-static inline void gart_parse_options(char *options)
-{
-}
-static inline void gart_iommu_hole_init(void)
-{
-}
-#endif
-
 #endif /* _ASM_X86_IOMMU_H */
index e4899e0e878740726bfa7ea56e655c53a6b88f37..d434a97a4c7fa743c5cf6baee8e1accee6cb91a0 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/iommu-helper.h>
 #include <asm/proto.h>
 #include <asm/iommu.h>
+#include <asm/gart.h>
 #include <asm/amd_iommu_types.h>
 #include <asm/amd_iommu.h>
 
index 30ae2701b3df1b8976400d5996ed72a4a98baeea..1188b98e27ea0de0ec97f2e05de0843974c5eb1d 100644 (file)
@@ -28,6 +28,7 @@
 #include <asm/amd_iommu_types.h>
 #include <asm/amd_iommu.h>
 #include <asm/iommu.h>
+#include <asm/gart.h>
 
 /*
  * definitions for the ACPI scanning code
index 9a32b37ee2eec2f176708d7fccd5b7dadcf0e3ab..676debfc1702346939a5f17423e6a706f7e69886 100644 (file)
@@ -1,8 +1,9 @@
 /*
  * Firmware replacement code.
  *
- * Work around broken BIOSes that don't set an aperture or only set the
- * aperture in the AGP bridge.
+ * Work around broken BIOSes that don't set an aperture, only set the
+ * aperture in the AGP bridge, or set too small aperture.
+ *
  * If all fails map the aperture over some low memory.  This is cheaper than
  * doing bounce buffering. The memory is lost. This is done at early boot
  * because only the bootmem allocator can allocate 32+MB.
index 1b894b72c0f5df35a1d489def584086ebb2affe5..744aa7fc49d5e875403b6ffc64c0a2cae74f9c55 100644 (file)
@@ -17,6 +17,7 @@
 #include <asm/io_apic.h>
 #include <asm/apic.h>
 #include <asm/iommu.h>
+#include <asm/gart.h>
 
 static void __init fix_hypertransport_config(int num, int slot, int func)
 {
index 192624820217f9eeeb64ee39ada5ad57a76a0df5..12eeb4bfcdeb39727cf4b1e70c1c08590249682d 100644 (file)
@@ -6,6 +6,7 @@
 #include <asm/proto.h>
 #include <asm/dma.h>
 #include <asm/iommu.h>
+#include <asm/gart.h>
 #include <asm/calgary.h>
 #include <asm/amd_iommu.h>
 
index 9d5674f7b6ccbfbdef7f5ad16901f9dc9dc08ad0..decb492134c33b640a529678bbcff400186ffa3f 100644 (file)
@@ -93,6 +93,7 @@
 #include <asm/desc.h>
 #include <asm/dma.h>
 #include <asm/iommu.h>
+#include <asm/gart.h>
 #include <asm/mmu_context.h>
 #include <asm/proto.h>