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
