implement generic dma_map_ops for IOMMUs v5

From: Christoph Hellwig
Date: Mon May 20 2019 - 03:34:50 EST


Hi Robin and Joerg,

I think we are finally ready for the generic dma-iommu series. I have
various DMA API changes pending, and Tom has patches ready to convert
the AMD and Intel iommu drivers over to it. I'd love to have this
in a stable branch shared between the dma-mapping and iommu trees
the day after rc2 is released. I volunteer to create the branch,
but I'm fine with it living in the iommu tree as well. Before that
Will has already said he wants to send the first patch in the series
to Linus for this merge window.


A git tree is also available at:

git://git.infradead.org/users/hch/misc.git dma-iommu-ops.5

Gitweb:

http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/dma-iommu-ops.5

Changes since v4:
- rebased to 5.2-rc1

Changes since v3:
- fold the separate patch to refactor mmap bounds checking
- don't warn on not finding a vm_area
- improve a commit log
- refactor __dma_iommu_free a little differently
- remove a minor MSI map cleanup to avoid a conflict with the
"Split iommu_dma_map_msi_msg" series

Changes since v2:
- address various review comments and include patches from Robin

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