Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

doc: dma-buf: Rewrite intro section a little

Make it a little bit more clear what's going on and fix some formatting.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Simon Ser <contact@emersion.fr>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20230803154908.105124-3-daniels@collabora.com

authored by

Daniel Stone and committed by
Simon Ser
09902f3a d7a407bc

+15 -7
+15 -7
Documentation/driver-api/dma-buf.rst
··· 5 5 hardware (DMA) access across multiple device drivers and subsystems, and 6 6 for synchronizing asynchronous hardware access. 7 7 8 - This is used, for example, by drm "prime" multi-GPU support, but is of 9 - course not limited to GPU use cases. 8 + As an example, it is used extensively by the DRM subsystem to exchange 9 + buffers between processes, contexts, library APIs within the same 10 + process, and also to exchange buffers with other subsystems such as 11 + V4L2. 10 12 11 - The three main components of this are: (1) dma-buf, representing a 12 - sg_table and exposed to userspace as a file descriptor to allow passing 13 - between devices, (2) fence, which provides a mechanism to signal when 14 - one device has finished access, and (3) reservation, which manages the 15 - shared or exclusive fence(s) associated with the buffer. 13 + This document describes the way in which kernel subsystems can use and 14 + interact with the three main primitives offered by dma-buf: 15 + 16 + - dma-buf, representing a sg_table and exposed to userspace as a file 17 + descriptor to allow passing between processes, subsystems, devices, 18 + etc; 19 + - dma-fence, providing a mechanism to signal when an asynchronous 20 + hardware operation has completed; and 21 + - dma-resv, which manages a set of dma-fences for a particular dma-buf 22 + allowing implicit (kernel-ordered) synchronization of work to 23 + preserve the illusion of coherent access 16 24 17 25 Shared DMA Buffers 18 26 ------------------