diff options
| author | Mark Brown <broonie@kernel.org> | 2023-11-30 14:23:17 +0300 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2023-11-30 14:23:17 +0300 |
| commit | ef6069f3f6577b2e5bdf223d2f6d09f23bed8c6c (patch) | |
| tree | 76c3f82274d0e81e75f4e0ff96b2eb01c222ca17 /include | |
| parent | 15c7fab0e0477d7d7185eac574ca43c15b59b015 (diff) | |
| parent | 6c393ebbd74ad341bcfb4e2d0091b2655fad45d0 (diff) | |
| download | linux-ef6069f3f6577b2e5bdf223d2f6d09f23bed8c6c.tar.xz | |
ASoC: SOF: IPC path handling and fallback support
Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:
The main aim of the series is to provide a mechanism to fallback to 'older' IPC
versions in case the desired one is missing either a firmware or topology file.
It is going to make the life of users and distributions if we are going to
start transition existing IPC3 platforms to IPC4 (CAVS2.5) and we might have
missed some topology file to convert for example.
In that case the kernel will fallback to IPC3 without audio regression.
To be able to support this we needed to change the probe sequence to know the
topology filename earlier and check if it is present in the filesystem.
No functional changes for now, the default IPC versions have not been changed.
Diffstat (limited to 'include')
| -rw-r--r-- | include/sound/sof.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/sound/sof.h b/include/sound/sof.h index 268d0ca0f69f..05213bb515a3 100644 --- a/include/sound/sof.h +++ b/include/sound/sof.h @@ -57,6 +57,18 @@ enum sof_ipc_type { SOF_IPC_TYPE_COUNT }; +struct sof_loadable_file_profile { + enum sof_ipc_type ipc_type; + + const char *fw_path; + const char *fw_path_postfix; + const char *fw_name; + const char *fw_lib_path; + const char *fw_lib_path_postfix; + const char *tplg_path; + const char *tplg_name; +}; + /* * SOF Platform data. */ @@ -86,6 +98,9 @@ struct snd_sof_pdata { /* descriptor */ const struct sof_dev_desc *desc; + /* platform's preferred IPC type and path overrides */ + struct sof_loadable_file_profile ipc_file_profile_base; + /* firmware and topology filenames */ const char *fw_filename_prefix; const char *fw_filename; |
