linux/sound/soc
Kuninori Morimoto 5f53898af1
ASoC: soc-pcm: add dpcm_runtime_setup_fe()
dpcm_fe_dai_startup() (= A) calls dpcm_set_fe_runtime() (= B) to setup
DPCM runtime. From *naming point of view*, it sounds like setup function
for FE.

(A)	static int dpcm_fe_dai_startup(...)
	{
		...
(B)		dpcm_set_fe_runtime(...);
		...
	}

But in dpcm_set_fe_runtime() (= B),
It  setups FE by for_each loop (= X),
and setups BE by dpcm_runtime_merge_xxx() (= Y).

(B)	static void dpcm_set_fe_runtime(...)
	{
		...
 ^		for_each_rtd_cpu_dais(...) {
 |			...
(X)			soc_pcm_hw_update_rate(...);
 |			soc_pcm_hw_update_chan(...);
 |			soc_pcm_hw_update_format(...);
 v		}

 ^		dpcm_runtime_merge_format(...);
(Y)		dpcm_runtime_merge_chan(...);
 v		dpcm_runtime_merge_rate(...);
	}

These means that the function which is called as xxx_fe_xxx()
is setups both FE and BE. This is confusable and can be hot bed for bug.

To tidyup it, as 1st step, this patch adds new dpcm_runtime_setup_fe()
for (X).

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87pn0tvsgx.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-03-10 13:06:46 +00:00
..
adi ASoC: adi: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:44 +00:00
amd Merge branch 'asoc-5.11' into asoc-5.12 2021-02-05 15:01:21 +00:00
atmel ASoC: atmel: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:45 +00:00
au1x ASoC: au1x: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:46 +00:00
bcm ASoC: bcm: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:47 +00:00
cirrus ASoC: cirrus: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:48 +00:00
codecs ASoC: codecs: wcd934x: add a sanity check in set channel map 2021-03-10 12:51:12 +00:00
dwc
fsl ASoC: fsl_ssi: Fix TDM slot setup for I2S mode 2021-03-10 12:48:30 +00:00
generic ASoC: simple-card-utils: Fix device module clock 2021-02-11 13:10:46 +00:00
hisilicon
img
intel ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 10-p0XX OVCD current threshold 2021-03-10 12:49:40 +00:00
jz4740 ASoC: jz4740: sync parameter naming (rate/sample_bits) 2021-01-21 12:38:08 +00:00
kirkwood ASoC: kirkwood: Use managed DMA buffer allocation 2021-01-13 11:36:16 +00:00
mediatek ASoC: mediatek: mt8183-mt6358: set playback and capture constraints 2021-02-05 15:03:04 +00:00
meson
mxs
pxa ASoC: pxa: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:54 +00:00
qcom ASoC: qcom: sdm845: Fix array out of range on rx slim channels 2021-03-10 12:51:10 +00:00
rockchip ASoC: rockchip: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:50 +00:00
samsung ASoC: samsung: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:51 +00:00
sh ASoC: Updates for v5.12 2021-02-17 21:16:27 +01:00
sof ASoC: SOF: intel: fix wrong poll bits in dsp power down 2021-03-10 12:53:24 +00:00
spear
sprd
sti
stm ASoC: stm32: i2s: add master clock provider 2021-02-05 15:03:03 +00:00
sunxi ASoC: sunxi: sync parameter naming (rate/sample_bits) 2021-01-21 12:38:09 +00:00
tegra ASoC: tegra: Add driver remove() callback 2021-02-08 11:39:51 +00:00
ti ASoC: ti: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:53 +00:00
uniphier
ux500
xilinx
xtensa
Kconfig ASoC: topology: KUnit: Add KUnit tests passing various arguments to snd_soc_tplg_component_load 2021-01-21 12:36:24 +00:00
Makefile ASoC: topology: KUnit: Add KUnit tests passing various arguments to snd_soc_tplg_component_load 2021-01-21 12:36:24 +00:00
soc-ac97.c
soc-acpi.c
soc-card.c
soc-component.c ASoC: soc-component: fix undefined reference to __ffssi2 2021-01-29 12:40:06 +00:00
soc-compress.c
soc-core.c ASoC: soc-core: Prevent warning if no DMI table is present 2021-03-10 12:50:55 +00:00
soc-dai.c
soc-dapm.c ASoC: dapm: use component prefix when checking widget names 2021-02-10 17:16:29 +00:00
soc-devres.c
soc-generic-dmaengine-pcm.c
soc-jack.c
soc-link.c
soc-ops.c
soc-pcm.c ASoC: soc-pcm: add dpcm_runtime_setup_fe() 2021-03-10 13:06:46 +00:00
soc-topology-test.c ASoC: topology: KUnit: Convert from cpu to data format 2021-02-02 17:08:21 +00:00
soc-topology.c Merge branch 'asoc-5.11' into asoc-5.12 2021-02-05 15:01:21 +00:00
soc-utils.c