Re: [PATCH v5 3/7] iommu: Move global PASID allocation from SVA to core

From: Baolu Lu
Date: Wed May 03 2023 - 02:32:45 EST


On 4/28/23 1:49 AM, Jacob Pan wrote:
+ioasid_t iommu_alloc_global_pasid_dev(struct device *dev)
+{
+ int ret;
+ ioasid_t max;
+
+ max = dev_iommu_get_max_pasids(dev);

Perhaps you can use dev->iommu->max_pasids. It's static, so no need to
recalculate it.

+ ret = ida_alloc_range(&iommu_global_pasid_ida, IOMMU_DEF_RID_PASID + 1, max, GFP_KERNEL);
+ if (ret < 0)
+ return IOMMU_PASID_INVALID;
+
+ return ret;
+}
+EXPORT_SYMBOL_GPL(iommu_alloc_global_pasid_dev);

Best regards,
baolu