mbox series

[0/2] ASoC: SOF: Extend the enabled DSP core handling

Message ID 20231124135743.24674-1-peter.ujfalusi@linux.intel.com
Headers show
Series ASoC: SOF: Extend the enabled DSP core handling | expand

Message

Péter Ujfalusi Nov. 24, 2023, 1:57 p.m. UTC
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(-)