Commit b0a12fa9 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Mark Brown

ASoC: SOF: ipc4-loader: Save the maximum number of libraries supported

The firmware supports external libraries (containing modules) to be loaded
runtime.
The firmware configuration contains the maximum number of libraries
supported, including the base firmware (which is library 0).
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: default avatarChao Song <chao.song@intel.com>
Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20221020121238.18339-9-peter.ujfalusi@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent aa23b375
...@@ -202,6 +202,13 @@ static int sof_ipc4_query_fw_configuration(struct snd_sof_dev *sdev) ...@@ -202,6 +202,13 @@ static int sof_ipc4_query_fw_configuration(struct snd_sof_dev *sdev)
trace_sof_ipc4_fw_config(sdev, "Trace log size", *tuple->value); trace_sof_ipc4_fw_config(sdev, "Trace log size", *tuple->value);
ipc4_data->mtrace_log_bytes = *tuple->value; ipc4_data->mtrace_log_bytes = *tuple->value;
break; break;
case SOF_IPC4_FW_CFG_MAX_LIBS_COUNT:
trace_sof_ipc4_fw_config(sdev, "maximum number of libraries",
*tuple->value);
ipc4_data->max_libs_count = *tuple->value;
if (!ipc4_data->max_libs_count)
ipc4_data->max_libs_count = 1;
break;
default: default:
break; break;
} }
......
...@@ -32,6 +32,8 @@ enum sof_ipc4_mtrace_type { ...@@ -32,6 +32,8 @@ enum sof_ipc4_mtrace_type {
* @nhlt: NHLT table either from the BIOS or the topology manifest * @nhlt: NHLT table either from the BIOS or the topology manifest
* @mtrace_type: mtrace type supported on the booted platform * @mtrace_type: mtrace type supported on the booted platform
* @mtrace_log_bytes: log bytes as reported by the firmware via fw_config reply * @mtrace_log_bytes: log bytes as reported by the firmware via fw_config reply
* @max_libs_count: Maximum number of libraries support by the FW including the
* base firmware
*/ */
struct sof_ipc4_fw_data { struct sof_ipc4_fw_data {
u32 manifest_fw_hdr_offset; u32 manifest_fw_hdr_offset;
...@@ -40,6 +42,7 @@ struct sof_ipc4_fw_data { ...@@ -40,6 +42,7 @@ struct sof_ipc4_fw_data {
void *nhlt; void *nhlt;
enum sof_ipc4_mtrace_type mtrace_type; enum sof_ipc4_mtrace_type mtrace_type;
u32 mtrace_log_bytes; u32 mtrace_log_bytes;
u32 max_libs_count;
}; };
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment