[alsa-devel] [PATCH v2] ASoC: Intel: Reset hw_ptr on resume trigger

Vinod Koul vinod.koul at intel.com
Tue Aug 1 05:30:06 CEST 2017


On Mon, Jul 31, 2017 at 06:47:34PM +0800, Cheng-Yi Chiang wrote:
> From: "U. Artie Eoff" <ullysses.a.eoff at intel.com>
> 
> 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 at chromium.org>
> Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
> Signed-off-by: Cheng-Yi Chiang <cychiang at chromium.org>
> ---
>  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


More information about the Alsa-devel mailing list