Merge remote-tracking branch 'origin/dev/k3.3-rc1-iommu' into android-tegra-nv-3.1
[linux-2.6.git] / drivers / iommu / Kconfig
index 37656a5..b394c6c 100644 (file)
@@ -34,7 +34,9 @@ config AMD_IOMMU
        bool "AMD IOMMU support"
        select SWIOTLB
        select PCI_MSI
-       select PCI_IOV
+       select PCI_ATS
+       select PCI_PRI
+       select PCI_PASID
        select IOMMU_API
        depends on X86_64 && PCI && ACPI
        ---help---
@@ -58,11 +60,24 @@ config AMD_IOMMU_STATS
          information to userspace via debugfs.
          If unsure, say N.
 
+config AMD_IOMMU_V2
+       tristate "AMD IOMMU Version 2 driver (EXPERIMENTAL)"
+       depends on AMD_IOMMU && PROFILING && EXPERIMENTAL
+       select MMU_NOTIFIER
+       ---help---
+         This option enables support for the AMD IOMMUv2 features of the IOMMU
+         hardware. Select this option if you want to use devices that support
+         the the PCI PRI and PASID interface.
+
 # 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 +85,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 +105,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
@@ -110,11 +126,12 @@ config INTR_REMAP
 # OMAP IOMMU support
 config OMAP_IOMMU
        bool "OMAP IOMMU Support"
+       depends on ARCH_OMAP
        select IOMMU_API
 
 config OMAP_IOVMM
-       tristate
-       select OMAP_IOMMU
+       tristate "OMAP IO Virtual Memory Manager Support"
+       depends on OMAP_IOMMU
 
 config OMAP_IOMMU_DEBUG
        tristate "Export OMAP IOMMU/IOVMM internals in DebugFS"
@@ -135,4 +152,14 @@ config TEGRA_IOMMU_SMMU
          space through the SMMU (System Memory Management Unit)
          hardware included on Tegra SoCs.
 
+config TEGRA_IOMMU_GART
+       bool "Tegra GART IOMMU Support"
+       depends on ARCH_TEGRA_2x_SOC
+       select IOMMU_API
+       help
+         Enables support for remapping discontiguous physical memory
+         shared with the operating system into contiguous I/O virtual
+         space through the GART (Graphics Address Relocation Table)
+         hardware included on Tegra SoCs.
+
 endif # IOMMU_SUPPORT