iommu/arm-smmu: Add initial driver support for ARM SMMUv3 devices
authorWill Deacon <will.deacon@arm.com>
Wed, 27 May 2015 16:25:59 +0000 (17:25 +0100)
committerJoerg Roedel <jroedel@suse.de>
Fri, 29 May 2015 09:12:01 +0000 (11:12 +0200)
commit48ec83bcbcf5090fcdf74a6168f161d247492979
tree5251d208da543362a38792d4918aa788b3760eee
parenta73e528ab1499505c29e14091b19cb041e20e038
iommu/arm-smmu: Add initial driver support for ARM SMMUv3 devices

Version three of the ARM SMMU architecture introduces significant
changes and improvements over previous versions of the specification,
necessitating a new driver in the Linux kernel.

The main change to the programming interface is that the majority of the
configuration data has been moved from MMIO registers to in-memory data
structures, with communication between the CPU and the SMMU being
mediated via in-memory circular queues.

This patch adds an initial driver for SMMUv3 to Linux. We currently
support pinned stage-1 (DMA) and stage-2 (KVM VFIO) mappings using the
generic IO-pgtable code.

Cc: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
MAINTAINERS
drivers/iommu/Kconfig
drivers/iommu/Makefile
drivers/iommu/arm-smmu-v3.c [new file with mode: 0644]