On Tue, Jan 27, 2026 at 04:48:36PM -0800, Matthew Brost wrote:
> Add an IOVA interface to the DRM pagemap layer. This provides a semantic
> wrapper around the dma-map IOVA alloc/link/sync/unlink/free API while
> remaining flexible enough to support future high-speed interconnects
> between devices.

I don't think this is a very clear justification.

"IOVA" and dma_addr_t should be strictly reserved for communication
that flows through the interconnect that Linux struct device is aware
of (ie the PCIe fabric). It should not ever be used for "high speed
interconnects" implying some private and hidden things like
xgmi/nvlink/ualink type stuff.

I can't think of any reason why you'd want to delegate constructing
the IOVA to some other code. I can imagine you'd want to get a pfn
list from someplace else and turn that into a mapping.

My understanding of all the private interconnects is you get an
interconnect address and program it directly into the device HW,
possibly with a "use interconnect" bit, and the device never touches
the PCIe fabric at all.

Jason

Reply via email to