From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Tom Murphy Subject: [RFC 0/7] Convert the Intel iommu driver to the dma-ops api Date: Sat, 4 May 2019 14:23:16 +0100 Message-Id: <20190504132327.27041-1-tmurphy@arista.com> Sender: kvm-owner@vger.kernel.org List-Archive: List-Post: To: iommu@lists.linux-foundation.org Cc: murphyt7@tcd.ie, Tom Murphy , Joerg Roedel , Will Deacon , Robin Murphy , Marek Szyprowski , Kukjin Kim , Krzysztof Kozlowski , David Woodhouse , Andy Gross , David Brown , Matthias Brugger , Rob Clark , Heiko Stuebner , Gerald Schaefer , Thierry Reding , Jonathan Hunter , Alex Williamson , Marc Zyngier , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-s390@vger.kernel.org, linux-tegra@vger.kernel.org, kvm@vger.kernel.org List-ID: Convert the intel iommu driver to the dma-ops api so that we can remove a bunch of repeated code. This patchset depends on the "iommu/vt-d: Delegate DMA domain to generic iommu" and "iommu/amd: Convert the AMD iommu driver to the dma-iommu api" patch sets which haven't yet merged so this is just a RFC to get some feedback before I do more testing. Tom Murphy (7): iommu/vt-d: Set the dma_ops per device so we can remove the iommu_no_mapping code iommu/vt-d: Remove iova handling code from non-dma ops path iommu: improve iommu iotlb flushing iommu/dma-iommu: Handle freelists in the dma-iommu api path iommu/dma-iommu: add wrapper for iommu_dma_free_cpu_cached_iovas iommu/vt-d: convert the intel iommu driver to the dma-iommu ops api iommu/vt-d: Always set DMA_PTE_READ if the iommu doens't support zero length reads drivers/iommu/Kconfig | 1 + drivers/iommu/amd_iommu.c | 14 +- drivers/iommu/arm-smmu-v3.c | 3 +- drivers/iommu/arm-smmu.c | 2 +- drivers/iommu/dma-iommu.c | 48 ++- drivers/iommu/exynos-iommu.c | 3 +- drivers/iommu/intel-iommu.c | 605 +++++--------------------------- drivers/iommu/iommu.c | 21 +- drivers/iommu/ipmmu-vmsa.c | 2 +- drivers/iommu/msm_iommu.c | 2 +- drivers/iommu/mtk_iommu.c | 3 +- drivers/iommu/mtk_iommu_v1.c | 3 +- drivers/iommu/omap-iommu.c | 2 +- drivers/iommu/qcom_iommu.c | 2 +- drivers/iommu/rockchip-iommu.c | 2 +- drivers/iommu/s390-iommu.c | 3 +- drivers/iommu/tegra-gart.c | 2 +- drivers/iommu/tegra-smmu.c | 2 +- drivers/vfio/vfio_iommu_type1.c | 3 +- include/linux/dma-iommu.h | 3 + include/linux/intel-iommu.h | 1 - include/linux/iommu.h | 24 +- 22 files changed, 175 insertions(+), 576 deletions(-) -- 2.17.1