Re: [PATCH v2] ASoC: Intel: Reset hw_ptr on resume trigger

From: Vinod Koul
Date: Mon Jul 31 2017 - 23:29:39 EST


On Mon, Jul 31, 2017 at 06:47:34PM +0800, Cheng-Yi Chiang wrote:
> From: "U. Artie Eoff" <ullysses.a.eoff@xxxxxxxxx>
>
> Reset the hw_ptr before queuing the restore_stream_context
> work to eradicate a nasty white audio noise on resume.

Liam, Jie? This on legacy BYT driver..

>
> Tested-by: Cheng-Yi Chiang <cychiang@xxxxxxxxxxxx>
> Signed-off-by: U. Artie Eoff <ullysses.a.eoff@xxxxxxxxx>
> Signed-off-by: Cheng-Yi Chiang <cychiang@xxxxxxxxxxxx>
> ---
> sound/soc/intel/baytrail/sst-baytrail-pcm.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/sound/soc/intel/baytrail/sst-baytrail-pcm.c b/sound/soc/intel/baytrail/sst-baytrail-pcm.c
> index 4765ad474544..e0db7070cd42 100644
> --- a/sound/soc/intel/baytrail/sst-baytrail-pcm.c
> +++ b/sound/soc/intel/baytrail/sst-baytrail-pcm.c
> @@ -187,8 +187,10 @@ static int sst_byt_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
> sst_byt_stream_start(byt, pcm_data->stream, 0);
> break;
> case SNDRV_PCM_TRIGGER_RESUME:
> - if (pdata->restore_stream == true)
> + if (pdata->restore_stream == true) {
> + pcm_data->hw_ptr = 0;
> schedule_work(&pcm_data->work);
> + }
> else
> sst_byt_stream_resume(byt, pcm_data->stream);
> break;
> --
> 2.12.2
>

--
~Vinod