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

From: Jacob Pan
Date: Mon May 10 2021 - 18:01:37 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:
V4 - fixed a cross-compile error
- rebased to v5.13-rc1 resolved a conflict in intel-svm code

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 | 12 ----------
include/linux/iommu.h | 23 ++++++++++++++-----
12 files changed, 54 insertions(+), 57 deletions(-)

--
2.25.1