RE: [PATCH v9 07/11] iommu/sva: Refactoring iommu_sva_bind/unbind_device()

From: Tian, Kevin
Date: Tue Jun 28 2022 - 04:53:28 EST


> From: Baolu Lu <baolu.lu@xxxxxxxxxxxxxxx>
> Sent: Tuesday, June 28, 2022 1:54 PM
> >> +u32 iommu_sva_get_pasid(struct iommu_sva *handle)
> >> +{
> >> + struct iommu_domain *domain =
> >> + container_of(handle, struct iommu_domain, bond);
> >> +
> >> + return domain->mm->pasid;
> >> +}
> >> +EXPORT_SYMBOL_GPL(iommu_sva_get_pasid);
> >
> > Looks this is only used by unbind_device. Just open code it.
>
> It's part of current IOMMU/SVA interfaces for the device drivers, and
> has been used in various drivers.
>
> $ git grep iommu_sva_get_pasid
> drivers/dma/idxd/cdev.c: pasid = iommu_sva_get_pasid(sva);
> drivers/iommu/iommu-sva-lib.c: ioasid_t pasid =
> iommu_sva_get_pasid(handle);
> drivers/iommu/iommu-sva-lib.c:u32 iommu_sva_get_pasid(struct
> iommu_sva
> *handle)
> drivers/iommu/iommu-sva-
> lib.c:EXPORT_SYMBOL_GPL(iommu_sva_get_pasid);
> drivers/misc/uacce/uacce.c: pasid = iommu_sva_get_pasid(handle);
> include/linux/iommu.h:u32 iommu_sva_get_pasid(struct iommu_sva
> *handle);
> include/linux/iommu.h:static inline u32 iommu_sva_get_pasid(struct
> iommu_sva *handle)
>
> Or, I missed anything?
>

Forget it. I thought it's a new function introduced in this series. :/