I find this hard to believe. There's always the possibility
part of the system doesn't support ACS so if the PCI bus addresses and
IOVA overlap there's a good chance that P2P and ATS won't work at all on
I tend to agree but this comes down to how IOVA addresses are generated in the kernel.
Alex (or anyone else) can you point to where IOVA addresses are generated? As Logan stated
earlier, p2pdma bypasses this and programs the PCI bus address directly but other IO going
to the same PCI EP may flow through the IOMMU and be programmed with IOVA rather than PCI
the option to disable the ACS bit on boot and let the existing code put
the devices into their own IOMMU group (as it should already do to
support hardware that doesn't have ACS support).