linux/sound/soc
Kuninori Morimoto 1e6a93cf74
ASoC: soc-dai: add mark for snd_soc_dai_compr_startup/shutdown()
soc_compr_open() does rollback when failed (A),
but, it is almost same as soc_compr_free().

	static int soc_compr_open(xxx)
	{
		...
		if (ret < 0)
			goto xxx_err;
		...
		return 0;

 ^	machine_err:
 |		...
 |	out:
(A)		...
 |	pm_err:
 |		...
 v		return ret;
	}

The difference is
soc_compr_free()  is for all dai/component/substream,
rollback          is for succeeded part only.

This kind of duplicated code can be a hotbed of bugs,
thus, we want to share soc_compr_free() and rollback.
=>	1) snd_soc_dai_compr_startup/shutdown()
	2) snd_soc_component_compr_open/free()
	3) snd_soc_link_compr_startup/shutdown()

This patch is for 1) snd_soc_dai_compr_startup/shutdown(),
and adds new cstream mark.
It will mark cstream when startup() was suceeded.
If rollback happen *after* that, it will check rollback flag
and marked cstream.

It cares *previous* startup() only now,
but we might want to check *whole* marked cstream in the future.
This patch is using macro so that it can be easily adjust to it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87mtze5iwp.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-26 13:09:34 +00:00
..
adi ASoc: adi: Kconfig: Remove depends on for ADI reference designs 2020-11-17 17:08:42 +00:00
amd ASoC: amd: support other audio modes for raven 2020-10-26 18:37:06 +00:00
atmel ASoC: atmel-i2s: do not warn if muxclk is missing 2020-11-03 13:19:02 +00:00
au1x
bcm ASoC: bcm2835-i2s: remove unneeded semicolon 2020-11-02 15:53:22 +00:00
cirrus
codecs ASoC: hdmi-codec: Get ELD in before reporting plugged event 2020-11-23 18:37:35 +00:00
dwc
fsl ASoC: fsl_xcvr: fix potential resource leak 2020-11-25 12:54:43 +00:00
generic ASoC: Fix 7/8 spaces indentation in Kconfig 2020-11-17 17:08:45 +00:00
hisilicon
img
intel Merge series "ASoC: Intel/SOF: extend run-time driver selection to ACPI devices" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: 2020-11-20 16:09:39 +00:00
jz4740 ASoC: jz4740-i2s: Remove manual DMA peripheral ID assignment 2020-10-26 18:37:01 +00:00
kirkwood
mediatek ASoC: mediatek: mt8192: skip first time data at the beginning of DMIC recording 2020-11-11 12:35:12 +00:00
meson ASoC: Fix 7/8 spaces indentation in Kconfig 2020-11-17 17:08:45 +00:00
mxs
pxa ASoC: mmp-sspa: set phase two word length register 2020-11-20 13:49:08 +00:00
qcom ASoC: qcom: sm8250: fix HDMI audio playback 2020-11-20 16:08:38 +00:00
rockchip Linux 5.9-rc5 2020-10-06 16:19:24 +01:00
samsung ASoC: samsung: fix platform_no_drv_owner.cocci warnings 2020-11-18 18:00:24 +00:00
sh ASoC: sh: depend on COMMON_CLK to fix compile tests 2020-11-23 20:39:47 +00:00
sirf
sof ASoC: SOF: Add memory_info file to debugfs 2020-11-25 11:07:17 +00:00
spear
sprd
sti
stm ASoC: stm: depend on COMMON_CLK to fix compile tests 2020-11-23 20:39:48 +00:00
sunxi ASoC: sunxi: do not select COMMON_CLK to fix builds 2020-11-19 13:00:01 +00:00
tegra ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00
ti ASoC: ti: depend on COMMON_CLK to fix compile tests 2020-11-23 20:39:49 +00:00
txx9 ASoC: txx9: Replace tasklet with work 2020-09-09 15:42:10 +01:00
uniphier
ux500
xilinx
xtensa
zte
Kconfig
Makefile
soc-ac97.c
soc-acpi.c
soc-card.c
soc-component.c ASoC: soc-component: add snd_soc_component_compr_get_metadata() 2020-11-18 18:00:17 +00:00
soc-compress.c ASoC: soc-dai: add mark for snd_soc_dai_compr_startup/shutdown() 2020-11-26 13:09:34 +00:00
soc-core.c ASoC: soc-core: Fix component name_prefix parsing 2020-11-10 17:28:18 +00:00
soc-dai.c ASoC: soc-dai: add mark for snd_soc_dai_compr_startup/shutdown() 2020-11-26 13:09:34 +00:00
soc-dapm.c Merge series "ASoC: merge soc_pcm_hw_param() rollback and soc_pcm_hw_free()" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>: 2020-10-26 18:37:15 +00:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine: Document support for TX only or RX only streams 2020-10-09 15:11:20 +01:00
soc-jack.c
soc-link.c ASoC: soc-link: add mark for snd_soc_link_hw_params/free() 2020-10-26 16:44:15 +00:00
soc-ops.c
soc-pcm.c ASoC: pcm: call snd_soc_dapm_stream_stop() in soc_pcm_hw_clean 2020-11-19 13:00:05 +00:00
soc-topology.c ASoC: topology: use inclusive language for bclk and fsync 2020-11-13 14:22:05 +00:00
soc-utils.c