dmaengine: add possibility for cyclic transfers
authorSascha Hauer <s.hauer@pengutronix.de>
Thu, 30 Sep 2010 13:56:32 +0000 (13:56 +0000)
committerDan Williams <dan.j.williams@intel.com>
Tue, 5 Oct 2010 22:49:26 +0000 (15:49 -0700)
commit782bc950d84e404422ba21008fd51ee894c8d231
treec8a10b80bcc571c6de8a19c39b0f447ca61039d6
parentb30a3f6257ed2105259b404d419b4964e363928c
dmaengine: add possibility for cyclic transfers

Cyclic transfers are useful for audio where a single buffer divided
in periods has to be transfered endlessly until stopped. After being
prepared the transfer is started using the dma_async_descriptor->tx_submit
function. dma_async_descriptor->callback is called after each period.
The transfer is stopped using the DMA_TERMINATE_ALL callback.
While being used for cyclic transfers the channel cannot be used
for other transfer types.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/dmaengine.c
include/linux/dmaengine.h