> From: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> > Sent: Friday, April 28, 2023 11:56 PM > > Hi Kevin, > > On Fri, 28 Apr 2023 09:38:32 +0000, "Tian, Kevin" <kevin.tian@xxxxxxxxx> > wrote: > > > > 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... > change for SVA is in the patch. My point was that since it is common why there is no change in arm-smmu driver to use the common macro? > > > > @@ -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? > RID, aka requester id is a PCI term. so I this it is common though on SMMU > might be better called stream ID PASID? > > > Would IOMMU_DEF_NO_PASID serve the purpose better? > not sure, it is still a PASID. For completeness, might be called > IOMMU_DEF_PASID_FOR_DMA_NO_PASID :) > > other suggestions? > that is even worse. Let's keep the original one and see whether others have better suggestion.