[1/4] ASoC: Intel: Clear stored Baytrail DSP DMA pointer before stream start
diff mbox

Message ID 1401112593-2852-1-git-send-email-jarkko.nikula@linux.intel.com
State Accepted
Commit 58dcc48816ad1db8d2e33ddf659c2bda64f645c4
Headers show

Commit Message

Jarkko Nikula May 26, 2014, 1:56 p.m. UTC
Stored DSP DMA pointer must be cleared before starting the stream since
PCM pointer callback sst_byt_pcm_pointer() can be called before pointer is
updated. In that case last position of previous stream was wronly returned.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
---
 sound/soc/intel/sst-baytrail-pcm.c | 1 +
 1 file changed, 1 insertion(+)

Patch
diff mbox

diff --git a/sound/soc/intel/sst-baytrail-pcm.c b/sound/soc/intel/sst-baytrail-pcm.c
index 3af38576e91e..8eab97368ea7 100644
--- a/sound/soc/intel/sst-baytrail-pcm.c
+++ b/sound/soc/intel/sst-baytrail-pcm.c
@@ -180,6 +180,7 @@  static int sst_byt_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
 
 	switch (cmd) {
 	case SNDRV_PCM_TRIGGER_START:
+		pcm_data->hw_ptr = 0;
 		sst_byt_stream_start(byt, pcm_data->stream, 0);
 		break;
 	case SNDRV_PCM_TRIGGER_RESUME: