aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2016-03-31 16:26:52 -0400
committerSumit Semwal <sumit.semwal@linaro.org>2016-05-31 12:46:53 -0400
commiteae1760fc838d5f569a80939f72483f02ac049c5 (patch)
tree4a6c77e46e5a916e420c26232b13ece64cb46e14
parentdad6c3945fd25384c2b92306a90ba033e1130428 (diff)
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 <robdclark@gmail.com> Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
-rw-r--r--Documentation/DocBook/device-drivers.tmpl36
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
--- a/Documentation/DocBook/device-drivers.tmpl
+++ b/Documentation/DocBook/device-drivers.tmpl
@@ -128,16 +128,44 @@ X!Edrivers/base/interface.c
128!Edrivers/base/platform.c 128!Edrivers/base/platform.c
129!Edrivers/base/bus.c 129!Edrivers/base/bus.c
130 </sect1> 130 </sect1>
131 <sect1><title>Device Drivers DMA Management</title> 131 <sect1>
132 <title>Buffer Sharing and Synchronization</title>
133 <para>
134 The dma-buf subsystem provides the framework for sharing buffers
135 for hardware (DMA) access across multiple device drivers and
136 subsystems, and for synchronizing asynchronous hardware access.
137 </para>
138 <para>
139 This is used, for example, by drm "prime" multi-GPU support, but
140 is of course not limited to GPU use cases.
141 </para>
142 <para>
143 The three main components of this are: (1) dma-buf, representing
144 a sg_table and exposed to userspace as a file descriptor to allow
145 passing between devices, (2) fence, which provides a mechanism
146 to signal when one device as finished access, and (3) reservation,
147 which manages the shared or exclusive fence(s) associated with
148 the buffer.
149 </para>
150 <sect2><title>dma-buf</title>
132!Edrivers/dma-buf/dma-buf.c 151!Edrivers/dma-buf/dma-buf.c
152!Iinclude/linux/dma-buf.h
153 </sect2>
154 <sect2><title>reservation</title>
155!Pdrivers/dma-buf/reservation.c Reservation Object Overview
156!Edrivers/dma-buf/reservation.c
157!Iinclude/linux/reservation.h
158 </sect2>
159 <sect2><title>fence</title>
133!Edrivers/dma-buf/fence.c 160!Edrivers/dma-buf/fence.c
134!Edrivers/dma-buf/seqno-fence.c
135!Iinclude/linux/fence.h 161!Iinclude/linux/fence.h
162!Edrivers/dma-buf/seqno-fence.c
136!Iinclude/linux/seqno-fence.h 163!Iinclude/linux/seqno-fence.h
137!Edrivers/dma-buf/reservation.c
138!Iinclude/linux/reservation.h
139!Edrivers/dma-buf/sync_file.c 164!Edrivers/dma-buf/sync_file.c
140!Iinclude/linux/sync_file.h 165!Iinclude/linux/sync_file.h
166 </sect2>
167 </sect1>
168 <sect1><title>Device Drivers DMA Management</title>
141!Edrivers/base/dma-coherent.c 169!Edrivers/base/dma-coherent.c
142!Edrivers/base/dma-mapping.c 170!Edrivers/base/dma-mapping.c
143 </sect1> 171 </sect1>