ASoC: SOF: ipc4-loader: get max pipeline number

Get max pipeline number from firmware configuration.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20221108002910.2819709-3-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Bard Liao 2022-11-08 08:29:09 +08:00 committed by Mark Brown
parent a29b2d029f
commit eb2eaf5039
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
2 changed files with 13 additions and 0 deletions

View File

@ -383,6 +383,17 @@ int sof_ipc4_query_fw_configuration(struct snd_sof_dev *sdev)
if (!ipc4_data->max_libs_count)
ipc4_data->max_libs_count = 1;
break;
case SOF_IPC4_FW_CFG_MAX_PPL_COUNT:
ipc4_data->max_num_pipelines = *tuple->value;
trace_sof_ipc4_fw_config(sdev, "Max PPL count %d",
ipc4_data->max_num_pipelines);
if (ipc4_data->max_num_pipelines <= 0) {
dev_err(sdev->dev, "Invalid max_num_pipelines %d",
ipc4_data->max_num_pipelines);
ret = -EINVAL;
goto out;
}
break;
default:
break;
}

View File

@ -65,6 +65,7 @@ struct sof_ipc4_fw_library {
* @nhlt: NHLT table either from the BIOS or the topology manifest
* @mtrace_type: mtrace type supported on the booted platform
* @mtrace_log_bytes: log bytes as reported by the firmware via fw_config reply
* @max_num_pipelines: max number of pipelines
* @max_libs_count: Maximum number of libraries support by the FW including the
* base firmware
*
@ -76,6 +77,7 @@ struct sof_ipc4_fw_data {
void *nhlt;
enum sof_ipc4_mtrace_type mtrace_type;
u32 mtrace_log_bytes;
int max_num_pipelines;
u32 max_libs_count;
int (*load_library)(struct snd_sof_dev *sdev,