ASoC: SOF: set disable_function_topology if override_tplg_filename is set

User will expect the specified topology is used when
override_tplg_filename is set. However, the using function topologies
feature may use the function topologies instead of the specified
topology.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://patch.msgid.link/20250506113311.45487-3-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Bard Liao
2025-05-06 19:33:09 +08:00
committed by Mark Brown
parent e48a906af6
commit 92b5f92d11

View File

@@ -607,7 +607,8 @@ static void sof_probe_work(struct work_struct *work)
}
static void
sof_apply_profile_override(struct sof_loadable_file_profile *path_override)
sof_apply_profile_override(struct sof_loadable_file_profile *path_override,
struct snd_sof_pdata *plat_data)
{
if (override_ipc_type >= 0 && override_ipc_type < SOF_IPC_TYPE_COUNT)
path_override->ipc_type = override_ipc_type;
@@ -619,8 +620,11 @@ sof_apply_profile_override(struct sof_loadable_file_profile *path_override)
path_override->fw_lib_path = override_lib_path;
if (override_tplg_path)
path_override->tplg_path = override_tplg_path;
if (override_tplg_filename)
if (override_tplg_filename) {
path_override->tplg_name = override_tplg_filename;
/* User requested a specific topology file and expect it to be loaded */
plat_data->disable_function_topology = true;
}
}
int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data)
@@ -654,7 +658,7 @@ int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data)
}
}
sof_apply_profile_override(&plat_data->ipc_file_profile_base);
sof_apply_profile_override(&plat_data->ipc_file_profile_base, plat_data);
/* Initialize sof_ops based on the initial selected IPC version */
ret = sof_init_sof_ops(sdev);