]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
iommu: Rename the DMAR and INTR_REMAP config options
authorSuresh Siddha <suresh.b.siddha@intel.com>
Wed, 24 Aug 2011 00:05:25 +0000 (17:05 -0700)
committerIngo Molnar <mingo@elte.hu>
Wed, 21 Sep 2011 08:22:03 +0000 (10:22 +0200)
Change the CONFIG_DMAR to CONFIG_INTEL_IOMMU to be consistent
with the other IOMMU options.

Rename the CONFIG_INTR_REMAP to CONFIG_IRQ_REMAP to match the
irq subsystem name.

And define the CONFIG_DMAR_TABLE for the common ACPI DMAR
routines shared by both CONFIG_INTEL_IOMMU and CONFIG_IRQ_REMAP.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: yinghai@kernel.org
Cc: youquan.song@intel.com
Cc: joerg.roedel@amd.com
Cc: tony.luck@intel.com
Cc: dwmw2@infradead.org
Link: http://lkml.kernel.org/r/20110824001456.558630224@sbsiddha-desk.sc.intel.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
24 files changed:
arch/ia64/configs/generic_defconfig
arch/ia64/dig/Makefile
arch/ia64/include/asm/device.h
arch/ia64/include/asm/iommu.h
arch/ia64/include/asm/pci.h
arch/ia64/kernel/Makefile
arch/ia64/kernel/acpi.c
arch/ia64/kernel/msi_ia64.c
arch/ia64/kernel/pci-dma.c
arch/x86/Kconfig
arch/x86/configs/x86_64_defconfig
arch/x86/include/asm/device.h
arch/x86/include/asm/hw_irq.h
arch/x86/include/asm/irq_remapping.h
arch/x86/kernel/apic/apic.c
arch/x86/kernel/apic/io_apic.c
drivers/char/agp/intel-gtt.c
drivers/iommu/Kconfig
drivers/iommu/Makefile
drivers/iommu/intel-iommu.c
drivers/pci/quirks.c
include/linux/dma_remapping.h
include/linux/dmar.h
include/linux/intel-iommu.h

index 0e5cd1405e0e506c28a7a7edd00a2ff82a20137d..43ab1cd097a56ea3a9b68f5229b1a19c66288f22 100644 (file)
@@ -234,4 +234,4 @@ CONFIG_CRYPTO_MD5=y
 # CONFIG_CRYPTO_ANSI_CPRNG is not set
 CONFIG_CRC_T10DIF=y
 CONFIG_MISC_DEVICES=y
-CONFIG_DMAR=y
+CONFIG_INTEL_IOMMU=y
index 2f7caddf093e8bce77d4d92f2933ee2500f8ab60..ae16ec4f630821176721c21c9215021add9d672c 100644 (file)
@@ -6,7 +6,7 @@
 #
 
 obj-y := setup.o
-ifeq ($(CONFIG_DMAR), y)
+ifeq ($(CONFIG_INTEL_IOMMU), y)
 obj-$(CONFIG_IA64_GENERIC) += machvec.o machvec_vtd.o
 else
 obj-$(CONFIG_IA64_GENERIC) += machvec.o
index d66d446b127c5631d6cdcd2fd33e14a8342a8980..d05e78f6db940730256bcdc8e4a5790bfe8de20d 100644 (file)
@@ -10,7 +10,7 @@ struct dev_archdata {
 #ifdef CONFIG_ACPI
        void    *acpi_handle;
 #endif
-#ifdef CONFIG_DMAR
+#ifdef CONFIG_INTEL_IOMMU
        void *iommu; /* hook for IOMMU specific extension */
 #endif
 };
index 95461bb0b8e6c44f73c6908823a317475f950730..105c93b00b1bc53ce22f04ffd249595b5001c4d2 100644 (file)
@@ -7,7 +7,7 @@
 
 extern void pci_iommu_shutdown(void);
 extern void no_iommu_init(void);
-#ifdef CONFIG_DMAR
+#ifdef CONFIG_INTEL_IOMMU
 extern int force_iommu, no_iommu;
 extern int iommu_pass_through;
 extern int iommu_detected;
