Hi,
Removing one PCI function can disable the micro-TLB still used by other
functions, causing their DMA to bypass the IOMMU. This series leaves
shared micro-TLBs unchanged on device release and cleans them up when
their domain's context is destroyed.
v2 was retested in the same manner as v1 (with the Linux PCI endpoint
framework exposing two functions to an R-Car S4 Spider host, by removing
an unused function that shares a micro-TLB with the remaining function.)
Best regards,
Koichiro Den
---
v1->v2 changes:
- Move micro-TLB cleanup from device release to context destruction,
drop per-device reference counting. (Robin)
- Drop v1 patch 2, as it is no longer needed.
v1: https://lore.kernel.org/r/20261104162251.1749998-1-den@valinux.co.jp/
Koichiro Den (2):
iommu/ipmmu-vmsa: Propagate errors from iommu_fwspec_add_ids()
iommu/ipmmu-vmsa: Keep shared micro-TLBs enabled while in use
drivers/iommu/ipmmu-vmsa.c | 42 ++++++++++++++++----------------------
1 file changed, 18 insertions(+), 24 deletions(-)
base-commit: 528280c12a26c9da2449c42c5ab4a5c4fe6dbb9c
--
2.54.0