Re: [PATCH v4 04/14] PCI/P2PDMA: Clear ACS P2P flags for all devices behind switches
From: Logan Gunthorpe
Date: Fri May 11 2018 - 18:55:45 EST
On 5/11/2018 4:24 PM, Stephen Bates wrote:
All
ÂAlex (or anyone else) can you point to where IOVA addresses are generated?
A case of RTFM perhaps (though a pointer to the code would still be appreciated).
https://www.kernel.org/doc/Documentation/Intel-IOMMU.txt
Some exceptions to IOVA
-----------------------
Interrupt ranges are not address translated, (0xfee00000 - 0xfeefffff).
The same is true for peer to peer transactions. Hence we reserve the
address from PCI MMIO ranges so they are not allocated for IOVA addresses.
Hmm, except I'm not sure how to interpret that. It sounds like there
can't be an IOVA address that overlaps with the PCI MMIO range which is
good and what I'd expect.
But for peer to peer they say they don't translate the address which
implies to me that the intention is for a peer to peer address to not be
mapped in the same way using the dma_map interface (of course though if
you were using ATS you'd want this for sure). Unless the existing
dma_map command's notice a PCI MMIO address and handle them differently,
but I don't see how.
Logan