> From: Liu, Yi L <yi.l.liu@xxxxxxxxx> > Sent: Thursday, February 8, 2024 4:23 PM > > ATS-capable devices cache the result of nested translation. This result > relies on the mappings in s2 domain (a.k.a. parent). When there are > modifications in the s2 domain, the related nested translation caches on > the device should be flushed. This includes the devices that are attached > to the s1 domain. However, the existing code ignores this fact to only > loops its own devices. > > As there is no easy way to identify the exact set of nested translations > affected by the change of s2 domain. So, this just flushes the entire > device iotlb on the device. > > As above, driver loops the s2 domain's s1_domains list and loops the devices > list of each s1_domain to flush the entire device iotlb on the devices. > > Fixes: b41e38e22539 ("iommu/vt-d: Add nested domain allocation") > Signed-off-by: Yi Liu <yi.l.liu@xxxxxxxxx> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>