Thread (49 messages) 49 messages, 11 authors, 2022-08-10

Re: DMA-buf and uncached system memory

From: Thomas Zimmermann <tzimmermann@suse.de>
Date: 2021-02-15 12:03:00
Also in: dri-devel, lkml

Hi

Am 15.02.21 um 10:49 schrieb Thomas Zimmermann:
Hi

Am 15.02.21 um 09:58 schrieb Christian König:
quoted
Hi guys,

we are currently working an Freesync and direct scan out from system 
memory on AMD APUs in A+A laptops.

On problem we stumbled over is that our display hardware needs to scan 
out from uncached system memory and we currently don't have a way to 
communicate that through DMA-buf.
Re-reading this paragrah, it sounds more as if you want to let the 
exporter know where to move the buffer. Is this another case of the 
missing-pin-flag problem?

Best regards
Thomas
quoted
For our specific use case at hand we are going to implement something 
driver specific, but the question is should we have something more 
generic for this?
For vmap operations, we return the address as struct dma_buf_map, which 
contains additional information about the memory buffer. In vram 
helpers, we have the interface drm_gem_vram_offset() that returns the 
offset of the GPU device memory.

Would it be feasible to combine both concepts into a dma-buf interface 
that returns the device-memory offset plus the additional caching flag?

There'd be a structure and a getter function returning the structure.

struct dma_buf_offset {
     bool cached;
     u64 address;
};

// return offset in *off
int dma_buf_offset(struct dma_buf *buf, struct dma_buf_off *off);

Whatever settings are returned by dma_buf_offset() are valid while the 
dma_buf is pinned.

Best regards
Thomas
quoted
After all the system memory access pattern is a PCIe extension and as 
such something generic.

Regards,
Christian.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help