UPSTREAM: clk: rockchip: rk3036: enable the CLK_IGNORE_UNUSED flag for aclk_vio
[firefly-linux-kernel-4.4.55.git] / drivers / iommu / Kconfig
index cbe6a890a93a0d1448f46e32edbfdc5231ba7098..f19b5147498093ab140aef539a4273b3e60a7d5f 100644 (file)
@@ -48,6 +48,13 @@ config OF_IOMMU
        def_bool y
        depends on OF && IOMMU_API
 
+# IOMMU-agnostic DMA-mapping layer
+config IOMMU_DMA
+       bool
+       depends on NEED_SG_DMA_LENGTH
+       select IOMMU_API
+       select IOMMU_IOVA
+
 config FSL_PAMU
        bool "Freescale IOMMU support"
        depends on PPC32
@@ -134,6 +141,16 @@ config INTEL_IOMMU
          and include PCI device scope covered by these DMA
          remapping devices.
 
+config INTEL_IOMMU_SVM
+       bool "Support for Shared Virtual Memory with Intel IOMMU"
+       depends on INTEL_IOMMU && X86
+       select PCI_PASID
+       select MMU_NOTIFIER
+       help
+         Shared Virtual Memory (SVM) provides a facility for devices
+         to access DMA resources through process address space by
+         means of a Process Address Space ID (PASID).
+
 config INTEL_IOMMU_DEFAULT_ON
        def_bool y
        prompt "Enable Intel DMA Remapping Devices by default"
@@ -193,7 +210,7 @@ config OMAP_IOMMU_DEBUG
 
 config ROCKCHIP_IOMMU
        bool "Rockchip IOMMU Support"
-       depends on ARM
+       depends on ARM || ARM64
        depends on ARCH_ROCKCHIP || COMPILE_TEST
        select IOMMU_API
        select ARM_DMA_USE_IOMMU
@@ -204,6 +221,35 @@ config ROCKCHIP_IOMMU
          Say Y here if you are using a Rockchip SoC that includes an IOMMU
          device.
 
+config RK_IOMMU
+       bool "RK IOMMU Support"
+       depends on ARCH_ROCKCHIP || COMPILE_TEST
+       select IOMMU_API
+       help
+         Support for IOMMUs found on Rockchip rk32xx,rk313x,rk33xx SOCs.
+         These IOMMUs allow virtualization of the address space used by most
+         cores within the multimedia subsystem.
+         Say Y here if you are using a Rockchip SoC that includes an IOMMU
+         device.
+
+config RK_IOVMM
+       bool "IO Virtual Memory Manager for RK IOMMUs"
+       select GENERIC_ALLOCATOR
+       depends on RK_IOMMU
+       help
+         Supporting the users of Rockchip IOMMU for allocating and mapping
+         an IO virtual memory region with a physical memory region
+         and managing the allocated virtual memory regions.
+
+config RK_IOMMU_DEBUG
+       bool "Debugging log for RK IOMMU"
+       depends on RK_IOMMU
+       help
+         Select this to see the detailed log message that shows what
+         happens in the IOMMU driver
+
+         Say N unless you need kernel log message for IOMMU debugging
+
 config TEGRA_IOMMU_GART
        bool "Tegra GART IOMMU Support"
        depends on ARCH_TEGRA_2x_SOC
@@ -323,6 +369,7 @@ config SHMOBILE_IOMMU_L1SIZE
 
 config IPMMU_VMSA
        bool "Renesas VMSA-compatible IPMMU"
+       depends on BROKEN
        depends on ARM_LPAE
        depends on ARCH_SHMOBILE || COMPILE_TEST
        select IOMMU_API
@@ -361,6 +408,7 @@ config ARM_SMMU_V3
        depends on ARM64 && PCI
        select IOMMU_API
        select IOMMU_IO_PGTABLE_LPAE
+       select GENERIC_MSI_IRQ_DOMAIN
        help
          Support for implementations of the ARM System MMU architecture
          version 3 providing translation support to a PCIe root complex.
@@ -368,4 +416,11 @@ config ARM_SMMU_V3
          Say Y here if your system includes an IOMMU device implementing
          the ARM SMMUv3 architecture.
 
+config S390_IOMMU
+       def_bool y if S390 && PCI
+       depends on S390 && PCI
+       select IOMMU_API
+       help
+         Support for the IOMMU API for s390 PCI devices.
+
 endif # IOMMU_SUPPORT