diff options
author | Peter Ujfalusi <peter.ujfalusi@linux.intel.com> | 2022-10-20 15:12:38 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-10-21 13:05:11 +0100 |
commit | 73c091a2fe96fac2b893ba166fa7cd11eff45947 (patch) | |
tree | b10d59633f0a2c818cfc178ac728656e4f2af004 /sound/soc/sof/ipc4.c | |
parent | ba42b8bac3fd10b90eefbe42d8d0839d71bf7638 (diff) | |
download | lwn-73c091a2fe96fac2b893ba166fa7cd11eff45947.tar.gz lwn-73c091a2fe96fac2b893ba166fa7cd11eff45947.zip |
ASoC: SOF: ipc4-loader: Support for loading external libraries
In case the requested module is not available among the loaded libraries,
try to load it as external library.
The kernel will try to load the file from <fw_lib_prefix>/<module_uuid>.bin
If the file found, then the ext manifest of it is parsed, placed it under
XArray and the pointer to the module is returned to the caller.
Releasing the firmware will be done on ipc cleanup time.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Chao Song <chao.song@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20221020121238.18339-20-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/sof/ipc4.c')
-rw-r--r-- | sound/soc/sof/ipc4.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/sof/ipc4.c b/sound/soc/sof/ipc4.c index f1e5875675db..3e81bc5d7d44 100644 --- a/sound/soc/sof/ipc4.c +++ b/sound/soc/sof/ipc4.c @@ -692,7 +692,7 @@ static int sof_ipc4_post_boot(struct snd_sof_dev *sdev) if (sdev->first_boot) return sof_ipc4_query_fw_configuration(sdev); - return 0; + return sof_ipc4_reload_fw_libraries(sdev); } const struct sof_ipc_ops ipc4_ops = { |