Hi Robin, please take a look at this series, which implements a completely generic set of dma_map_ops for IOMMU drivers. This is done by taking the existing arm64 code, moving it to drivers/iommu and then massaging it so that it can also work for architectures with DMA remapping. This should help future ports to support IOMMUs more easily, and also allow to remove various custom IOMMU dma_map_ops implementations, like Tom was planning to for the AMD one.
A git tree is also available at: git://git.infradead.org/users/hch/misc.git dma-iommu-ops.2 Gitweb: http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/dma-iommu-ops.2 Changes since v1: - only include other headers in dma-iommu.h if CONFIG_DMA_IOMMU is enabled - keep using a scatterlist in iommu_dma_alloc - split out mmap/sgtable fixes and move them early in the series - updated a few commit logs