1ab493a0fSOhad Ben-Cohen# IOMMU_API always gets selected by whoever wants it. 2ab493a0fSOhad Ben-Cohenconfig IOMMU_API 3ab493a0fSOhad Ben-Cohen bool 4b10f127eSOhad Ben-Cohen 568255b62SJoerg Roedelmenuconfig IOMMU_SUPPORT 668255b62SJoerg Roedel bool "IOMMU Hardware Support" 7e5144c93SArnd Bergmann depends on MMU 868255b62SJoerg Roedel default y 968255b62SJoerg Roedel ---help--- 1068255b62SJoerg Roedel Say Y here if you want to compile device drivers for IO Memory 1168255b62SJoerg Roedel Management Units into the kernel. These devices usually allow to 1268255b62SJoerg Roedel remap DMA requests and/or remap interrupts from other devices on the 1368255b62SJoerg Roedel system. 1468255b62SJoerg Roedel 1568255b62SJoerg Roedelif IOMMU_SUPPORT 1668255b62SJoerg Roedel 17fdb1d7beSWill Deaconmenu "Generic IOMMU Pagetable Support" 18fdb1d7beSWill Deacon 19fdb1d7beSWill Deacon# Selected by the actual pagetable implementations 20fdb1d7beSWill Deaconconfig IOMMU_IO_PGTABLE 21fdb1d7beSWill Deacon bool 22fdb1d7beSWill Deacon 23e1d3c0fdSWill Deaconconfig IOMMU_IO_PGTABLE_LPAE 24e1d3c0fdSWill Deacon bool "ARMv7/v8 Long Descriptor Format" 25e1d3c0fdSWill Deacon select IOMMU_IO_PGTABLE 26ffcb6d16SRobin Murphy depends on HAS_DMA && (ARM || ARM64 || COMPILE_TEST) 27e1d3c0fdSWill Deacon help 28e1d3c0fdSWill Deacon Enable support for the ARM long descriptor pagetable format. 29e1d3c0fdSWill Deacon This allocator supports 4K/2M/1G, 16K/32M and 64K/512M page 30e1d3c0fdSWill Deacon sizes at both stage-1 and stage-2, as well as address spaces 31e1d3c0fdSWill Deacon up to 48-bits in size. 32e1d3c0fdSWill Deacon 33fe4b991dSWill Deaconconfig IOMMU_IO_PGTABLE_LPAE_SELFTEST 34fe4b991dSWill Deacon bool "LPAE selftests" 35fe4b991dSWill Deacon depends on IOMMU_IO_PGTABLE_LPAE 36fe4b991dSWill Deacon help 37fe4b991dSWill Deacon Enable self-tests for LPAE page table allocator. This performs 38fe4b991dSWill Deacon a series of page-table consistency checks during boot. 39fe4b991dSWill Deacon 40fe4b991dSWill Deacon If unsure, say N here. 41fe4b991dSWill Deacon 42e5fc9753SRobin Murphyconfig IOMMU_IO_PGTABLE_ARMV7S 43e5fc9753SRobin Murphy bool "ARMv7/v8 Short Descriptor Format" 44e5fc9753SRobin Murphy select IOMMU_IO_PGTABLE 45e5fc9753SRobin Murphy depends on HAS_DMA && (ARM || ARM64 || COMPILE_TEST) 46e5fc9753SRobin Murphy help 47e5fc9753SRobin Murphy Enable support for the ARM Short-descriptor pagetable format. 48e5fc9753SRobin Murphy This supports 32-bit virtual and physical addresses mapped using 49e5fc9753SRobin Murphy 2-level tables with 4KB pages/1MB sections, and contiguous entries 50e5fc9753SRobin Murphy for 64KB pages/16MB supersections if indicated by the IOMMU driver. 51e5fc9753SRobin Murphy 52e5fc9753SRobin Murphyconfig IOMMU_IO_PGTABLE_ARMV7S_SELFTEST 53e5fc9753SRobin Murphy bool "ARMv7s selftests" 54e5fc9753SRobin Murphy depends on IOMMU_IO_PGTABLE_ARMV7S 55e5fc9753SRobin Murphy help 56e5fc9753SRobin Murphy Enable self-tests for ARMv7s page table allocator. This performs 57e5fc9753SRobin Murphy a series of page-table consistency checks during boot. 58e5fc9753SRobin Murphy 59e5fc9753SRobin Murphy If unsure, say N here. 60e5fc9753SRobin Murphy 61fdb1d7beSWill Deaconendmenu 62fdb1d7beSWill Deacon 63114150d8SRobin Murphyconfig IOMMU_IOVA 6415bbdec3SSakari Ailus tristate 65114150d8SRobin Murphy 664e0ee78fSHiroshi Doyuconfig OF_IOMMU 674e0ee78fSHiroshi Doyu def_bool y 687eba1d51SWill Deacon depends on OF && IOMMU_API 694e0ee78fSHiroshi Doyu 700db2e5d1SRobin Murphy# IOMMU-agnostic DMA-mapping layer 710db2e5d1SRobin Murphyconfig IOMMU_DMA 720db2e5d1SRobin Murphy bool 730db2e5d1SRobin Murphy select IOMMU_API 740db2e5d1SRobin Murphy select IOMMU_IOVA 7559a68eb8SRobin Murphy select NEED_SG_DMA_LENGTH 760db2e5d1SRobin Murphy 77695093e3SVarun Sethiconfig FSL_PAMU 78695093e3SVarun Sethi bool "Freescale IOMMU support" 79a0d284d2SAndy Fleming depends on PPC_E500MC || (COMPILE_TEST && PPC) 80695093e3SVarun Sethi select IOMMU_API 81695093e3SVarun Sethi select GENERIC_ALLOCATOR 82695093e3SVarun Sethi help 83695093e3SVarun Sethi Freescale PAMU support. PAMU is the IOMMU present on Freescale QorIQ platforms. 84695093e3SVarun Sethi PAMU can authorize memory access, remap the memory address, and remap I/O 85695093e3SVarun Sethi transaction types. 86695093e3SVarun Sethi 87b10f127eSOhad Ben-Cohen# MSM IOMMU support 88b10f127eSOhad Ben-Cohenconfig MSM_IOMMU 89b10f127eSOhad Ben-Cohen bool "MSM IOMMU Support" 90477ab7a1SJoerg Roedel depends on ARM 91477ab7a1SJoerg Roedel depends on ARCH_MSM8X60 || ARCH_MSM8960 || COMPILE_TEST 92b10f127eSOhad Ben-Cohen select IOMMU_API 93c9220fbdSSricharan R select IOMMU_IO_PGTABLE_ARMV7S 94b10f127eSOhad Ben-Cohen help 95b10f127eSOhad Ben-Cohen Support for the IOMMUs found on certain Qualcomm SOCs. 96b10f127eSOhad Ben-Cohen These IOMMUs allow virtualization of the address space used by most 97b10f127eSOhad Ben-Cohen cores within the multimedia subsystem. 98b10f127eSOhad Ben-Cohen 99b10f127eSOhad Ben-Cohen If unsure, say N here. 100b10f127eSOhad Ben-Cohen 101b10f127eSOhad Ben-Cohenconfig IOMMU_PGTABLES_L2 102b10f127eSOhad Ben-Cohen def_bool y 103b10f127eSOhad Ben-Cohen depends on MSM_IOMMU && MMU && SMP && CPU_DCACHE_DISABLE=n 10429b68415SOhad Ben-Cohen 10529b68415SOhad Ben-Cohen# AMD IOMMU support 10629b68415SOhad Ben-Cohenconfig AMD_IOMMU 10729b68415SOhad Ben-Cohen bool "AMD IOMMU support" 10829b68415SOhad Ben-Cohen select SWIOTLB 10929b68415SOhad Ben-Cohen select PCI_MSI 11052815b75SJoerg Roedel select PCI_ATS 11152815b75SJoerg Roedel select PCI_PRI 11252815b75SJoerg Roedel select PCI_PASID 11329b68415SOhad Ben-Cohen select IOMMU_API 114a72c4225SJoerg Roedel select IOMMU_IOVA 1150dbc6078SThomas Petazzoni depends on X86_64 && PCI && ACPI 11629b68415SOhad Ben-Cohen ---help--- 11729b68415SOhad Ben-Cohen With this option you can enable support for AMD IOMMU hardware in 11829b68415SOhad Ben-Cohen your system. An IOMMU is a hardware component which provides 11929b68415SOhad Ben-Cohen remapping of DMA memory accesses from devices. With an AMD IOMMU you 12059bf8964SMasanari Iida can isolate the DMA memory of different devices and protect the 12129b68415SOhad Ben-Cohen system from misbehaving device drivers or hardware. 12229b68415SOhad Ben-Cohen 12329b68415SOhad Ben-Cohen You can find out if your system has an AMD IOMMU if you look into 12429b68415SOhad Ben-Cohen your BIOS for an option to enable it or if you have an IVRS ACPI 12529b68415SOhad Ben-Cohen table. 12629b68415SOhad Ben-Cohen 127e3c495c7SJoerg Roedelconfig AMD_IOMMU_V2 128a446e219SKees Cook tristate "AMD IOMMU Version 2 driver" 129e5cac32cSBorislav Petkov depends on AMD_IOMMU 1308736b2c3SJoerg Roedel select MMU_NOTIFIER 131e3c495c7SJoerg Roedel ---help--- 132e3c495c7SJoerg Roedel This option enables support for the AMD IOMMUv2 features of the IOMMU 133e3c495c7SJoerg Roedel hardware. Select this option if you want to use devices that support 13459bf8964SMasanari Iida the PCI PRI and PASID interface. 135e3c495c7SJoerg Roedel 136166e9278SOhad Ben-Cohen# Intel IOMMU support 137d3f13810SSuresh Siddhaconfig DMAR_TABLE 138d3f13810SSuresh Siddha bool 139d3f13810SSuresh Siddha 140d3f13810SSuresh Siddhaconfig INTEL_IOMMU 141d3f13810SSuresh Siddha bool "Support for Intel IOMMU using DMA Remapping Devices" 142166e9278SOhad Ben-Cohen depends on PCI_MSI && ACPI && (X86 || IA64_GENERIC) 143166e9278SOhad Ben-Cohen select IOMMU_API 144114150d8SRobin Murphy select IOMMU_IOVA 145d3f13810SSuresh Siddha select DMAR_TABLE 146166e9278SOhad Ben-Cohen help 147166e9278SOhad Ben-Cohen DMA remapping (DMAR) devices support enables independent address 148166e9278SOhad Ben-Cohen translations for Direct Memory Access (DMA) from devices. 149166e9278SOhad Ben-Cohen These DMA remapping devices are reported via ACPI tables 150166e9278SOhad Ben-Cohen and include PCI device scope covered by these DMA 151166e9278SOhad Ben-Cohen remapping devices. 152166e9278SOhad Ben-Cohen 1538a94ade4SDavid Woodhouseconfig INTEL_IOMMU_SVM 1548a94ade4SDavid Woodhouse bool "Support for Shared Virtual Memory with Intel IOMMU" 1558a94ade4SDavid Woodhouse depends on INTEL_IOMMU && X86 156b16d0cb9SDavid Woodhouse select PCI_PASID 1572f26e0a9SDavid Woodhouse select MMU_NOTIFIER 1588a94ade4SDavid Woodhouse help 1598a94ade4SDavid Woodhouse Shared Virtual Memory (SVM) provides a facility for devices 1608a94ade4SDavid Woodhouse to access DMA resources through process address space by 1618a94ade4SDavid Woodhouse means of a Process Address Space ID (PASID). 1628a94ade4SDavid Woodhouse 163d3f13810SSuresh Siddhaconfig INTEL_IOMMU_DEFAULT_ON 164166e9278SOhad Ben-Cohen def_bool y 165d3f13810SSuresh Siddha prompt "Enable Intel DMA Remapping Devices by default" 166d3f13810SSuresh Siddha depends on INTEL_IOMMU 167166e9278SOhad Ben-Cohen help 168166e9278SOhad Ben-Cohen Selecting this option will enable a DMAR device at boot time if 169166e9278SOhad Ben-Cohen one is found. If this option is not selected, DMAR support can 170166e9278SOhad Ben-Cohen be enabled by passing intel_iommu=on to the kernel. 171166e9278SOhad Ben-Cohen 172d3f13810SSuresh Siddhaconfig INTEL_IOMMU_BROKEN_GFX_WA 173166e9278SOhad Ben-Cohen bool "Workaround broken graphics drivers (going away soon)" 174d3f13810SSuresh Siddha depends on INTEL_IOMMU && BROKEN && X86 175166e9278SOhad Ben-Cohen ---help--- 176166e9278SOhad Ben-Cohen Current Graphics drivers tend to use physical address 177166e9278SOhad Ben-Cohen for DMA and avoid using DMA APIs. Setting this config 178166e9278SOhad Ben-Cohen option permits the IOMMU driver to set a unity map for 179166e9278SOhad Ben-Cohen all the OS-visible memory. Hence the driver can continue 180166e9278SOhad Ben-Cohen to use physical addresses for DMA, at least until this 181166e9278SOhad Ben-Cohen option is removed in the 2.6.32 kernel. 182166e9278SOhad Ben-Cohen 183d3f13810SSuresh Siddhaconfig INTEL_IOMMU_FLOPPY_WA 184166e9278SOhad Ben-Cohen def_bool y 185d3f13810SSuresh Siddha depends on INTEL_IOMMU && X86 186166e9278SOhad Ben-Cohen ---help--- 187166e9278SOhad Ben-Cohen Floppy disk drivers are known to bypass DMA API calls 188166e9278SOhad Ben-Cohen thereby failing to work when IOMMU is enabled. This 189166e9278SOhad Ben-Cohen workaround will setup a 1:1 mapping for the first 190166e9278SOhad Ben-Cohen 16MiB to make floppy (an ISA device) work. 191166e9278SOhad Ben-Cohen 192d3f13810SSuresh Siddhaconfig IRQ_REMAP 193a446e219SKees Cook bool "Support for Interrupt Remapping" 194a446e219SKees Cook depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI 195d3f13810SSuresh Siddha select DMAR_TABLE 196166e9278SOhad Ben-Cohen ---help--- 197166e9278SOhad Ben-Cohen Supports Interrupt remapping for IO-APIC and MSI devices. 198166e9278SOhad Ben-Cohen To use x2apic mode in the CPU's which support x2APIC enhancements or 199166e9278SOhad Ben-Cohen to support platforms with CPU's having > 8 bit APIC ID, say Y. 20068255b62SJoerg Roedel 201fcf3a6efSOhad Ben-Cohen# OMAP IOMMU support 202fcf3a6efSOhad Ben-Cohenconfig OMAP_IOMMU 203fcf3a6efSOhad Ben-Cohen bool "OMAP IOMMU Support" 204477ab7a1SJoerg Roedel depends on ARM && MMU 205477ab7a1SJoerg Roedel depends on ARCH_OMAP2PLUS || COMPILE_TEST 206fcf3a6efSOhad Ben-Cohen select IOMMU_API 20706b718c0SGerd Hoffmann ---help--- 20806b718c0SGerd Hoffmann The OMAP3 media platform drivers depend on iommu support, 20906b718c0SGerd Hoffmann if you need them say Y here. 210fcf3a6efSOhad Ben-Cohen 211fcf3a6efSOhad Ben-Cohenconfig OMAP_IOMMU_DEBUG 21261c75352SSuman Anna bool "Export OMAP IOMMU internals in DebugFS" 213baaa7b5dSLaurent Pinchart depends on OMAP_IOMMU && DEBUG_FS 21461c75352SSuman Anna ---help--- 215fcf3a6efSOhad Ben-Cohen Select this to see extensive information about 216baaa7b5dSLaurent Pinchart the internal state of OMAP IOMMU in debugfs. 217fcf3a6efSOhad Ben-Cohen 218fcf3a6efSOhad Ben-Cohen Say N unless you know you need this. 219fcf3a6efSOhad Ben-Cohen 220c68a2921SDaniel Kurtzconfig ROCKCHIP_IOMMU 221c68a2921SDaniel Kurtz bool "Rockchip IOMMU Support" 22211175886SJoerg Roedel depends on ARM 22311175886SJoerg Roedel depends on ARCH_ROCKCHIP || COMPILE_TEST 224c68a2921SDaniel Kurtz select IOMMU_API 225c68a2921SDaniel Kurtz select ARM_DMA_USE_IOMMU 226c68a2921SDaniel Kurtz help 227c68a2921SDaniel Kurtz Support for IOMMUs found on Rockchip rk32xx SOCs. 228c68a2921SDaniel Kurtz These IOMMUs allow virtualization of the address space used by most 229c68a2921SDaniel Kurtz cores within the multimedia subsystem. 230c68a2921SDaniel Kurtz Say Y here if you are using a Rockchip SoC that includes an IOMMU 231c68a2921SDaniel Kurtz device. 232c68a2921SDaniel Kurtz 233d53e54b4SHiroshi DOYUconfig TEGRA_IOMMU_GART 234d53e54b4SHiroshi DOYU bool "Tegra GART IOMMU Support" 235d53e54b4SHiroshi DOYU depends on ARCH_TEGRA_2x_SOC 236d53e54b4SHiroshi DOYU select IOMMU_API 237d53e54b4SHiroshi DOYU help 238d53e54b4SHiroshi DOYU Enables support for remapping discontiguous physical memory 239d53e54b4SHiroshi DOYU shared with the operating system into contiguous I/O virtual 240d53e54b4SHiroshi DOYU space through the GART (Graphics Address Relocation Table) 241d53e54b4SHiroshi DOYU hardware included on Tegra SoCs. 242d53e54b4SHiroshi DOYU 2437a31f6f4SHiroshi DOYUconfig TEGRA_IOMMU_SMMU 24489184651SThierry Reding bool "NVIDIA Tegra SMMU Support" 24589184651SThierry Reding depends on ARCH_TEGRA 24689184651SThierry Reding depends on TEGRA_AHB 24789184651SThierry Reding depends on TEGRA_MC 2487a31f6f4SHiroshi DOYU select IOMMU_API 2497a31f6f4SHiroshi DOYU help 25089184651SThierry Reding This driver supports the IOMMU hardware (SMMU) found on NVIDIA Tegra 251588c43a7SThierry Reding SoCs (Tegra30 up to Tegra210). 2527a31f6f4SHiroshi DOYU 2532a96536eSKyongHo Choconfig EXYNOS_IOMMU 2542a96536eSKyongHo Cho bool "Exynos IOMMU Support" 255740a01eeSMarek Szyprowski depends on ARCH_EXYNOS && MMU 2562a96536eSKyongHo Cho select IOMMU_API 2574802c1d0STushar Behera select ARM_DMA_USE_IOMMU 2582a96536eSKyongHo Cho help 2592a96536eSKyongHo Cho Support for the IOMMU (System MMU) of Samsung Exynos application 2605455d700SSachin Kamat processor family. This enables H/W multimedia accelerators to see 2615455d700SSachin Kamat non-linear physical memory chunks as linear memory in their 2625455d700SSachin Kamat address space. 2632a96536eSKyongHo Cho 2642a96536eSKyongHo Cho If unsure, say N here. 2652a96536eSKyongHo Cho 2662a96536eSKyongHo Choconfig EXYNOS_IOMMU_DEBUG 2672a96536eSKyongHo Cho bool "Debugging log for Exynos IOMMU" 2682a96536eSKyongHo Cho depends on EXYNOS_IOMMU 2692a96536eSKyongHo Cho help 2702a96536eSKyongHo Cho Select this to see the detailed log message that shows what 2715455d700SSachin Kamat happens in the IOMMU driver. 2722a96536eSKyongHo Cho 2735455d700SSachin Kamat Say N unless you need kernel log message for IOMMU debugging. 2742a96536eSKyongHo Cho 275d25a2a16SLaurent Pinchartconfig IPMMU_VMSA 276d25a2a16SLaurent Pinchart bool "Renesas VMSA-compatible IPMMU" 2773ae47292SMagnus Damm depends on ARM || IOMMU_DMA 278d25a2a16SLaurent Pinchart depends on ARM_LPAE 2799015ba45SSimon Horman depends on ARCH_RENESAS || COMPILE_TEST 280d25a2a16SLaurent Pinchart select IOMMU_API 281f20ed39fSLaurent Pinchart select IOMMU_IO_PGTABLE_LPAE 282d25a2a16SLaurent Pinchart select ARM_DMA_USE_IOMMU 283d25a2a16SLaurent Pinchart help 284d25a2a16SLaurent Pinchart Support for the Renesas VMSA-compatible IPMMU Renesas found in the 285d25a2a16SLaurent Pinchart R-Mobile APE6 and R-Car H2/M2 SoCs. 286d25a2a16SLaurent Pinchart 287d25a2a16SLaurent Pinchart If unsure, say N. 288d25a2a16SLaurent Pinchart 2894e13c1acSAlexey Kardashevskiyconfig SPAPR_TCE_IOMMU 2904e13c1acSAlexey Kardashevskiy bool "sPAPR TCE IOMMU Support" 2915b25199eSAlexey Kardashevskiy depends on PPC_POWERNV || PPC_PSERIES 2924e13c1acSAlexey Kardashevskiy select IOMMU_API 2934e13c1acSAlexey Kardashevskiy help 2944e13c1acSAlexey Kardashevskiy Enables bits of IOMMU API required by VFIO. The iommu_ops 2954e13c1acSAlexey Kardashevskiy is not implemented as it is not necessary for VFIO. 2964e13c1acSAlexey Kardashevskiy 29748ec83bcSWill Deacon# ARM IOMMU support 29845ae7cffSWill Deaconconfig ARM_SMMU 29945ae7cffSWill Deacon bool "ARM Ltd. System MMU (SMMU) Support" 300a20cc76bSJoerg Roedel depends on (ARM64 || ARM) && MMU 30145ae7cffSWill Deacon select IOMMU_API 302518f7136SWill Deacon select IOMMU_IO_PGTABLE_LPAE 30345ae7cffSWill Deacon select ARM_DMA_USE_IOMMU if ARM 30445ae7cffSWill Deacon help 30545ae7cffSWill Deacon Support for implementations of the ARM System MMU architecture 306518f7136SWill Deacon versions 1 and 2. 30745ae7cffSWill Deacon 30845ae7cffSWill Deacon Say Y here if your SoC includes an IOMMU device implementing 30945ae7cffSWill Deacon the ARM SMMU architecture. 31045ae7cffSWill Deacon 31148ec83bcSWill Deaconconfig ARM_SMMU_V3 31248ec83bcSWill Deacon bool "ARM Ltd. System MMU Version 3 (SMMUv3) Support" 31308d4ca2aSRobin Murphy depends on ARM64 31448ec83bcSWill Deacon select IOMMU_API 31548ec83bcSWill Deacon select IOMMU_IO_PGTABLE_LPAE 316166bdbd2SMarc Zyngier select GENERIC_MSI_IRQ_DOMAIN 31748ec83bcSWill Deacon help 31848ec83bcSWill Deacon Support for implementations of the ARM System MMU architecture 31948ec83bcSWill Deacon version 3 providing translation support to a PCIe root complex. 32048ec83bcSWill Deacon 32148ec83bcSWill Deacon Say Y here if your system includes an IOMMU device implementing 32248ec83bcSWill Deacon the ARM SMMUv3 architecture. 32348ec83bcSWill Deacon 3248128f23cSGerald Schaeferconfig S390_IOMMU 3258128f23cSGerald Schaefer def_bool y if S390 && PCI 3268128f23cSGerald Schaefer depends on S390 && PCI 3278128f23cSGerald Schaefer select IOMMU_API 3288128f23cSGerald Schaefer help 3298128f23cSGerald Schaefer Support for the IOMMU API for s390 PCI devices. 3308128f23cSGerald Schaefer 33163f1934dSDong Jia Shiconfig S390_CCW_IOMMU 33263f1934dSDong Jia Shi bool "S390 CCW IOMMU Support" 33363f1934dSDong Jia Shi depends on S390 && CCW 33463f1934dSDong Jia Shi select IOMMU_API 33563f1934dSDong Jia Shi help 33663f1934dSDong Jia Shi Enables bits of IOMMU API required by VFIO. The iommu_ops 33763f1934dSDong Jia Shi is not implemented as it is not necessary for VFIO. 33863f1934dSDong Jia Shi 3390df4fabeSYong Wuconfig MTK_IOMMU 3400df4fabeSYong Wu bool "MTK IOMMU Support" 3410df4fabeSYong Wu depends on ARM || ARM64 3420df4fabeSYong Wu depends on ARCH_MEDIATEK || COMPILE_TEST 3431928832fSArnd Bergmann select ARM_DMA_USE_IOMMU 3440df4fabeSYong Wu select IOMMU_API 3450df4fabeSYong Wu select IOMMU_DMA 3460df4fabeSYong Wu select IOMMU_IO_PGTABLE_ARMV7S 3470df4fabeSYong Wu select MEMORY 3480df4fabeSYong Wu select MTK_SMI 3490df4fabeSYong Wu help 3500df4fabeSYong Wu Support for the M4U on certain Mediatek SOCs. M4U is MultiMedia 3510df4fabeSYong Wu Memory Management Unit. This option enables remapping of DMA memory 3520df4fabeSYong Wu accesses for the multimedia subsystem. 3530df4fabeSYong Wu 3540df4fabeSYong Wu If unsure, say N here. 3550df4fabeSYong Wu 356b17336c5SHonghui Zhangconfig MTK_IOMMU_V1 357b17336c5SHonghui Zhang bool "MTK IOMMU Version 1 (M4U gen1) Support" 358b17336c5SHonghui Zhang depends on ARM 359b17336c5SHonghui Zhang depends on ARCH_MEDIATEK || COMPILE_TEST 360b17336c5SHonghui Zhang select ARM_DMA_USE_IOMMU 361b17336c5SHonghui Zhang select IOMMU_API 362b17336c5SHonghui Zhang select MEMORY 363b17336c5SHonghui Zhang select MTK_SMI 364b17336c5SHonghui Zhang help 365b17336c5SHonghui Zhang Support for the M4U on certain Mediatek SoCs. M4U generation 1 HW is 366b17336c5SHonghui Zhang Multimedia Memory Managememt Unit. This option enables remapping of 367b17336c5SHonghui Zhang DMA memory accesses for the multimedia subsystem. 368b17336c5SHonghui Zhang 369b17336c5SHonghui Zhang if unsure, say N here. 370b17336c5SHonghui Zhang 37168255b62SJoerg Roedelendif # IOMMU_SUPPORT 372