Lines Matching +full:engine +full:- +full:specific
2 DMA Engine API Guide
7 .. note:: For DMA Engine usage in async_tx please see:
8 ``Documentation/crypto/async-tx-api.rst``
11 Below is a guide to device driver writers on how to use the Slave-DMA API of the
12 DMA Engine. This is applicable only for slave DMA usage only.
19 - Allocate a DMA slave channel
21 - Set slave and controller specific parameters
23 - Get a descriptor for transaction
25 - Submit the transaction
27 - Issue pending requests and wait for callback notification
35 controller only and even in some cases a specific channel is desired.
40 .. code-block:: c
51 2. Set slave and controller specific parameters
53 Next step is always to pass some specific information to the DMA
61 specific structure. That gives flexibility to client to pass more
66 .. code-block:: c
79 DMA-engine are:
81 - slave_sg: DMA a list of scatter gather buffers from/to a peripheral
83 - dma_cyclic: Perform a cyclic DMA operation from/to a peripheral till the
86 - interleaved_dma: This is common to Slave as well as M2M clients. For slave
93 A non-NULL return of this transfer API represents a "descriptor" for
98 .. code-block:: c
121 .. code-block:: c
132 added and the descriptor must then be submitted. Some DMA engine
151 Therefore, it is important that DMA engine drivers drop any
167 .. code-block:: c
186 .. code-block:: c
196 .. code-block:: c
205 - DMA_MEM_TO_DEV / DEV_MEM_TO_MEM:
213 - DMA_DEV_TO_MEM:
224 - DMA_MEM_TO_DEV / DEV_MEM_TO_MEM:
228 engine's metadata area
230 4. use dmaengine_desc_set_metadata_len() to tell the DMA engine the
234 - DMA_DEV_TO_MEM:
239 the pointer to the engine's metadata area
254 added, it must be placed on the DMA engine drivers pending queue.
258 .. code-block:: c
262 This returns a cookie can be used to check the progress of DMA engine
263 activity via other DMA engine calls not covered in this document.
271 (``struct dma_async_tx_descriptor``) belongs to the DMA engine.
287 .. code-block:: c
292 ------------
296 .. code-block:: c
323 .. code-block:: c
331 .. code-block:: c
340 .. code-block:: c
351 completion of a specific DMA transaction.
355 Not all DMA engine drivers can return reliable information for
356 a running DMA channel. It is recommended that DMA engine users
362 .. code-block:: c