mirror of https://gitee.com/openkylin/linux.git
ASoC: omap-pcm: Fix the no period wakeup implementation
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@ti.com> Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
9cd113261b
commit
b1b6cffeb7
|
@ -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);
|
||||
}
|
||||
|
||||
if (!(cpu_class_is_omap1())) {
|
||||
omap_set_dma_src_burst_mode(prtd->dma_ch,
|
||||
|
|
Loading…
Reference in New Issue