arm: dma-mapping: plumb our iommu mapping ops into arch_setup_dma_ops
authorWill Deacon <will.deacon@arm.com>
Wed, 27 Aug 2014 16:52:44 +0000 (17:52 +0100)
committerWill Deacon <will.deacon@arm.com>
Mon, 1 Dec 2014 16:51:35 +0000 (16:51 +0000)
commit4bb25789ed28228a52c030bf28edb2fcdb214be8
treeaafa892add12a5acb47c69696de5dd7c95e0251e
parentaf4dda732ea044517f8beed4a38c852ea97e7690
arm: dma-mapping: plumb our iommu mapping ops into arch_setup_dma_ops

This patch plumbs the existing ARM IOMMU DMA infrastructure (which isn't
actually called outside of a few drivers) into arch_setup_dma_ops, so
that we can use IOMMUs for DMA transfers in a more generic fashion.

Since this significantly complicates the arch_setup_dma_ops function,
it is moved out of line into dma-mapping.c. If CONFIG_ARM_DMA_USE_IOMMU
is not set, the iommu parameter is ignored and the normal ops are used
instead.

Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm/include/asm/dma-mapping.h
arch/arm/mm/dma-mapping.c