DMA engine doesn't allow callbacks in Interrupt context.
priyaranjan45678 at gmail.com
Wed May 17 08:50:44 EDT 2017
I have some queries related to the following patch :-
Author: Russell King <rmk+kernel at arm.linux.org.uk>
Date: Mon May 14 15:17:20 2012 +0100
dmaengine: virt-dma: add support for cyclic DMA periodic callbacks
Add support for cyclic DMA's periodic callbacks. Drivers are expected
to call vchan_cyclic_callback() when a period has completed, which will
schedule the tasklet to make the callback into the driver.
As callbacks are made from tasklet context, it is important to realise
that we don't guarantee a callback for each completed period, but for
N completed periods where N may be greater than one.
Tested-by: Linus Walleij <linus.walleij at linaro.org>
Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
After the patch is submitted there is no guarantee for intermediate
callbacks for the cyclic DMA as mentioned in the
patch. Please let me know if my understanding is correct. I have a use-case
in my audio driver such that all intermediate
callbacks are necessary to handle as they get involve in updating other
Data structures and triggering other DMAs.
Please help me to understand this.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Kernelnewbies