Kconfig (48e6f7652dd8c502005decb331910ca0d097c1a9) | Kconfig (f616ab59c294b6ea6efa94f6139ea3eda2f52be0) |
---|---|
1# IOMMU_API always gets selected by whoever wants it. 2config IOMMU_API 3 bool 4 5menuconfig IOMMU_SUPPORT 6 bool "IOMMU Hardware Support" 7 depends on MMU 8 default y --- 9 unchanged lines hidden (view full) --- 18 19# Selected by the actual pagetable implementations 20config IOMMU_IO_PGTABLE 21 bool 22 23config IOMMU_IO_PGTABLE_LPAE 24 bool "ARMv7/v8 Long Descriptor Format" 25 select IOMMU_IO_PGTABLE | 1# IOMMU_API always gets selected by whoever wants it. 2config IOMMU_API 3 bool 4 5menuconfig IOMMU_SUPPORT 6 bool "IOMMU Hardware Support" 7 depends on MMU 8 default y --- 9 unchanged lines hidden (view full) --- 18 19# Selected by the actual pagetable implementations 20config IOMMU_IO_PGTABLE 21 bool 22 23config IOMMU_IO_PGTABLE_LPAE 24 bool "ARMv7/v8 Long Descriptor Format" 25 select IOMMU_IO_PGTABLE |
26 depends on ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64) | 26 depends on HAS_DMA && (ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64)) |
27 help 28 Enable support for the ARM long descriptor pagetable format. 29 This allocator supports 4K/2M/1G, 16K/32M and 64K/512M page 30 sizes at both stage-1 and stage-2, as well as address spaces 31 up to 48-bits in size. 32 33config IOMMU_IO_PGTABLE_LPAE_SELFTEST 34 bool "LPAE selftests" 35 depends on IOMMU_IO_PGTABLE_LPAE 36 help 37 Enable self-tests for LPAE page table allocator. This performs 38 a series of page-table consistency checks during boot. 39 40 If unsure, say N here. 41 42config IOMMU_IO_PGTABLE_ARMV7S 43 bool "ARMv7/v8 Short Descriptor Format" 44 select IOMMU_IO_PGTABLE | 27 help 28 Enable support for the ARM long descriptor pagetable format. 29 This allocator supports 4K/2M/1G, 16K/32M and 64K/512M page 30 sizes at both stage-1 and stage-2, as well as address spaces 31 up to 48-bits in size. 32 33config IOMMU_IO_PGTABLE_LPAE_SELFTEST 34 bool "LPAE selftests" 35 depends on IOMMU_IO_PGTABLE_LPAE 36 help 37 Enable self-tests for LPAE page table allocator. This performs 38 a series of page-table consistency checks during boot. 39 40 If unsure, say N here. 41 42config IOMMU_IO_PGTABLE_ARMV7S 43 bool "ARMv7/v8 Short Descriptor Format" 44 select IOMMU_IO_PGTABLE |
45 depends on ARM || ARM64 || COMPILE_TEST | 45 depends on HAS_DMA && (ARM || ARM64 || COMPILE_TEST) |
46 help 47 Enable support for the ARM Short-descriptor pagetable format. 48 This supports 32-bit virtual and physical addresses mapped using 49 2-level tables with 4KB pages/1MB sections, and contiguous entries 50 for 64KB pages/16MB supersections if indicated by the IOMMU driver. 51 52config IOMMU_IO_PGTABLE_ARMV7S_SELFTEST 53 bool "ARMv7s selftests" --- 87 unchanged lines hidden (view full) --- 141 bool 142 143config INTEL_IOMMU 144 bool "Support for Intel IOMMU using DMA Remapping Devices" 145 depends on PCI_MSI && ACPI && (X86 || IA64_GENERIC) 146 select DMA_DIRECT_OPS 147 select IOMMU_API 148 select IOMMU_IOVA | 46 help 47 Enable support for the ARM Short-descriptor pagetable format. 48 This supports 32-bit virtual and physical addresses mapped using 49 2-level tables with 4KB pages/1MB sections, and contiguous entries 50 for 64KB pages/16MB supersections if indicated by the IOMMU driver. 51 52config IOMMU_IO_PGTABLE_ARMV7S_SELFTEST 53 bool "ARMv7s selftests" --- 87 unchanged lines hidden (view full) --- 141 bool 142 143config INTEL_IOMMU 144 bool "Support for Intel IOMMU using DMA Remapping Devices" 145 depends on PCI_MSI && ACPI && (X86 || IA64_GENERIC) 146 select DMA_DIRECT_OPS 147 select IOMMU_API 148 select IOMMU_IOVA |
149 select NEED_DMA_MAP_STATE |
|
149 select DMAR_TABLE 150 help 151 DMA remapping (DMAR) devices support enables independent address 152 translations for Direct Memory Access (DMA) from devices. 153 These DMA remapping devices are reported via ACPI tables 154 and include PCI device scope covered by these DMA 155 remapping devices. 156 --- 214 unchanged lines hidden (view full) --- 371 DMA memory accesses for the multimedia subsystem. 372 373 if unsure, say N here. 374 375config QCOM_IOMMU 376 # Note: iommu drivers cannot (yet?) be built as modules 377 bool "Qualcomm IOMMU Support" 378 depends on ARCH_QCOM || (COMPILE_TEST && !GENERIC_ATOMIC64) | 150 select DMAR_TABLE 151 help 152 DMA remapping (DMAR) devices support enables independent address 153 translations for Direct Memory Access (DMA) from devices. 154 These DMA remapping devices are reported via ACPI tables 155 and include PCI device scope covered by these DMA 156 remapping devices. 157 --- 214 unchanged lines hidden (view full) --- 372 DMA memory accesses for the multimedia subsystem. 373 374 if unsure, say N here. 375 376config QCOM_IOMMU 377 # Note: iommu drivers cannot (yet?) be built as modules 378 bool "Qualcomm IOMMU Support" 379 depends on ARCH_QCOM || (COMPILE_TEST && !GENERIC_ATOMIC64) |
380 depends on HAS_DMA |
|
379 select IOMMU_API 380 select IOMMU_IO_PGTABLE_LPAE 381 select ARM_DMA_USE_IOMMU 382 help 383 Support for IOMMU on certain Qualcomm SoCs. 384 385endif # IOMMU_SUPPORT | 381 select IOMMU_API 382 select IOMMU_IO_PGTABLE_LPAE 383 select ARM_DMA_USE_IOMMU 384 help 385 Support for IOMMU on certain Qualcomm SoCs. 386 387endif # IOMMU_SUPPORT |