index 73b5f785e70c064febc97267ac8dc69b36ca9786..127dd7be346ac2b3f4b497c9a1a69eb9f7784235 100644 (file)
@@ -139,7 +139,7 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
        return channel ? isa_irq_to_vector(15) : isa_irq_to_vector(14);
 }
 
-#ifdef CONFIG_DMAR
+#ifdef CONFIG_INTEL_IOMMU
 extern void pci_iommu_alloc(void);
 #endif
 #endif /* _ASM_IA64_PCI_H */
index 395c2f216dd899ddb6871db79b3f45e4f041d442..d959c84904bec8bb978da5d11fc3ba0bfb54be26 100644 (file)
@@ -43,7 +43,7 @@ obj-$(CONFIG_IA64_ESI)                += esi.o
 ifneq ($(CONFIG_IA64_ESI),)
 obj-y                          += esi_stub.o   # must be in kernel proper
 endif
-obj-$(CONFIG_DMAR)             += pci-dma.o
+obj-$(CONFIG_INTEL_IOMMU)      += pci-dma.o
 obj-$(CONFIG_SWIOTLB)          += pci-swiotlb.o
 
 obj-$(CONFIG_BINFMT_ELF)       += elfcore.o
index 3be485a300b1426af87db0d545a4ca176e8d67be..bfb4d01e0e519ed74a2a941214b4426627307134 100644 (file)
@@ -88,7 +88,7 @@ acpi_get_sysname(void)
        struct acpi_table_rsdp *rsdp;
        struct acpi_table_xsdt *xsdt;
        struct acpi_table_header *hdr;
-#ifdef CONFIG_DMAR
+#ifdef CONFIG_INTEL_IOMMU
        u64 i, nentries;
 #endif
 
@@ -125,7 +125,7 @@ acpi_get_sysname(void)
                return "xen";
        }
 
-#ifdef CONFIG_DMAR
+#ifdef CONFIG_INTEL_IOMMU
        /* Look for Intel IOMMU */
        nentries = (hdr->length - sizeof(*hdr)) /
                         sizeof(xsdt->table_offset_entry[0]);
index 009df5434a7a9a40132f172238ba810f3b2dc1af..94e0db72d4a68591370de63af9db07baaae203ab 100644 (file)
@@ -131,7 +131,7 @@ void arch_teardown_msi_irq(unsigned int irq)
        return ia64_teardown_msi_irq(irq);
 }
 
-#ifdef CONFIG_DMAR
+#ifdef CONFIG_INTEL_IOMMU
 #ifdef CONFIG_SMP
 static int dmar_msi_set_affinity(struct irq_data *data,
                                 const struct cpumask *mask, bool force)
@@ -210,5 +210,5 @@ int arch_setup_dmar_msi(unsigned int irq)
                                      "edge");
        return 0;
 }
-#endif /* CONFIG_DMAR */
+#endif /* CONFIG_INTEL_IOMMU */
 
index f6b1ff0aea76f95b094c01be87a7b4c98393a3f2..c16162c70860a7ca1e878474b85348da233ad21d 100644 (file)
@@ -14,7 +14,7 @@
 
 #include <asm/system.h>
 
-#ifdef CONFIG_DMAR
+#ifdef CONFIG_INTEL_IOMMU
 
 #include <linux/kernel.h>
 
index 6a47bb22657fd3d55835c32b2e834cd42e3ad28c..b8cd5448b0e1bcd4f5062ed468e607c5bb1d311d 100644 (file)
@@ -130,7 +130,7 @@ config SBUS
        bool
 
 config NEED_DMA_MAP_STATE
-       def_bool (X86_64 || DMAR || DMA_API_DEBUG)
+       def_bool (X86_64 || INTEL_IOMMU || DMA_API_DEBUG)
 
 config NEED_SG_DMA_LENGTH
        def_bool y
@@ -220,7 +220,7 @@ config ARCH_SUPPORTS_DEBUG_PAGEALLOC
 
 config HAVE_INTEL_TXT
        def_bool y
