]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
ASoC: SOF: ipc4-pcm: reset all pipelines during FE DAI hw_free
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Mon, 15 May 2023 11:20:22 +0000 (14:20 +0300)
committerMark Brown <broonie@kernel.org>
Mon, 15 May 2023 11:25:37 +0000 (20:25 +0900)
commit225f37b578a9f6462afd46c976e31977f765c38b
tree8d1700897018a1187880e884a2551fa99bab2f80
parent81a5d699217d1ae2853d6b022fc110aa95a2ff52
ASoC: SOF: ipc4-pcm: reset all pipelines during FE DAI hw_free

Do not reset pipelines during the stop/suspend triggers in the BE DAI
ops as the BE DAI pipeline needs to be left in the PAUSED state. It should
only be reset during hw_free. This simplification is already done for
the FE pipelines and the DAI trigger only toggles the states between
PAUSED and RUNNING.

But because the FE DAI hw_free is invoked first and all the pipelines are
freed during this op, we need to make sure that the BE DAI pipeline also
gets reset before it is freed. So do not skip the pipelines that have the
skip_during_fe_trigger flag set when resetting pipelines.

Also, because the pipeline state changes are split between the FE and BE
DAI ops now, protect the BE DAI pipeline state changes with the
pipeline_state_mutex as well.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com
Link: https://lore.kernel.org/r/20230515112022.30297-3-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org
sound/soc/sof/intel/hda-dai-ops.c
sound/soc/sof/ipc4-pcm.c