> From: Baolu Lu <baolu.lu@xxxxxxxxxxxxxxx> > Sent: Thursday, March 2, 2023 10:07 PM > > > + > > + if (hw_pass_through && domain_type_is_si(dmar_domain)) > > + ret = intel_pasid_setup_pass_through(iommu, dmar_domain, > > + dev, pasid); > > + else if (dmar_domain->use_first_level) > > + ret = domain_setup_first_level(iommu, dmar_domain, > > + dev, pasid); > > + else > > + ret = intel_pasid_setup_second_level(iommu, dmar_domain, > > + dev, pasid); > > + > > + return ret; > > +} > > Do you need to consider pasid cache invalidation? > To avoid confusion this is not about invalidation of pasid cache itself which should be covered by above setup functions already. Here actually means per-PASID invalidation in iotlb and devtlb. Today only RID is tracked per domain for invalidation. it needs extension to walk attached pasid too.