mbox series

[0/5] ASoC: SOF: ipc4: Querry CPC value from firmware's manifest

Message ID 20230522101313.12519-1-peter.ujfalusi@linux.intel.com
Headers show
Series ASoC: SOF: ipc4: Querry CPC value from firmware's manifest | expand

Message

Peter Ujfalusi May 22, 2023, 10:13 a.m. UTC
Hi,

Hi,

The MOD_INIT_INSTANCE message contains a CPC (Cycles Per Chunk/processing unit)
parameter.
This CPC value is used by the firmware to calculate the total cycles needed by
the enabled module instances and based on this it can decide to set the
frequency of the DSP core(s).

The manifest section of the firmware image contains a module configuration
section, where a per module table of configurations are listed with measured
CPC values as triplet of IBS/IBS/CPC (Input/Output buffer size - corresponding
to the selected audio format).

In case the CPC value is 0 (missing from the manifest or the configuration cannot
be matched) the firmware will force the DSP cores to maximum speed to avoid audio
glitches due to starvation.
In these cases the kernel will print a warning message to let the SOF developers
know about the gap and provide information to correct it with a firmware update.

Regards,
Peter
---
Peter Ujfalusi (5):
  ASoC: SOF: ipc4-loader: Drop unused bss_size from struct
    sof_ipc4_fw_module
  ASoC: SOF: ipc4-loader: Save a pointer to fm_config in
    sof_ipc4_fw_module
  ASoC: SOF: ipc4-topology: Rename sof_ipc4_update_pipeline_mem_usage()
    to be generic
  ASoC: SOF: ipc4-topology: Do not use the CPC value from topology
  ASoC: SOF: ipc4-loader/topology: Query the CPC value from manifest

 sound/soc/sof/ipc4-loader.c   | 72 ++++++++++++++++++++++++++++++++---
 sound/soc/sof/ipc4-priv.h     | 10 ++++-
 sound/soc/sof/ipc4-topology.c | 33 +++++++++-------
 3 files changed, 94 insertions(+), 21 deletions(-)