kernel_samsung_a53x/sound/soc
Jai Luthra ded06e40e7 ALSA: dmaengine: Synchronize dma channel after drop()
[ Upstream commit e8343410ddf08fc36a9b9cc7c51a4e53a262d4c6 ]

Sometimes the stream may be stopped due to XRUN events, in which case
the userspace can call snd_pcm_drop() and snd_pcm_prepare() to stop and
start the stream again.

In these cases, we must wait for the DMA channel to synchronize before
marking the stream as prepared for playback, as the DMA channel gets
stopped by drop() without any synchronization. Make sure the ALSA core
synchronizes the DMA channel by adding a sync_stop() hook.

Reviewed-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Signed-off-by: Jai Luthra <j-luthra@ti.com>
Link: https://lore.kernel.org/r/20240611-asoc_next-v3-1-fcfd84b12164@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-19 14:19:48 +01:00
..
adi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
amd Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
atmel Revert "ASoC: atmel: Remove system clock tree configuration for at91sam9g20ek" 2024-11-18 12:12:45 +01:00
au1x Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bcm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cirrus Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
codecs ASoC: tas2552: Add TX path for capturing AUDIO-OUT data 2024-11-19 12:27:09 +01:00
dwc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fsl ASoC: fsl-asoc-card: set priv->pdev before using it 2024-11-19 14:19:31 +01:00
generic ASoC: Fix 7/8 spaces indentation in Kconfig 2024-11-19 11:32:42 +01:00
hisilicon Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
img Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
intel bytcr_rt5640 : inverse jack detect for Archos 101 cesium 2024-11-19 14:19:48 +01:00
jz4740 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kirkwood Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mediatek Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
meson ASoC: meson: cards: select SND_DYNAMIC_MINORS 2024-11-19 11:32:43 +01:00
mxs Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pxa ASoC: Fix 7/8 spaces indentation in Kconfig 2024-11-19 11:32:42 +01:00
qcom Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rockchip Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
samsung sound: abox: Bump buffer sizes up 2024-11-17 17:40:16 +01:00
sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sirf Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sof ASoC: SOF: sof-pci-dev: Fix community key quirk detection 2024-11-18 12:11:11 +01:00
spear Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sprd Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sti Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sunxi ASoC: sunxi: sun4i-spdif: Add support for Allwinner H616 2024-11-18 22:25:33 +01:00
tegra ASoC: tegra: Fix DSPK 16-bit playback 2024-11-19 11:32:48 +01:00
ti ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings 2024-11-18 11:43:15 +01:00
txx9 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uniphier Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ux500 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xilinx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xtensa Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
zte Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-ac97.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-acpi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-card.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-component.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-compress.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-dai.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-dapm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-devres.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-generic-dmaengine-pcm.c ALSA: dmaengine: Synchronize dma channel after drop() 2024-11-19 14:19:48 +01:00
soc-jack.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-link.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-ops.c ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw 2024-11-19 09:23:10 +01:00
soc-pcm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-topology.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-utils.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00