> From: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> > Sent: Friday, April 28, 2023 1:50 AM > > PCIe Process address space ID (PASID) is used to tag DMA traffic, it > provides finer grained isolation than requester ID (RID). > > For each RID, 0 is as a special PASID for the legacy DMA (without > PASID), thus RID_PASID. This is universal across all architectures, > therefore warranted to be declared in the common header. > Noting that VT-d could support none-zero RID_PASID, but currently not > used. > > By having a common RID_PASID, we can avoid conflicts between different > use cases in the generic code. e.g. SVA and DMA API with PASIDs. You intend it to be generic but in the end only vt-d driver is changed to use it in this series... > @@ -190,6 +190,7 @@ enum iommu_dev_features { > IOMMU_DEV_FEAT_IOPF, > }; > > +#define IOMMU_DEF_RID_PASID (0U) /* Reserved for DMA w/o PASID > */ Is RID a general team on other platform? Would IOMMU_DEF_NO_PASID serve the purpose better?