diff options
author | Rob Clark <robdclark@gmail.com> | 2016-03-31 16:26:52 -0400 |
---|---|---|
committer | Sumit Semwal <sumit.semwal@linaro.org> | 2016-05-31 12:46:53 -0400 |
commit | eae1760fc838d5f569a80939f72483f02ac049c5 (patch) | |
tree | 4a6c77e46e5a916e420c26232b13ece64cb46e14 | |
parent | dad6c3945fd25384c2b92306a90ba033e1130428 (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.tmpl | 36 |
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> |