linux/sound/soc
Claudiu Beznea 22897e5686
ASoC: renesas: rz-ssi: Use proper dma_buffer_pos after resume
When the driver supports DMA, it enqueues four DMA descriptors per
substream before the substream is started. New descriptors are enqueued in
the DMA completion callback, and each time a new descriptor is queued, the
dma_buffer_pos is incremented.

During suspend, the DMA transactions are terminated. There might be cases
where the four extra enqueued DMA descriptors are not completed and are
instead canceled on suspend. However, the cancel operation does not take
into account that the dma_buffer_pos was already incremented.

Previously, the suspend code reinitialized dma_buffer_pos to zero, but this
is not always correct.

To avoid losing any audio periods during suspend/resume and to prevent
clip sound, save the completed DMA buffer position in the DMA callback and
reinitialize dma_buffer_pos on resume.

Cc: stable@vger.kernel.org
Fixes: 1fc778f7c8 ("ASoC: renesas: rz-ssi: Add suspend to RAM support")
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Link: https://patch.msgid.link/20251029141134.2556926-3-claudiu.beznea.uj@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-10-29 14:54:46 +00:00
..
adi
amd ASoC: amd: acp: Add ACP7.0 match entries for cs35l56 and cs42l43 2025-10-20 02:39:15 +01:00
apple ASoC: apple: mca: Add "apple,t8103-mca" compatible 2025-09-14 21:51:29 +02:00
atmel treewide: Remove redundant 2025-07-04 22:42:36 +01:00
au1x
bcm
cirrus
codecs ASoC: rt721: fix prepare clock stop failed 2025-10-27 12:17:05 +00:00
dwc
fsl ASoC: fsl_sai: Fix sync error in consumer mode 2025-10-28 10:22:12 +00:00
generic ASoC: test-component: Use kcalloc() instead of kzalloc() 2025-08-20 15:09:24 +01:00
google
hisilicon
img ASoC: img: Imagination Technologies sound should depend on MIPS 2025-07-09 08:58:54 +01:00
intel ASoC: Intel: avs: Use snd_codec format when initializing probe 2025-10-23 13:42:27 +01:00
jz4740
kirkwood
loongson
mediatek ASoC: mediatek: Fix double pm_runtime_disable in remove functions 2025-10-24 00:59:54 +01:00
meson ASoC: meson: aiu-encoder-i2s: fix bit clock polarity 2025-10-07 13:19:43 +01:00
mxs
pxa ASoC: pxa: add GPIOLIB_LEGACY dependency 2025-08-10 21:09:04 +01:00
qcom ASoC: qdsp6: q6asm: do not sleep while atomic 2025-10-20 02:39:17 +01:00
renesas ASoC: renesas: rz-ssi: Use proper dma_buffer_pos after resume 2025-10-29 14:54:46 +00:00
rockchip ASoC: rockchip: i2s-tdm: switch to FIELD_PREP_WM16_CONST macro 2025-09-02 20:06:47 -04:00
samsung ASoC: samsung: littlemill: don't set dapm->bias_level directly 2025-07-13 22:36:48 +01:00
sdca More minor SDCA bug fixes 2025-09-04 19:31:51 +01:00
sdw_utils ASoC: soc_sdw_utils: remove cs42l43 component_name 2025-10-28 10:22:13 +00:00
sof ASoC: Fixes for v6.18 2025-10-08 13:52:14 +02:00
spear
sprd ALSA: compress_offload: Add 64-bit safe timestamp infrastructure 2025-09-08 09:33:24 +02:00
starfive
sti
stm ASoC: stm32: sai: manage context in set_sysclk callback 2025-09-26 00:59:18 +01:00
sunxi
tegra
ti treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
uniphier ALSA: compress_offload: Add 64-bit safe timestamp infrastructure 2025-09-08 09:33:24 +02:00
ux500
xilinx
xtensa
Kconfig ASoC: generic: tidyup standardized ASoC menu for generic 2025-08-10 21:06:44 +01:00
Makefile
soc-ac97.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
soc-acpi.c
soc-card-test.c
soc-card.c
soc-component.c ALSA: compress_offload: Add 64-bit safe timestamp infrastructure 2025-09-08 09:33:24 +02:00
soc-compress.c ALSA: compress_offload: Add 64-bit safe timestamp infrastructure 2025-09-08 09:33:24 +02:00
soc-core.c ASoC: soc-dapm: tidyup idle_bias handling - step1 2025-09-18 22:24:15 +01:00
soc-dai.c ALSA: compress_offload: Add 64-bit safe timestamp infrastructure 2025-09-08 09:33:24 +02:00
soc-dapm.c ASoC: soc-dapm: add snd_soc_dapm_set_idle_bias() 2025-09-18 22:24:18 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c
soc-jack.c
soc-link.c
soc-ops-test.c
soc-ops.c ASoC: ops: improve snd_soc_get_volsw 2025-09-22 14:00:38 +02:00
soc-pcm.c
soc-topology-test.c
soc-topology.c
soc-usb.c
soc-utils-test.c
soc-utils.c