On 09/14/2012 06:24 AM, Vinod Koul wrote:
On Thu, 2012-09-13 at 16:37 +0300, Peter Ujfalusi wrote:
Change the parameter list of device_prep_dma_cyclic() so the DMA drivers can receive the no_wakeup request coming from client drivers. This feature can be used during audio operation to disable all audio related interrupts.
We already have a flag to indicate this, see
- @DMA_PREP_INTERRUPT - trigger an interrupt (callback) upon completion of
- this transaction
I have also noticed this flag. It is not really a direct match for our case since the notion of "completion of this transfer" is not applicable for cyclic mode, but it is close enough.
Unfortunately, the addition of cyclic API missed having this flag. So right way would be to add flag argument in the API.
I have not looked at the non cyclic APIs, but I think I can modify the dmaengine_prep_dma_cyclic() to pass the flags instead of the 'bool no_wakeup'. If the DMA_PREP_INTERRUPT is not set dma drivers can interpret it in a way that they will disable all interrupts during cyclic mode. None of the dma drivers in cyclic mode cares about the flags AFAIK or they can just ignore this parameter for now (as they did with my no_wakeup parameter). Will resend the series soon with this change.