summaryrefslogtreecommitdiffstats
path: root/sound/soc/amd
diff options
context:
space:
mode:
authorVijendar Mukunda <Vijendar.Mukunda@amd.com>2018-03-09 16:21:32 +0100
committerMark Brown <broonie@kernel.org>2018-03-09 16:46:16 +0100
commit17aa9521d0c2856808c54ca1144d5c708e748928 (patch)
treeb03f7be5fa0ad148edd7f86ea8ad45ebb3357375 /sound/soc/amd
parentASoC: amd: Coding style changes for acp dma driver (diff)
downloadlinux-17aa9521d0c2856808c54ca1144d5c708e748928.tar.xz
linux-17aa9521d0c2856808c54ca1144d5c708e748928.zip
ASoC: amd: modifications in dma stop sequence
As per design, non-circular dma also need to be stopped explicitly for both playback and capture scenarios. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/amd')
-rw-r--r--sound/soc/amd/acp-pcm-dma.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/amd/acp-pcm-dma.c b/sound/soc/amd/acp-pcm-dma.c
index 935c8fd42a7a..a1c6534455e6 100644
--- a/sound/soc/amd/acp-pcm-dma.c
+++ b/sound/soc/amd/acp-pcm-dma.c
@@ -950,11 +950,15 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd)
*/
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
ret = acp_dma_stop(rtd->acp_mmio,
+ SYSRAM_TO_ACP_CH_NUM);
+ ret = acp_dma_stop(rtd->acp_mmio,
ACP_TO_I2S_DMA_CH_NUM);
rtd->i2ssp_renderbytescount = 0;
} else {
ret = acp_dma_stop(rtd->acp_mmio,
I2S_TO_ACP_DMA_CH_NUM);
+ ret = acp_dma_stop(rtd->acp_mmio,
+ ACP_TO_SYSRAM_CH_NUM);
rtd->i2ssp_capturebytescount = 0;
}
break;