1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/include/uapi/sound
Ranjani Sridharan 2c28ecad0d
ASoC: SOF: topology: Add new token for dynamic pipeline
Today, we set up all widgets required for all PCM streams
at the time of topology parsing even if they are not
used. An optimization would be to only set up the widgets
required for currently active PCM streams. This would give
the FW the opportunity to power gate unused memory blocks,
thereby saving power.

For dynamic pipelines, the widgets in the connected DAPM path
for each PCM will need to be set up at runtime. This patch
introduces a new token, DYNAMIC_PIPELINE, for scheduler type
widgets that indicate whether a pipeline should be set up
statically during topology load or at runtime when the PCM is
opened. Introduce a new field called dynamic_pipeline_widget
in struct snd_sof_widget to save the value of the parsed token.

The token is set only for the pipeline (scheduler type)
widget and must be propagated to all widgets in the same
pipeline during topology load. Introduce another field called
pipe_widget in struct snd_sof_widget that saves the pointer to
the scheduler widget with the same pipeline ID as that of the
widget. This field is populated when the pipeline completion
callback is invoked during topology loading.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20210927120517.20505-4-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-10-01 20:48:22 +01:00
..
sof ASoC: SOF: topology: Add new token for dynamic pipeline 2021-10-01 20:48:22 +01:00
asequencer.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
asoc.h ASoC: topology: use inclusive language for bclk and fsync 2020-11-13 14:22:05 +00:00
asound.h ALSA: pcm: Add SNDRV_PCM_INFO_EXPLICIT_SYNC flag 2021-08-14 08:38:25 +02:00
asound_fm.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
compress_offload.h ALSA: fix kernel-doc markups 2020-10-26 15:26:31 +01:00
compress_params.h ALSA: compress: add alac & ape decoder params 2020-03-16 17:52:09 +00:00
emu10k1.h ALSA: uapi: Add linux/types.h include back (but carefully) 2019-12-30 22:28:59 +01:00
firewire.h ALSA: firewire-tascam: notify events of change of state for userspace applications 2018-11-23 15:31:15 +01:00
hdsp.h ALSA: uapi: Add linux/types.h include back (but carefully) 2019-12-30 22:28:59 +01:00
hdspm.h ALSA: uapi: Add linux/types.h include back (but carefully) 2019-12-30 22:28:59 +01:00
sb16_csp.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
sfnt_info.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
skl-tplg-interface.h ASoC: Intel: Skylake: Automatic DMIC format configuration according to information from NHLT 2020-04-27 16:02:26 +01:00
snd_sst_tokens.h ASoC: Intel: Skylake: Support multiple format configs 2021-08-23 16:40:02 +01:00
tlv.h ALSA: control: complement TLV macro for db-minmax and db-linear types 2018-05-14 17:47:37 +02:00
usb_stream.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00