[PATCH 0/2] iommu: Make pasid array per device

From: Lu Baolu
Date: Tue Aug 01 2023 - 02:34:31 EST

The PCI PASID enabling interface guarantees that the address space used
by each PASID is unique. This is achieved by checking that the PCI ACS
path is enabled for the device. If the path is not enabled, then the
PASID feature cannot be used.

if (!pci_acs_path_enabled(pdev, NULL, PCI_ACS_RR | PCI_ACS_UF))
return -EINVAL;

The PASID array is not an attribute of the IOMMU group. It is more
natural to store the PASID array in the per-device IOMMU data. This
makes the code clearer and easier to understand. No functional changes
are intended.

Please help review and suggest.

Lu Baolu (2):
iommu: Consolidate pasid dma ownership check
iommu: Move pasid array from group to device

include/linux/iommu.h | 2 +
drivers/iommu/iommu.c | 105 +++++++++++++++++-------------------------
2 files changed, 43 insertions(+), 64 deletions(-)