Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eae1760f authored by Rob Clark's avatar Rob Clark Committed by Sumit Semwal
Browse files

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: default avatarRob Clark <robdclark@gmail.com>
Signed-off-by: default avatarSumit Semwal <sumit.semwal@linaro.org>
parent dad6c394
Loading
Loading
Loading
Loading
+32 −4
Original line number Diff line number Diff line
@@ -128,16 +128,44 @@ X!Edrivers/base/interface.c
!Edrivers/base/platform.c
!Edrivers/base/bus.c
     </sect1>
     <sect1><title>Device Drivers DMA Management</title>
     <sect1>
       <title>Buffer Sharing and Synchronization</title>
       <para>
         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.
       </para>
       <para>
         This is used, for example, by drm "prime" multi-GPU support, but
         is of course not limited to GPU use cases.
       </para>
       <para>
         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.
       </para>
       <sect2><title>dma-buf</title>
!Edrivers/dma-buf/dma-buf.c
!Iinclude/linux/dma-buf.h
       </sect2>
       <sect2><title>reservation</title>
!Pdrivers/dma-buf/reservation.c Reservation Object Overview
!Edrivers/dma-buf/reservation.c
!Iinclude/linux/reservation.h
       </sect2>
       <sect2><title>fence</title>
!Edrivers/dma-buf/fence.c
!Edrivers/dma-buf/seqno-fence.c
!Iinclude/linux/fence.h
!Edrivers/dma-buf/seqno-fence.c
!Iinclude/linux/seqno-fence.h
!Edrivers/dma-buf/reservation.c
!Iinclude/linux/reservation.h
!Edrivers/dma-buf/sync_file.c
!Iinclude/linux/sync_file.h
       </sect2>
     </sect1>
     <sect1><title>Device Drivers DMA Management</title>
!Edrivers/base/dma-coherent.c
!Edrivers/base/dma-mapping.c
     </sect1>