On Mon, Jun 24, 2019 at 03:50:24PM +0200, Christoph Hellwig wrote: > On Mon, Jun 24, 2019 at 10:46:41AM -0300, Jason Gunthorpe wrote: > > BTW, it is not just offset right? It is possible that the IOMMU can > > generate unique dma_addr_t values for each device?? Simple offset is > > just something we saw in certain embedded cases, IIRC. > > Yes, it could. If we are trying to do P2P between two devices on > different root ports and with the IOMMU enabled we'll generate > a new bus address for the BAR on the other side dynamically everytime > we map. Even with the same root port if ACS is turned on could behave like this. It is only a very narrow case where you can take shortcuts with dma_addr_t, and I don't think shortcuts like are are appropriate for the mainline kernel.. Jason