mbox series

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

Message ID 20230522101313.12519-1-peter.ujfalusi@linux.intel.com (mailing list archive)
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(-)

Comments

Mark Brown May 22, 2023, 3:01 p.m. UTC | #1
On Mon, 22 May 2023 13:13:08 +0300, Peter Ujfalusi wrote:
> 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).
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/5] ASoC: SOF: ipc4-loader: Drop unused bss_size from struct sof_ipc4_fw_module
      commit: d474809e9284848b6cb57a885f3252b86a0b485f
[2/5] ASoC: SOF: ipc4-loader: Save a pointer to fm_config in sof_ipc4_fw_module
      commit: fe04f300035d497a066172a9a9331439cc8300f6
[3/5] ASoC: SOF: ipc4-topology: Rename sof_ipc4_update_pipeline_mem_usage() to be generic
      commit: 19c745d1fd1a61a04a0b44623c70c4e71b6f274a
[4/5] ASoC: SOF: ipc4-topology: Do not use the CPC value from topology
      commit: 9caa90180512581821d7498132f952ebd4ba05ad
[5/5] ASoC: SOF: ipc4-loader/topology: Query the CPC value from manifest
      commit: d8a2c987934959dd1f27de75401625650cd25e47

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark