[alsa-devel] [PATCH] ASoC: omap-pcm: Fix the no period wakeup implementation
Jarkko Nikula
jarkko.nikula at bitmer.com
Tue Oct 4 10:34:28 CEST 2011
On 10/04/2011 11:09 AM, Peter Ujfalusi wrote:
> After omap_request_dma the BLOCK_IRQ is enabled as default
> configuration for the channel.
> If we are requested for no period wakeup, we need to disable
> the BLOCK_IRQ in order to not receive any interrupts.
>
> Signed-off-by: Peter Ujfalusi<peter.ujfalusi at ti.com>
> ---
> sound/soc/omap/omap-pcm.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c
> index 9b5c88a..5e37ec9 100644
> --- a/sound/soc/omap/omap-pcm.c
> +++ b/sound/soc/omap/omap-pcm.c
> @@ -198,6 +198,14 @@ static int omap_pcm_prepare(struct snd_pcm_substream *substream)
> OMAP_DMA_LAST_IRQ | OMAP_DMA_BLOCK_IRQ);
> else if (!substream->runtime->no_period_wakeup)
> omap_enable_dma_irq(prtd->dma_ch, OMAP_DMA_FRAME_IRQ);
> + else {
> + /*
> + * No period wakeup:
> + * we need to disable BLOCK_IRQ, which is enabled by the omap
> + * dma core at request dma time.
> + */
> + omap_disable_dma_irq(prtd->dma_ch, OMAP_DMA_BLOCK_IRQ);
> + }
>
Acked-by: Jarkko Nikula <jarkko.nikula at bitmer.com>
while it would be more clear to fix this in omap dma core.
More information about the Alsa-devel
mailing list