|author||Rob Clark <firstname.lastname@example.org>||2016-03-31 16:26:52 -0400|
|committer||Sumit Semwal <email@example.com>||2016-05-31 22:16:53 +0530|
doc: update/fixup dma-buf related DocBook
Split out dma-buf related parts into their own section, add missing files, and write a bit of overview about how it all fits together. Signed-off-by: Rob Clark <firstname.lastname@example.org> Signed-off-by: Sumit Semwal <email@example.com>
Diffstat (limited to 'Documentation')
1 files changed, 32 insertions, 4 deletions
diff --git a/Documentation/DocBook/device-drivers.tmpl b/Documentation/DocBook/device-drivers.tmpl
index de79efdad46c..8c68768ebee5 100644
@@ -128,16 +128,44 @@ X!Edrivers/base/interface.c
- <sect1><title>Device Drivers DMA Management</title>
+ <title>Buffer Sharing and Synchronization</title>
+ The dma-buf subsystem provides the framework for sharing buffers
+ for hardware (DMA) access across multiple device drivers and
+ subsystems, and for synchronizing asynchronous hardware access.
+ This is used, for example, by drm "prime" multi-GPU support, but
+ is of course not limited to GPU use cases.
+ The three main components of this are: (1) dma-buf, representing
+ a sg_table and exposed to userspace as a file descriptor to allow
+ passing between devices, (2) fence, which provides a mechanism
+ to signal when one device as finished access, and (3) reservation,
+ which manages the shared or exclusive fence(s) associated with
+ the buffer.
+!Pdrivers/dma-buf/reservation.c Reservation Object Overview
+ <sect1><title>Device Drivers DMA Management</title>