Re: [PATCH v2 03/15] dmaengine: Add no_wakeup parameter todmaengine_prep_dma_cyclic()

From: Vinod Koul
Date: Fri Sep 14 2012 - 05:41:32 EST


On Fri, 2012-09-14 at 12:28 +0300, Peter Ujfalusi wrote:
> Hi,
>
> On 09/14/2012 11:50 AM, Vinod Koul wrote:
> >> Well, the idea was that the driver would disable interrupts if there is no
> >> callback to call, since there would be nothing to do in the interrupt
> >> handler anyway. But I guess the flags approach should work fine as well.
> > Yes we _could_ do that, but this relies on dmaengine driver to have this
> > implicit understanding. Anyone using dmaengine library in ASoC may or
> > may not be aware of this, so i would consider it hackish.
> >
> > Using this flag explicitly makes everyone aware what the intended
> > behaviour is.
>
> I'm not sure about which flags should ASoC set for the two case we are going
> to have. I think it should be something like this:
>
> unsigned long flags = DMA_CTRL_ACK;
usage of ACK flag is mostly async_tx thingy, we can skip it for slave.
>
> if (!substream->runtime->no_period_wakeup)
> flags |= DMA_PREP_INTERRUPT;
> I'm not 100% sure of the role of DMA_CTRL_ACK in this case. Or should we only
> handle the DMA_PREP_INTERRUPT flag, like this:
>
> unsigned long flags = 0;
>
> if (!substream->runtime->no_period_wakeup)
> flags |= DMA_PREP_INTERRUPT;
>
>
> What do you think?
Looks fine.

--
~Vinod

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/