Re: [RFC 0/8] Copy Offload with Peer-to-Peer PCI Memory

From: Jason Gunthorpe
Date: Wed Apr 19 2017 - 11:56:41 EST


On Wed, Apr 19, 2017 at 11:20:06AM +1000, Benjamin Herrenschmidt wrote:

> That helper wouldn't perform the actual iommu mapping. It would simply
> return something along the lines of:
>
> - "use that alternate bus address and don't map in the iommu"

I was thinking only this one would be supported with a core code
helper..

> - "use that alternate bus address and do map in the iommu"
> - "proceed as normal"

.. because I don't have an idea how a core code helper could figure
out what the platform needs for the above two ..

I think many of the iommu platforms will need to construct their own
bus address in the iommu, and we already have easy access to the CPU
address.

Presumably once a transcation passes through the iommu it needs to be
using the CPU address for the target bar, otherwise things are going
to be ambiguous..

Jason