forked from Minki/linux
ASoC: soc-pcm: improve BE transition for TRIGGER_START
When the BE was in PAUSED state, the correct trigger is PAUSE_RELEASE. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20220406190056.233481-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
9995c1d096
commit
374b50e234
@ -2122,6 +2122,13 @@ int dpcm_be_dai_trigger(struct snd_soc_pcm_runtime *fe, int stream,
|
|||||||
if (be->dpcm[stream].be_start != 1)
|
if (be->dpcm[stream].be_start != 1)
|
||||||
goto next;
|
goto next;
|
||||||
|
|
||||||
|
if (be->dpcm[stream].state == SND_SOC_DPCM_STATE_PAUSED)
|
||||||
|
ret = soc_pcm_trigger(be_substream,
|
||||||
|
SNDRV_PCM_TRIGGER_PAUSE_RELEASE);
|
||||||
|
else
|
||||||
|
ret = soc_pcm_trigger(be_substream,
|
||||||
|
SNDRV_PCM_TRIGGER_START);
|
||||||
|
|
||||||
ret = soc_pcm_trigger(be_substream, cmd);
|
ret = soc_pcm_trigger(be_substream, cmd);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
be->dpcm[stream].be_start--;
|
be->dpcm[stream].be_start--;
|
||||||
|
Loading…
Reference in New Issue
Block a user