> From: Baolu Lu <baolu.lu@xxxxxxxxxxxxxxx> > Sent: Friday, March 3, 2023 12:38 PM > > On 3/3/23 11:02 AM, Tian, Kevin wrote: > >> From: Baolu Lu <baolu.lu@xxxxxxxxxxxxxxx> > >> Sent: Friday, March 3, 2023 10:49 AM > >> > >> On 3/3/23 10:36 AM, Tian, Kevin wrote: > >>>> From: Baolu Lu <baolu.lu@xxxxxxxxxxxxxxx> > >>>> Sent: Thursday, March 2, 2023 10:07 PM > >>>>> + > >>>>> + if (!sm_supported(iommu) || !info) > >>>> > >>>> @info has been referenced. !info check makes no sense. > >>>> > >>>> Add pasid_supported(iommu). > >>>> > >>>> Do you need to check whether the domain is compatible for this rid > >>>> pasid? > >>> > >>> what kind of compatibility is concerned here? In concept a pasid > >>> can be attached to any domain if it has been successfully attached > >>> to rid. Probably we can add a check here that RID2PASID must > >>> point to the domain already. > >> > >> "...if it has been successfully attached to rid..." > >> > >> We should not have this assumption in iommu driver's callback. The > iommu > >> driver has no (and should not have) knowledge about the history of any > >> domain. > > > > but this is an op for default domain which must have been attached > > to RID2PASID and any compatibility check between this domain and device > > should be passed. > > This is an op for DMA, DMA-FQ and UNMANAGED domain. The IOMMU > driver > doesn't need to interpret the default domain concept. :-) > yes if we target a general callback for all those domain types. and probably this is the right thing to do as in the end DMA type will be removed with Jason's cleanup