On Tue, Jun 22, 2021 at 05:29:01PM +0200, Christian König wrote:
[SNIP]None of that is PCI P2P.
No absolutely not. NVidia GPUs work exactly the same way.
And you have tons of similar cases in embedded and SoC systems where
intermediate memory between devices isn't directly addressable with the CPU.
It is all some specialty direct transfer.
You can't reasonably call dma_map_resource() on non CPU mapped memory
for instance, what address would you pass?
Do not confuse "I am doing transfers between two HW blocks" with PCI
Peer to Peer DMA transfers - the latter is a very narrow subcase.
No, just using the dma_map_resource() interface.Ik, but yes that does "work". Logan's series is better.
[SNIP]Huh? All the iommu interfaces except for the dma_map_resource() are
Well that is certainly not true. I'm just not sure if that works with all
IOMMU drivers thought.
struct page based. dma_map_resource() is slow ad limited in what it
can do.
Jason