[PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL081 PrimeCells

Russell King - ARM Linux linux at arm.linux.org.uk
Wed Dec 22 19:10:12 EST 2010


On Wed, Dec 22, 2010 at 03:45:39PM -0800, Dan Williams wrote:
> 3.6 Constraints:
> 1/ Calls to async_<operation> are not permitted in IRQ context.  Other
>    contexts are permitted provided constraint #2 is not violated.

BTW, this is misleading.  Have the functions been renamed dma_async_xxx(),
eg dma_async_memcpy_buf_to_buf etc, or are you referring just to:

	async_dmaengine_get
	async_dmaengine_put
	async_dma_find_channel
	async_dma_find_channel
	async_tx_ack
	async_tx_clear_ack
	async_tx_test_ack

Beware of just renaming it to dma_async_<operation> as there's other
functions in that namespace which may not be appropriate.

Eg, is it really illegal to issue call dma_async_issue_pending() from
IRQ context?  That'd make it exceedingly difficult to use the DMA
engine with the slave API in a lot of device drivers.



More information about the linux-arm-kernel mailing list