[PATCH 00/18] ASoC: SOF: ipc4: Multi-stream playback and capture support

Péter Ujfalusi peter.ujfalusi at linux.intel.com
Fri Jan 27 13:07:01 CET 2023


Hi,

wow, something messed up the subject line, which should have been:

[PATCH 00/18] ASoC: SOF: ipc4: Multi-stream playback and capture support

-- 
Péter

On 27/01/2023 14:00, Peter Ujfalusi wrote:
> Hi,
> 
> The following series will enable multi-stream support for playback and capture
> streams.
> Currently only a single PCM can be connected to a DAI, with the multi-stream
> support it is possible to connect multiple PCMs to a single DAI.
> 
> To achieve this we need to make sure that DAIs/AIF are only set up once since
> other stream could be connected to it later.
> 
> We also need to introduce reference or use counting for widgets to make sure
> that they are not going to be destroyed while other streams are still using
> them.
> 
> With the multi-stream support we also need to extend our current locking scheme
> which worked well for simple paths.
> 
> The first patch was sent to the mailing list, but it is not yet applied and I
> have included in this series as it is a direct dependency:
> https://lore.kernel.org/alsa-devel/20230117121615.25690-1-peter.ujfalusi@linux.intel.com/
> 
> Regards,
> Peter
> ---
> Peter Ujfalusi (3):
>   ASoC: SOF: Avoid double decrementing use_count in sof_widget_setup on
>     error
>   ASoC: SOF: Protect swidget->use_count with mutex for kcontrol access
>     race
>   ASoC: SOF: ipc4-pcm: Do not run the trigger pipelines if no spipe is
>     stored
> 
> Ranjani Sridharan (15):
>   ASoC: SOF: ipc4-topology: No need to unbind routes within a pipeline
>   ASoC: soc-pcm: Export widget_in_list()
>   ASoC: SOF: sof-audio: Set up/free DAI/AIF widgets only once
>   ASoC: SOF: sof-audio: Only process widgets in the connected widget
>     list
>   ASoC: SOF: pcm: do not free widgets during suspend trigger
>   ASoC: SOF: topology: Set IPC-specific trigger order for DAI links
>   ASoC: SOF: Introduce PCM setup/free PCM IPC ops
>   ASoC: SOF: ipc4-pcm: Define pcm_setup/free ops
>   ASoC: SOF: ipc4: Add flag to skip triggering pipelines during FE DAI
>     trigger
>   ASoC: SOF: sof-audio: Populate the PCM stream pipeline_info
>   ASoC: SOF: ipc4-pcm: Use the PCM stream's pipeline_info during trigger
>   ASoC: SOF: Introduce struct snd_sof_pipeline
>   ASoC: SOF: ipc4-pcm: Rename 'data' variable to trigger_list
>   ASoC: SOF: ipc4-pcm: Implement pipeline trigger reference counting
>   ASoC: SOF: ipc4-topology: Protect pipeline free with mutex
> 
>  include/sound/soc-dpcm.h        |   2 +
>  include/sound/sof/ipc4/header.h |   3 +
>  sound/soc/soc-pcm.c             |   3 +-
>  sound/soc/sof/core.c            |   1 +
>  sound/soc/sof/intel/hda-dai.c   |  92 ++-------
>  sound/soc/sof/ipc3-control.c    |  46 +++--
>  sound/soc/sof/ipc3-topology.c   |  32 ++-
>  sound/soc/sof/ipc4-control.c    |  33 ++-
>  sound/soc/sof/ipc4-pcm.c        | 343 +++++++++++++++++++++++++-------
>  sound/soc/sof/ipc4-priv.h       |   2 +
>  sound/soc/sof/ipc4-topology.c   |  48 ++++-
>  sound/soc/sof/ipc4-topology.h   |  12 ++
>  sound/soc/sof/ipc4.c            |   2 +
>  sound/soc/sof/pcm.c             |   5 +-
>  sound/soc/sof/sof-audio.c       | 226 ++++++++++++++-------
>  sound/soc/sof/sof-audio.h       |  54 ++++-
>  sound/soc/sof/sof-priv.h        |   1 +
>  sound/soc/sof/topology.c        | 114 +++++++----
>  18 files changed, 714 insertions(+), 305 deletions(-)
> 



More information about the Alsa-devel mailing list