mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 18:20:52 +07:00
iommu/arm: Add support for ARM Ltd. System MMU architecture
This patch adds support for SMMUs implementing the ARM System MMU architecture versions 1 or 2. Both arm and arm64 are supported, although the v7s descriptor format is not used. Cc: Rob Herring <robherring2@gmail.com> Cc: Andreas Herrmann <andreas.herrmann@calxeda.com> Cc: Olav Haugan <ohaugan@codeaurora.org> Cc: Joerg Roedel <joro@8bytes.org> Signed-off-by: Will Deacon <will.deacon@arm.com> Acked-by: Andreas Herrmann <andreas.herrmann@calxeda.com> Signed-off-by: Joerg Roedel <joro@8bytes.org>
This commit is contained in:
parent
98c33c5a97
commit
45ae7cff36
@ -261,4 +261,17 @@ config SHMOBILE_IOMMU_L1SIZE
|
|||||||
default 256 if SHMOBILE_IOMMU_ADDRSIZE_64MB
|
default 256 if SHMOBILE_IOMMU_ADDRSIZE_64MB
|
||||||
default 128 if SHMOBILE_IOMMU_ADDRSIZE_32MB
|
default 128 if SHMOBILE_IOMMU_ADDRSIZE_32MB
|
||||||
|
|
||||||
|
config ARM_SMMU
|
||||||
|
bool "ARM Ltd. System MMU (SMMU) Support"
|
||||||
|
depends on ARM64 || (ARM_LPAE && OF)
|
||||||
|
select IOMMU_API
|
||||||
|
select ARM_DMA_USE_IOMMU if ARM
|
||||||
|
help
|
||||||
|
Support for implementations of the ARM System MMU architecture
|
||||||
|
versions 1 and 2. The driver supports both v7l and v8l table
|
||||||
|
formats with 4k and 64k page sizes.
|
||||||
|
|
||||||
|
Say Y here if your SoC includes an IOMMU device implementing
|
||||||
|
the ARM SMMU architecture.
|
||||||
|
|
||||||
endif # IOMMU_SUPPORT
|
endif # IOMMU_SUPPORT
|
||||||
|
@ -3,6 +3,7 @@ obj-$(CONFIG_OF_IOMMU) += of_iommu.o
|
|||||||
obj-$(CONFIG_MSM_IOMMU) += msm_iommu.o msm_iommu_dev.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_AMD_IOMMU) += amd_iommu.o amd_iommu_init.o
|
||||||
obj-$(CONFIG_AMD_IOMMU_V2) += amd_iommu_v2.o
|
obj-$(CONFIG_AMD_IOMMU_V2) += amd_iommu_v2.o
|
||||||
|
obj-$(CONFIG_ARM_SMMU) += arm-smmu.o
|
||||||
obj-$(CONFIG_DMAR_TABLE) += dmar.o
|
obj-$(CONFIG_DMAR_TABLE) += dmar.o
|
||||||
obj-$(CONFIG_INTEL_IOMMU) += iova.o intel-iommu.o
|
obj-$(CONFIG_INTEL_IOMMU) += iova.o intel-iommu.o
|
||||||
obj-$(CONFIG_IRQ_REMAP) += intel_irq_remapping.o irq_remapping.o
|
obj-$(CONFIG_IRQ_REMAP) += intel_irq_remapping.o irq_remapping.o
|
||||||
|
1969
drivers/iommu/arm-smmu.c
Normal file
1969
drivers/iommu/arm-smmu.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user