Hi,
In the current code, we enable a widget core when it is set up and
disable it when it is freed. This is problematic with IPC4 because
widget free is essentially a NOP and all widgets are freed in the
firmware when the pipeline is deleted. This results in a crash during
pipeline deletion when one of it's widgets is scheduled to run on a
secondary core and is powered off when widget is freed. So, change the
logic to enable all cores needed by all the modules in a pipeline when
the pipeline widget is set up and disable them after the pipeline
widget is freed.
Regards,
Peter
---
Ranjani Sridharan (2):
ASoC: SOF: ipc4-topology: Add core_mask in struct snd_sof_pipeline
ASoC: SOF: sof-audio: Modify logic for enabling/disabling topology
cores
sound/soc/sof/ipc3-topology.c | 2 ++
sound/soc/sof/ipc4-topology.c | 9 +++++
sound/soc/sof/sof-audio.c | 65 ++++++++++++++++++++++-------------
sound/soc/sof/sof-audio.h | 2 ++
4 files changed, 54 insertions(+), 24 deletions(-)
--
2.42.1
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]