linux-stable/sound/soc/sof
Vijendar Mukunda 7e1fe5d9e7
ASoC: SOF: amd: fix for firmware reload failure after playback
Setting ACP ACLK as clock source when ACP enters D0 state causing
firmware load failure as mentioned in below scenario.

- Load snd_sof_amd_rembrandt
- Play or Record audio
- Stop audio
- Unload snd_sof_amd_rembrandt
- Reload snd_sof_amd_rembrandt

If acp_clkmux_sel register field is set, then clock source will be
set to ACP ACLK when ACP enters D0 state.

During stream stop, if there is no active stream is running then
acp firmware will set the ACP ACLK value to zero.

When driver is reloaded and clock source is selected as ACP ACLK,
as ACP ACLK is programmed to zero, firmware loading will fail.

For RMB platform, remove the clock mux selection field so that
ACP will use internal clock source when ACP enters D0 state.

Fixes: 41cb85bc4b ("ASoC: SOF: amd: Add support for Rembrandt plaform.")
Reported-by: coolstar <coolstarorganization@gmail.com>
Closes: https://github.com/thesofproject/sof/issues/8137
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://lore.kernel.org/r/20230927071412.2416250-1-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-09-27 11:08:05 +02:00
..
amd ASoC: SOF: amd: fix for firmware reload failure after playback 2023-09-27 11:08:05 +02:00
imx
intel ASoC: SOF: Intel: MTL: Reduce the DSP init timeout 2023-09-15 17:14:21 +01:00
mediatek
xtensa
compress.c
control.c
core.c ASoC: SOF: core: Only call sof_ops_free() on remove if the probe was successful 2023-09-15 17:14:22 +01:00
debug.c
iomem-utils.c
ipc3-control.c
ipc3-dtrace.c
ipc3-loader.c
ipc3-pcm.c
ipc3-priv.h
ipc3-topology.c
ipc3.c ASoC: SOF: ipc3: Use devm_kmemdup to replace devm_kmalloc + memcpy 2023-08-14 19:44:39 +01:00
ipc4-control.c
ipc4-fw-reg.h
ipc4-loader.c
ipc4-mtrace.c
ipc4-pcm.c ASoC: Merge up fixes 2023-08-17 22:38:42 +01:00
ipc4-priv.h
ipc4-topology.c ASoC: SOF: ipc4-topology: fix wrong sizeof argument 2023-09-14 15:32:42 +01:00
ipc4-topology.h
ipc4.c
ipc.c
Kconfig
loader.c
Makefile
nocodec.c
ops.c
ops.h
pcm.c
pm.c
sof-acpi-dev.c
sof-acpi-dev.h
sof-audio.c ASoC: SOF: sof-audio: Fix DSP core put imbalance on widget setup failure 2023-09-14 15:32:43 +01:00
sof-audio.h
sof-client-ipc-flood-test.c
sof-client-ipc-kernel-injector.c
sof-client-ipc-msg-injector.c
sof-client-probes-ipc3.c
sof-client-probes-ipc4.c
sof-client-probes.c ASoC: sof: merge DAI call back functions into ops 2023-08-14 13:10:09 +01:00
sof-client-probes.h
sof-client.c
sof-client.h
sof-of-dev.c
sof-of-dev.h
sof-pci-dev.c
sof-pci-dev.h
sof-priv.h
sof-utils.c
sof-utils.h
stream-ipc.c
topology.c ASoC: SOF: topology: Add a token for dropping widget name in kcontrol name 2023-08-15 13:25:56 +01:00
trace.c