All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
To: lgirdwood@gmail.com, broonie@kernel.org
Cc: alsa-devel@alsa-project.org,
	pierre-louis.bossart@linux.intel.com,
	ranjani.sridharan@linux.intel.com, kai.vehmanen@linux.intel.com
Subject: [PATCH 0/5] ASoC: SOF: ipc4: Querry CPC value from firmware's manifest
Date: Mon, 22 May 2023 13:13:08 +0300	[thread overview]
Message-ID: <20230522101313.12519-1-peter.ujfalusi@linux.intel.com> (raw)

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(-)

-- 
2.40.1


             reply	other threads:[~2023-05-22 10:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-22 10:13 Peter Ujfalusi [this message]
2023-05-22 10:13 ` [PATCH 1/5] ASoC: SOF: ipc4-loader: Drop unused bss_size from struct sof_ipc4_fw_module Peter Ujfalusi
2023-05-22 10:13 ` [PATCH 2/5] ASoC: SOF: ipc4-loader: Save a pointer to fm_config in sof_ipc4_fw_module Peter Ujfalusi
2023-05-22 10:13 ` [PATCH 3/5] ASoC: SOF: ipc4-topology: Rename sof_ipc4_update_pipeline_mem_usage() to be generic Peter Ujfalusi
2023-05-22 10:13 ` [PATCH 4/5] ASoC: SOF: ipc4-topology: Do not use the CPC value from topology Peter Ujfalusi
2023-05-22 10:13 ` [PATCH 5/5] ASoC: SOF: ipc4-loader/topology: Query the CPC value from manifest Peter Ujfalusi
2023-05-22 15:01 ` [PATCH 0/5] ASoC: SOF: ipc4: Querry CPC value from firmware's manifest Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230522101313.12519-1-peter.ujfalusi@linux.intel.com \
    --to=peter.ujfalusi@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=kai.vehmanen@linux.intel.com \
    --cc=lgirdwood@gmail.com \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=ranjani.sridharan@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.