On Thu, Nov 20, 2025 at 08:03:09AM +0100, Christian König wrote:
On 11/19/25 17:33, Leon Romanovsky wrote:
On Wed, Nov 19, 2025 at 03:53:30PM +0100, Christian König wrote:
<...>
>> +struct sg_table *dma_buf_map(struct dma_buf_attachment *attach, > > That is clearly not a good name for this function. We already have overloaded the term *mapping* with something completely different.
This function performs DMA mapping, so what name do you suggest instead of dma_buf_map()?
Something like dma_buf_phys_vec_to_sg_table(). I'm not good at naming either.
Can I call it simply dma_buf_mapping() as I plan to put that function in dma_buf_mapping.c file per-your request.
No, just completely drop the term "mapping" here. This is about phys_vector to sg_table conversion and nothing else.
In order to progress, I renamed these functions to be dma_buf_phys_vec_to_sgt() and dma_buf_free_sgt(), and put everything in dma_buf_mapping.c file.
Yeah, the problem is I even thought more about it and came to the conclusion that this is still not sufficient for an rb or an Ack-by.
A core concept of DMA-buf is that the exporter takes care of all the mappings and not the framework.
Calling pci_p2pdma_bus_addr_map(), dma_map_phys() or dma_map_phys() from DMA-buf code is extremely questionable.
That should really be inside VFIO and not DMA-buf code, so to move forward I strongly suggest to either move that into VFIO or the DMA API directly.
We got the request to move to DMABUF and agreement a long time ago, in v5. https://lore.kernel.org/all/aPYrEroyWVOvAu-5@infradead.org/
Thanks
Regards, Christian.
Thanks