]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ASoC: SOF: ipc4: Querry CPC value from firmware's
authorMark Brown <broonie@kernel.org>
Mon, 22 May 2023 14:48:54 +0000 (15:48 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 22 May 2023 14:48:54 +0000 (15:48 +0100)
commit97e6d8cb57c1ac529233fb831eb2b80d516b3bc5
treeea30e8dfccc3ae9a4e71dbcf864d6a667420f0e9
parent17cf9faeba463d24e7c497ff8137a8c8414644dc
parentd8a2c987934959dd1f27de75401625650cd25e47
ASoC: SOF: ipc4: Querry CPC value from firmware's

Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:

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.