linux-stable/sound/soc
Mark Brown e1bbfccf3c
ASoC: Intel: avs: Topology and path management
Merge series from Cezary Rojewski <cezary.rojewski@intel.com>:

A continuation of avs-driver initial series [1]. This chapter covers
path management and topology parsing part which was ealier path of the
main series. The two patches that represented these two subjects in the
initial series, have been split into many to allow for easier review and
discussion.

AVS topology is split into two major parts: dictionaries - found within
ASoC topology manifest - and path templates.

Dictionaries job is to reduce the total amount of memory
occupied by topology elements. Rather than having every pipeline and
module carry its own information, each refers to specific entry in
specific dictionary by provided (from topology file) indexes. In
consequence, most struct avs_tplg_xxx are made out of pointers.

Path templates are similar to path descriptions found in skylake-driver
and they describe how given path shall look like in runtime - number of
modules and pipelines that shape it and how they are laid out. A single
path template is tied either to FE or BE and thus at most to a single,
user-visible endpoint when speaking of FE.

Path is a software representation of its ADSP firmware equivalent. It's
a logical container for pipelines which are themselves containers - this
time for modules i.e. processing units.
Depending on the number of audio formats supported, each path template
may carry one or more descriptions of given path. During runtime, when
audio format is known, description matching said format is selected and
used when instantiating path on ADSP firmware side through IPCs.
2022-04-20 14:22:05 +01:00
..
adi
amd ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
atmel ASoC: wm8731: Overhaul of the driver 2022-04-05 10:25:00 +01:00
au1x ASoC: wm8731: Factor out the I2C and SPI bus code into separate modules 2022-04-04 08:39:32 +01:00
bcm
cirrus
codecs ASoC: dmic: Add support for DSD data format 2022-04-19 16:30:30 +01:00
dwc ASoC: dwc-i2s: Handle errors for clk_enable 2022-03-02 13:45:24 +00:00
fsl ASoC: fsl_micfil: Driver updates 2022-04-20 14:22:03 +01:00
generic ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
hisilicon
img
intel ASoC: Intel: avs: Configure modules according to their type 2022-04-19 12:04:04 +01:00
jz4740
kirkwood
mediatek ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
meson ASoC: meson: aiu: fix duplicate debugfs directory error 2022-04-05 19:14:21 +01:00
mxs ASoC: mxs: Fix error handling in mxs_sgtl5000_probe 2022-03-08 13:41:15 +00:00
pxa ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
qcom ASoC: qcom: lpass-platform: Update memremap flag to MEMREMAP_WC 2022-04-19 12:04:07 +01:00
rockchip ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
samsung ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
sh ASoC: rsnd: use inclusive language for DAIFMT mask 2022-04-05 10:44:32 +01:00
sof ASoC: SOF: Kconfig: Make SND_SOC_SOF_HDA_PROBES tristate 2022-04-19 16:30:31 +01:00
spear
sprd
sti ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call 2022-03-16 16:39:28 +00:00
stm
sunxi ASoC: sun4i-i2s: Add support for the R329/D1 variant 2022-02-03 11:30:57 +00:00
tegra ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
ti ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
uniphier
ux500
xilinx ASoC: xilinx: xlnx_i2s: Handle sysclk setting 2022-01-24 19:45:38 +00:00
xtensa
Kconfig ASoC: soc-utils: Add kunit test for snd_soc_tdm_params_to_bclk() 2022-04-05 18:27:56 +01:00
Makefile ASoC: soc-utils: Add kunit test for snd_soc_tdm_params_to_bclk() 2022-04-05 18:27:56 +01:00
soc-ac97.c
soc-acpi.c ALSA: Replace acpi_bus_get_device() 2022-02-01 08:08:08 +01:00
soc-card.c ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
soc-component.c
soc-compress.c ASoC: soc-compress: Change the check for codec_dai 2022-03-14 08:29:11 +00:00
soc-core.c ASoC: Merge fixes 2022-04-08 12:22:10 +01:00
soc-dai.c
soc-dapm.c ASoC: soc-dapm: fix two incorrect uses of list iterator 2022-04-05 10:24:44 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine: do not use a NULL prepare_slave_config() callback 2022-03-08 13:38:56 +00:00
soc-jack.c ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
soc-link.c
soc-ops.c ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min 2022-02-16 16:33:48 +00:00
soc-pcm.c ASoC: soc-pcm: use GFP_KERNEL when the code is sleepable 2022-04-04 14:25:39 +01:00
soc-topology-test.c
soc-topology.c ASoC: Pull in fixes 2022-04-05 10:29:12 +01:00
soc-utils-test.c ASoC: soc-utils: Add kunit test for snd_soc_tdm_params_to_bclk() 2022-04-05 18:27:56 +01:00
soc-utils.c ASoC: soc-utils: Add helper to calculate BCLK from TDM info 2022-04-05 18:27:55 +01:00