ASoC: SOF: Intel: change trigger sequence to fix pop noise when stopping playback...
authorranderwang <rander.wang@linux.intel.com>
Mon, 27 Apr 2020 17:29:39 +0000 (10:29 -0700)
committerMark Brown <broonie@kernel.org>
Thu, 30 Apr 2020 12:07:16 +0000 (13:07 +0100)
commitfd045558295e5dab4ebe3176401bafa7090fa007
tree15231217440b2c0fe43c399ee172d56b49484ef0
parentac764249485189fa0f019e48aeed7175c7b5376b
ASoC: SOF: Intel: change trigger sequence to fix pop noise when stopping playback on sdw platforms

Now the trigger sequence is set to SND_SOC_DPCM_TRIGGER_POST for
SOF. This means FE will be stopped before BE, so BE will consume
invalid data and this generates huge pop noise. This sequence is
introduced for HDA DAI which requires SND_SOC_DPCM_TRIGGER_POST for
some reasons. Now set default trigger sequence to SND_SOC_DPCM_TRIGGER_PRE
for playback with all DAI and fix sequence only for HDA DAI.

Fully tested on Comet Lake for a few cycles.

Signed-off-by: randerwang <rander.wang@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Clarex Zhou <clarex.zhou@intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200427172939.25848-5-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/pcm.c
sound/soc/sof/topology.c