Commit 4100b8c2 authored by Maxime Ripard's avatar Maxime Ripard Committed by Joerg Roedel
Browse files

iommu: Add Allwinner H6 IOMMU driver



The Allwinner H6 has introduced an IOMMU for a few DMA controllers, mostly
video related: the display engine, the video decoders / encoders, the
camera capture controller, etc.

The design is pretty simple compared to other IOMMUs found in SoCs: there's
a single instance, controlling all the masters, with a single address
space.

It also features a performance monitoring unit that allows to retrieve
various informations (per-master and global TLB accesses, hits and misses,
access latency, etc) that isn't supported at the moment.

Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/d122a8670361e36fc26b4ce2674a2223d30dc4cc.1589378833.git-series.maxime@cerno.tech


Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent db7d3cbd
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -303,6 +303,15 @@ config ROCKCHIP_IOMMU
	  Say Y here if you are using a Rockchip SoC that includes an IOMMU
	  device.

config SUN50I_IOMMU
	bool "Allwinner H6 IOMMU Support"
	depends on ARCH_SUNXI || COMPILE_TEST
	select ARM_DMA_USE_IOMMU
	select IOMMU_API
	select IOMMU_DMA
	help
	  Support for the IOMMU introduced in the Allwinner H6 SoCs.

config TEGRA_IOMMU_GART
	bool "Tegra GART IOMMU Support"
	depends on ARCH_TEGRA_2x_SOC
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ obj-$(CONFIG_MTK_IOMMU_V1) += mtk_iommu_v1.o
obj-$(CONFIG_OMAP_IOMMU) += omap-iommu.o
obj-$(CONFIG_OMAP_IOMMU_DEBUG) += omap-iommu-debug.o
obj-$(CONFIG_ROCKCHIP_IOMMU) += rockchip-iommu.o
obj-$(CONFIG_SUN50I_IOMMU) += sun50i-iommu.o
obj-$(CONFIG_TEGRA_IOMMU_GART) += tegra-gart.o
obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o
obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o
+1027 −0

File added.

Preview size limit exceeded, changes collapsed.