[PATCH v3 0/2] Simplify and restrict IOMMU SVA APIs

From: Jacob Pan
Date: Fri Apr 16 2021 - 17:21:43 EST


A couple of small changes to simplify and restrict SVA APIs. The motivation
is to make PASID allocation palatable for cgroup consumptions. Misc cgroup
is merged for v5.13, it can be extended for IOASID as another scalar
resource.

I have not tested on ARM platforms due to availability. Would appreciate
if someone could help with the testing on uacce based SVA usages.

Thanks,

Jacob

ChangeLog:
V3 - stop passing mm to sva_bind IOMMU ops, no need to take mm refcount
in the common SVA code.
- deleted flag variable in idxd driver

V2
- retained mm argument in iommu_sva_alloc_pasid()
- keep generic supervisor flag separated from vt-d's SRE
- move flag declaration out of CONFIG_IOMMU_API



Jacob Pan (2):
iommu/sva: Tighten SVA bind API with explicit flags
iommu/sva: Remove mm parameter from SVA bind API

drivers/dma/idxd/cdev.c | 2 +-
drivers/dma/idxd/init.c | 7 ++----
.../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 12 ++++++----
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 5 ++--
drivers/iommu/intel/svm.c | 19 ++++++++-------
drivers/iommu/iommu-sva-lib.c | 11 +++++----
drivers/iommu/iommu-sva-lib.h | 2 +-
drivers/iommu/iommu.c | 13 +++++------
drivers/misc/uacce/uacce.c | 2 +-
include/linux/intel-iommu.h | 3 +--
include/linux/intel-svm.h | 17 ++------------
include/linux/iommu.h | 23 ++++++++++++++-----
12 files changed, 56 insertions(+), 60 deletions(-)


base-commit: e49d033bddf5b565044e2abe4241353959bc9120
--
2.25.1