[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