-       depends on EXPERIMENTAL && DMAR && ACPI
+       depends on EXPERIMENTAL && INTEL_IOMMU && ACPI
 
 config X86_32_SMP
        def_bool y
@@ -287,7 +287,7 @@ config SMP
 
 config X86_X2APIC
        bool "Support x2apic"
-       depends on X86_LOCAL_APIC && X86_64 && INTR_REMAP
+       depends on X86_LOCAL_APIC && X86_64 && IRQ_REMAP
        ---help---
          This enables x2apic support on CPUs that have this feature.
 
index 22a0dc8e51dd4196e43acdab23d9a3e32513e167..058a35b8286c9e60b664e53986c1fe64a94ed840 100644 (file)
@@ -67,8 +67,8 @@ CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
 CONFIG_CPU_FREQ_GOV_ONDEMAND=y
 CONFIG_X86_ACPI_CPUFREQ=y
 CONFIG_PCI_MMCONFIG=y
-CONFIG_DMAR=y
-# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
 CONFIG_PCIEPORTBUS=y
 CONFIG_PCCARD=y
 CONFIG_YENTA=y
index 029f230ab637f2ab8fddb835f506edc9abc0f28d..63a2a03d7d516947eb945a856a988cb8284b8dcd 100644 (file)
@@ -8,7 +8,7 @@ struct dev_archdata {
 #ifdef CONFIG_X86_64
 struct dma_map_ops *dma_ops;
 #endif
-#if defined(CONFIG_DMAR) || defined(CONFIG_AMD_IOMMU)
+#if defined(CONFIG_INTEL_IOMMU) || defined(CONFIG_AMD_IOMMU)
        void *iommu; /* hook for IOMMU specific extension */
 #endif
 };
index 09199052060fad79acdc8657795e1678a3140dd8..eb92a6ed2be704ace2a935354b4667df75563394 100644 (file)
@@ -119,7 +119,7 @@ struct irq_cfg {
        cpumask_var_t           old_domain;
        u8                      vector;
        u8                      move_in_progress : 1;
-#ifdef CONFIG_INTR_REMAP
+#ifdef CONFIG_IRQ_REMAP
        struct irq_2_iommu      irq_2_iommu;
 #endif
 };
index 7000f0f8bf12be3b29d31ee6bdbd6c8602a92982..47d99934580fc668bf5accc146a0ca9fe5ac66eb 100644 (file)
@@ -3,7 +3,7 @@
 
 #define IRTE_DEST(dest) ((x2apic_mode) ? dest : dest << 8)
 
-#ifdef CONFIG_INTR_REMAP
+#ifdef CONFIG_IRQ_REMAP
 static void irq_remap_modify_chip_defaults(struct irq_chip *chip);
 static inline void prepare_irte(struct irte *irte, int vector,
                                unsigned int dest)
