Certain use cases require performance that can't be achieved with the general-purpose SMMU page table code. By limiting ourselves to 4K page mappings (no block mappings) and pre-populating the first and second levels of the page tables up front, we can eliminate a lot of the work needed for page table mapping and unmapping. Add a performance-tuned io-pgtable implementation for ARMv8L page tables that only supports 4K page mappings. Any size can be mapped, but only 4K page mappings will be installed in the page tables. CRs-Fixed: 997751 Change-Id: I5861270709675016988052360d196e0a16a0d103 Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org> |
||
---|---|---|
.. | ||
amd_iommu.c | ||
amd_iommu_init.c | ||
amd_iommu_proto.h | ||
amd_iommu_types.h | ||
amd_iommu_v2.c | ||
arm-smmu-v3.c | ||
arm-smmu.c | ||
dma-iommu.c | ||
dmar.c | ||
exynos-iommu.c | ||
fsl_pamu.c | ||
fsl_pamu.h | ||
fsl_pamu_domain.c | ||
fsl_pamu_domain.h | ||
intel-iommu.c | ||
intel-svm.c | ||
intel_irq_remapping.c | ||
io-pgtable-arm.c | ||
io-pgtable-fast.c | ||
io-pgtable-msm-secure.c | ||
io-pgtable.c | ||
io-pgtable.h | ||
iommu-debug.c | ||
iommu-debug.h | ||
iommu-sysfs.c | ||
iommu-traces.c | ||
iommu.c | ||
iova.c | ||
ipmmu-vmsa.c | ||
irq_remapping.c | ||
irq_remapping.h | ||
Kconfig | ||
Makefile | ||
msm_dma_iommu_mapping.c | ||
of_iommu.c | ||
omap-iommu-debug.c | ||
omap-iommu.c | ||
omap-iommu.h | ||
omap-iopgtable.h | ||
rockchip-iommu.c | ||
s390-iommu.c | ||
shmobile-iommu.c | ||
shmobile-ipmmu.c | ||
shmobile-ipmmu.h | ||
tegra-gart.c | ||
tegra-smmu.c |