[RESEND PATCH v14 00/13] iommu: SVA and IOPF refactoring

From: Lu Baolu
Date: Sun Oct 30 2022 - 21:06:32 EST


Hi Joerg,

This is a resent version of v14 which was posted here:
https://lore.kernel.org/linux-iommu/20220924001204.4005613-1-baolu.lu@xxxxxxxxxxxxxxx/

No further comments since the last post. So I rebased it on the top of
v6.1-rc3 so that you can easily take it for v6.2 if you have interest.

It's purely a rebased version, no functional change. Please refer to
the original post for series description and change history.

This series is also available on github:

https://github.com/LuBaolu/intel-iommu/commits/iommu-sva-refactoring-v14-resend

Please consider it for your iommu tree.

Best regards,
baolu

Lu Baolu (13):
iommu: Add max_pasids field in struct iommu_device
iommu: Add max_pasids field in struct dev_iommu
iommu: Remove SVM_FLAG_SUPERVISOR_MODE support
PCI: Enable PASID only when ACS RR & UF enabled on upstream path
iommu: Add attach/detach_dev_pasid iommu interfaces
iommu: Add IOMMU SVA domain support
iommu/vt-d: Add SVA domain support
arm-smmu-v3/sva: Add SVA domain support
iommu/sva: Refactoring iommu_sva_bind/unbind_device()
iommu: Remove SVA related callbacks from iommu ops
iommu: Prepare IOMMU domain for IOPF
iommu: Per-domain I/O page fault handling
iommu: Rename iommu-sva-lib.{c,h}

include/linux/intel-svm.h | 13 -
include/linux/iommu.h | 116 ++++++--
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 23 +-
drivers/iommu/intel/iommu.h | 18 +-
.../iommu/{iommu-sva-lib.h => iommu-sva.h} | 14 +-
drivers/dma/idxd/cdev.c | 3 +-
drivers/dma/idxd/init.c | 25 +-
.../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 104 ++++---
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 21 +-
drivers/iommu/intel/dmar.c | 7 +
drivers/iommu/intel/iommu.c | 30 +-
drivers/iommu/intel/svm.c | 145 ++++-----
drivers/iommu/io-pgfault.c | 77 ++---
drivers/iommu/iommu-sva-lib.c | 71 -----
drivers/iommu/iommu-sva.c | 240 +++++++++++++++
drivers/iommu/iommu.c | 277 ++++++++++++------
drivers/misc/uacce/uacce.c | 2 +-
drivers/pci/ats.c | 3 +
drivers/iommu/Makefile | 2 +-
19 files changed, 732 insertions(+), 459 deletions(-)
rename drivers/iommu/{iommu-sva-lib.h => iommu-sva.h} (83%)
delete mode 100644 drivers/iommu/iommu-sva-lib.c
create mode 100644 drivers/iommu/iommu-sva.c

--
2.34.1