Lines Matching full:dma

2 DMA Engine API Guide
7 .. note:: For DMA Engine usage in async_tx please see:
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.
14 DMA usage
17 The slave DMA usage consists of following steps:
19 - Allocate a DMA slave channel
31 1. Allocate a DMA slave channel
33 Channel allocation is slightly different in the slave DMA context,
34 client drivers typically need a channel from a particular DMA
44 Which will find and return the ``name`` DMA channel associated with the 'dev'
53 Next step is always to pass some specific information to the DMA
54 driver. Most of the generic information which a slave DMA can use
56 DMA direction, DMA addresses, bus widths, DMA burst lengths etc
59 If some DMA controllers have more parameters to be sent then they
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
112 the DMA operation prior to calling dmaengine_prep_slave_sg(), and must
113 keep the scatterlist mapped until the DMA operation has completed.
114 The scatterlist must be mapped using the DMA struct device.
116 called using the DMA struct device, too.
128 added and the descriptor must then be submitted. Some DMA engine
137 case for slave/cyclic DMA.
139 For slave DMA, the subsequent transaction may not be available
141 slave DMA callbacks are permitted to prepare and submit a new
144 For cyclic DMA, a callback function may wish to terminate the
145 DMA via dmaengine_terminate_async().
147 Therefore, it is important that DMA engine drivers drop any
151 Note that callbacks will always be invoked from the DMA
157 added, it must be placed on the DMA engine drivers pending queue.
165 This returns a cookie can be used to check the progress of DMA engine
166 activity via other DMA engine calls not covered in this document.
168 dmaengine_submit() will not start the DMA operation, it merely adds
174 (``struct dma_async_tx_descriptor``) belongs to the DMA engine.
178 5. Issue pending DMA requests and wait for callback notification
184 On completion of each DMA operation, the next in queue is started and
205 This causes all activity for the DMA channel to be stopped, and may
206 discard data in the DMA FIFO which hasn't been fully transferred.
211 dmaengine_terminate_async() might not wait until the DMA has been fully
215 is safe to free the memory accessed by the DMA transfer or free resources
230 This pauses activity on the DMA channel without data loss.
238 Resume a previously paused DMA channel. It is invalid to resume a
254 completion of a specific DMA transaction.
258 Not all DMA engine drivers can return reliable information for
259 a running DMA channel. It is recommended that DMA engine users
269 Synchronize the termination of the DMA channel to the current context.
272 the termination of the DMA channel to the current context. The function will
276 If dmaengine_terminate_async() is used to stop the DMA channel this function