A word on cyclic DMA
Cyclic mode is a particular DMA transfer mode where an I/O peripheral drives the data transaction, triggering transfers repeatedly on a periodic basis. While dealing with callbacks that the DMA controller can expose, we have seen dma_device.device_prep_dma_cyclic
, which is the backend for dmaengine_prep_dma_cyclic()
, which has the following prototype:
struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction dir, unsigned long flags)
The preceding API takes in five parameters: chan
, which is the allocated DMA channel...