ASoC: stm32: sai: Remove spurious IRQs on stop

Clear IRQ mask on stream stop to avoid spurious IRQs.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Olivier Moysan 2017-10-19 15:03:21 +02:00 committed by Mark Brown
parent 61fb4ff703
commit 47a8907d7c
1 changed files with 3 additions and 2 deletions

View File

@ -419,8 +419,6 @@ static int stm32_sai_startup(struct snd_pcm_substream *substream,
} }
/* Enable ITs */ /* Enable ITs */
regmap_update_bits(sai->regmap, STM_SAI_SR_REGX,
SAI_XSR_MASK, (unsigned int)~SAI_XSR_MASK);
regmap_update_bits(sai->regmap, STM_SAI_CLRFR_REGX, regmap_update_bits(sai->regmap, STM_SAI_CLRFR_REGX,
SAI_XCLRFR_MASK, SAI_XCLRFR_MASK); SAI_XCLRFR_MASK, SAI_XCLRFR_MASK);
@ -693,6 +691,9 @@ static int stm32_sai_trigger(struct snd_pcm_substream *substream, int cmd,
case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_STOP:
dev_dbg(cpu_dai->dev, "Disable DMA and SAI\n"); dev_dbg(cpu_dai->dev, "Disable DMA and SAI\n");
regmap_update_bits(sai->regmap, STM_SAI_IMR_REGX,
SAI_XIMR_MASK, 0);
regmap_update_bits(sai->regmap, STM_SAI_CR1_REGX, regmap_update_bits(sai->regmap, STM_SAI_CR1_REGX,
SAI_XCR1_SAIEN, SAI_XCR1_SAIEN,
(unsigned int)~SAI_XCR1_SAIEN); (unsigned int)~SAI_XCR1_SAIEN);