index 6b9874a5c7af12e38347bbc914064ac0b19ec958..a2fd72e0ab35bbff6703836f82540a0f71588e85 100644 (file)
@@ -1437,7 +1437,7 @@ void enable_x2apic(void)
 
 int __init enable_IR(void)
 {
-#ifdef CONFIG_INTR_REMAP
+#ifdef CONFIG_IRQ_REMAP
        if (!intr_remapping_supported()) {
                pr_debug("intr-remapping not supported\n");
                return -1;
index e75d7e2223fe79e2f9a3d2758718af1dd5854ce3..620da6fed6b7075289b152b5e88dde83cecbf814 100644 (file)
@@ -2254,7 +2254,7 @@ ioapic_set_affinity(struct irq_data *data, const struct cpumask *mask,
        return ret;
 }
 
-#ifdef CONFIG_INTR_REMAP
+#ifdef CONFIG_IRQ_REMAP
 
 /*
  * Migrate the IO-APIC irq in the presence of intr-remapping.
@@ -2560,7 +2560,7 @@ static void ack_apic_level(struct irq_data *data)
        }
 }
 
-#ifdef CONFIG_INTR_REMAP
+#ifdef CONFIG_IRQ_REMAP
 static void ir_ack_apic_edge(struct irq_data *data)
 {
        ack_APIC_irq();
@@ -2587,7 +2587,7 @@ static void irq_remap_modify_chip_defaults(struct irq_chip *chip)
        chip->irq_set_affinity = ir_ioapic_set_affinity;
 #endif
 }
-#endif /* CONFIG_INTR_REMAP */
+#endif /* CONFIG_IRQ_REMAP */
 
 static struct irq_chip ioapic_chip __read_mostly = {
        .name                   = "IO-APIC",
@@ -3285,7 +3285,7 @@ void native_teardown_msi_irq(unsigned int irq)
        destroy_irq(irq);
 }
 
-#if defined (CONFIG_DMAR) || defined (CONFIG_INTR_REMAP)
+#ifdef CONFIG_DMAR_TABLE
 #ifdef CONFIG_SMP
 static int
 dmar_msi_set_affinity(struct irq_data *data, const struct cpumask *mask,
index 85151019dde12572e458260b6d56068fd0e271c4..2774ac1086d33432436da9c937a82ae14a4441ac 100644 (file)
 /*
  * If we have Intel graphics, we're not going to have anything other than
  * an Intel IOMMU. So make the correct use of the PCI DMA API contingent
- * on the Intel IOMMU support (CONFIG_DMAR).
+ * on the Intel IOMMU support (CONFIG_INTEL_IOMMU).
  * Only newer chipsets need to bother with this, of course.
  */
-#ifdef CONFIG_DMAR
+#ifdef CONFIG_INTEL_IOMMU
 #define USE_PCI_DMA_API 1
 #else
 #define USE_PCI_DMA_API 0
index b57b3fa492f3ea1f3717c2e29272c2c8ff6c11a3..7d7eaa15e7734efd9a07af167cf3453b65b406c4 100644 (file)
@@ -59,10 +59,14 @@ config AMD_IOMMU_STATS
          If unsure, say N.
 
 # Intel IOMMU support
-config DMAR
-       bool "Support for DMA Remapping Devices"
+config DMAR_TABLE
+       bool
+
+config INTEL_IOMMU
+       bool "Support for Intel IOMMU using DMA Remapping Devices"
        depends on PCI_MSI && ACPI && (X86 || IA64_GENERIC)
        select IOMMU_API
+       select DMAR_TABLE
        help
          DMA remapping (DMAR) devices support enables independent address
          translations for Direct Memory Access (DMA) from devices.
@@ -70,18 +74,18 @@ config DMAR
          and include PCI device scope covered by these DMA
          remapping devices.
 
-config DMAR_DEFAULT_ON
+config INTEL_IOMMU_DEFAULT_ON
        def_bool y
-       prompt "Enable DMA Remapping Devices by default"
-       depends on DMAR
+       prompt "Enable Intel DMA Remapping Devices by default"
+       depends on INTEL_IOMMU
        help
          Selecting this option will enable a DMAR device at boot time if
          one is found. If this option is not selected, DMAR support can
          be enabled by passing intel_iommu=on to the kernel.
 
-config DMAR_BROKEN_GFX_WA
+config INTEL_IOMMU_BROKEN_GFX_WA
        bool "Workaround broken graphics drivers (going away soon)"
-       depends on DMAR && BROKEN && X86
+       depends on INTEL_IOMMU && BROKEN && X86
        ---help---
          Current Graphics drivers tend to use physical address
          for DMA and avoid using DMA APIs. Setting this config
@@ -90,18 +94,19 @@ config DMAR_BROKEN_GFX_WA
          to use physical addresses for DMA, at least until this
          option is removed in the 2.6.32 kernel.
 
-config DMAR_FLOPPY_WA
+config INTEL_IOMMU_FLOPPY_WA
        def_bool y
-       depends on DMAR && X86
+       depends on INTEL_IOMMU && X86
        ---help---
          Floppy disk drivers are known to bypass DMA API calls
          thereby failing to work when IOMMU is enabled. This
          workaround will setup a 1:1 mapping for the first
          16MiB to make floppy (an ISA device) work.
 
-config INTR_REMAP
+config IRQ_REMAP
        bool "Support for Interrupt Remapping (EXPERIMENTAL)"
        depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL
+       select DMAR_TABLE
        ---help---
          Supports Interrupt remapping for IO-APIC and MSI devices.
          To use x2apic mode in the CPU's which support x2APIC enhancements or
index 4d4d77df7cacfa42f1cbea5db46428c19d67ab65..6394994a2b9dafff89522e1bb22ad021c09d30fb 100644 (file)
@@ -1,5 +1,6 @@
 obj-$(CONFIG_IOMMU_API) += iommu.o
 obj-$(CONFIG_MSM_IOMMU) += msm_iommu.o msm_iommu_dev.o
 obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o amd_iommu_init.o
-obj-$(CONFIG_DMAR) += dmar.o iova.o intel-iommu.o
-obj-$(CONFIG_INTR_REMAP) += dmar.o intr_remapping.o
+obj-$(CONFIG_DMAR_TABLE) += dmar.o
+obj-$(CONFIG_INTEL_IOMMU) += iova.o intel-iommu.o
+obj-$(CONFIG_IRQ_REMAP) += intr_remapping.o
index e8eb4c5302b0d07d0cd39dd75dda9f25f36b4459..4e249edd2290ef161a956fcbee835d0c128cd18c 100644 (file)
@@ -393,11 +393,11 @@ static long list_size;
 
 static void domain_remove_dev_info(struct dmar_domain *domain);
 
-#ifdef CONFIG_DMAR_DEFAULT_ON
+#ifdef CONFIG_INTEL_IOMMU_DEFAULT_ON
 int dmar_disabled = 0;
 #else
 int dmar_disabled = 1;
-#endif /*CONFIG_DMAR_DEFAULT_ON*/
+#endif /*CONFIG_INTEL_IOMMU_DEFAULT_ON*/
 
 static int dmar_map_gfx = 1;
 static int dmar_forcedac;
@@ -2150,7 +2150,7 @@ static inline int iommu_prepare_rmrr_dev(struct dmar_rmrr_unit *rmrr,
                rmrr->end_address);
 }
 
-#ifdef CONFIG_DMAR_FLOPPY_WA
+#ifdef CONFIG_INTEL_IOMMU_FLOPPY_WA
 static inline void iommu_prepare_isa(void)
 {
        struct pci_dev *pdev;
@@ -2173,7 +2173,7 @@ static inline void iommu_prepare_isa(void)
 {
        return;
 }
-#endif /* !CONFIG_DMAR_FLPY_WA */
+#endif /* !CONFIG_INTEL_IOMMU_FLPY_WA */
 
 static int md_domain_init(struct dmar_domain *domain, int guest_width);
 
@@ -2484,7 +2484,7 @@ static int __init init_dmars(void)
        if (iommu_pass_through)
                iommu_identity_mapping |= IDENTMAP_ALL;
 
-#ifdef CONFIG_DMAR_BROKEN_GFX_WA
+#ifdef CONFIG_INTEL_IOMMU_BROKEN_GFX_WA
        iommu_identity_mapping |= IDENTMAP_GFX;
 #endif
 
index 1196f61a4ab6b2dabab0faacd1cbde65bf53af9a..b23856aaf6eb490bbfd9e83f1d6fe40056cc0a36 100644 (file)
@@ -2788,7 +2788,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE823, ricoh_
 DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE823, ricoh_mmc_fixup_r5c832);
 #endif /*CONFIG_MMC_RICOH_MMC*/
 
-#if defined(CONFIG_DMAR) || defined(CONFIG_INTR_REMAP)
+#ifdef CONFIG_DMAR_TABLE
 #define VTUNCERRMSK_REG        0x1ac
 #define VTD_MSK_SPEC_ERRORS    (1 << 31)
 /*
index b98b61b3743e407a1c56736e30445c14a17ec164..ef90cbd8e1735c781083a2321760741107c2827b 100644 (file)
@@ -26,7 +26,7 @@ struct dmar_domain;
 struct root_entry;
 
 
-#ifdef CONFIG_DMAR
+#ifdef CONFIG_INTEL_IOMMU
 extern void free_dmar_iommu(struct intel_iommu *iommu);
 extern int iommu_calculate_agaw(struct intel_iommu *iommu);
 extern int iommu_calculate_max_sagaw(struct intel_iommu *iommu);
index a7992ec365706212c47a712614233d93dfd42cdd..a8b1a847c103bb5cefed7aa7dbb6f4f847079fd5 100644 (file)
@@ -31,7 +31,7 @@
 #define DMAR_X2APIC_OPT_OUT    0x2
 
 struct intel_iommu;
-#if defined(CONFIG_DMAR) || defined(CONFIG_INTR_REMAP)
+#ifdef CONFIG_DMAR_TABLE
 extern struct acpi_table_header *dmar_tbl;
 struct dmar_drhd_unit {
        struct list_head list;          /* list of drhd units   */
@@ -81,7 +81,7 @@ static inline int enable_drhd_fault_handling(void)
 {
        return -1;
 }
-#endif /* !CONFIG_DMAR && !CONFIG_INTR_REMAP */
+#endif /* !CONFIG_DMAR_TABLE */
 
 struct irte {
        union {
@@ -112,7 +112,7 @@ struct irte {
        };
 };
 
-#ifdef CONFIG_INTR_REMAP
+#ifdef CONFIG_IRQ_REMAP
 extern int intr_remapping_enabled;
 extern int intr_remapping_supported(void);
 extern int enable_intr_remapping(void);
@@ -214,7 +214,7 @@ extern int dmar_set_interrupt(struct intel_iommu *iommu);
 extern irqreturn_t dmar_fault(int irq, void *dev_id);
 extern int arch_setup_dmar_msi(unsigned int irq);
 
-#ifdef CONFIG_DMAR
+#ifdef CONFIG_INTEL_IOMMU
 extern int iommu_detected, no_iommu;
 extern struct list_head dmar_rmrr_units;
 struct dmar_rmrr_unit {
@@ -243,7 +243,7 @@ extern int dmar_parse_one_atsr(struct acpi_dmar_header *header);
 extern int dmar_parse_dev_scope(void *start, void *end, int *cnt,
                                struct pci_dev ***devices, u16 segment);
 extern int intel_iommu_init(void);
-#else /* !CONFIG_DMAR: */
+#else /* !CONFIG_INTEL_IOMMU: */
 static inline int intel_iommu_init(void) { return -ENODEV; }
 static inline int dmar_parse_one_rmrr(struct acpi_dmar_header *header)
 {
@@ -257,6 +257,6 @@ static inline int dmar_parse_rmrr_atsr_dev(void)
 {
        return 0;
 }
-#endif /* CONFIG_DMAR */
+#endif /* CONFIG_INTEL_IOMMU */
 
 #endif /* __DMAR_H__ */
index 9310c699a37d451d2f2a24e961b7fab5545753ac..235b8879af457b67c972781acec42ed29c29fab4 100644 (file)
@@ -279,7 +279,7 @@ struct q_inval {
        int             free_cnt;
 };
 
-#ifdef CONFIG_INTR_REMAP
+#ifdef CONFIG_IRQ_REMAP
 /* 1MB - maximum possible interrupt remapping table size */
 #define INTR_REMAP_PAGE_ORDER  8
 #define INTR_REMAP_TABLE_REG_SIZE      0xf
@@ -318,7 +318,7 @@ struct intel_iommu {
        unsigned int    irq;
        unsigned char   name[13];    /* Device Name */
 
-#ifdef CONFIG_DMAR
+#ifdef CONFIG_INTEL_IOMMU
        unsigned long   *domain_ids; /* bitmap of domains */
        struct dmar_domain **domains; /* ptr to domains */
        spinlock_t      lock; /* protect context, domain ids */
@@ -329,7 +329,7 @@ struct intel_iommu {
        struct q_inval  *qi;            /* Queued invalidation info */
        u32 *iommu_state; /* Store iommu states between suspend and resume.*/
 
-#ifdef CONFIG_INTR_REMAP
+#ifdef CONFIG_IRQ_REMAP
        struct ir_table *ir_table;      /* Interrupt remapping info */
 #endif
        int             node;