mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 03:40:04 +00:00
ASoC: SOF: ipc4: Stop using the query_fw_configuration fw_loader ops
Execute the configuration query from the generic post_fw_boot callback and do not set the query_fw_configuration ops to allow it's removal. 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-18-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
cbb984b68b
commit
e68513106e
3 changed files with 11 additions and 2 deletions
|
@ -202,7 +202,7 @@ static int sof_ipc4_validate_firmware(struct snd_sof_dev *sdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sof_ipc4_query_fw_configuration(struct snd_sof_dev *sdev)
|
||||
int sof_ipc4_query_fw_configuration(struct snd_sof_dev *sdev)
|
||||
{
|
||||
struct sof_ipc4_fw_data *ipc4_data = sdev->private;
|
||||
const struct sof_ipc_ops *iops = sdev->ipc->ops;
|
||||
|
@ -273,5 +273,4 @@ static int sof_ipc4_query_fw_configuration(struct snd_sof_dev *sdev)
|
|||
const struct sof_ipc_fw_loader_ops ipc4_loader_ops = {
|
||||
.validate = sof_ipc4_validate_firmware,
|
||||
.parse_ext_manifest = sof_ipc4_fw_parse_basefw_ext_man,
|
||||
.query_fw_configuration = sof_ipc4_query_fw_configuration,
|
||||
};
|
||||
|
|
|
@ -90,6 +90,7 @@ extern const struct sof_ipc_fw_tracing_ops ipc4_mtrace_ops;
|
|||
int sof_ipc4_set_pipeline_state(struct snd_sof_dev *sdev, u32 id, u32 state);
|
||||
int sof_ipc4_mtrace_update_pos(struct snd_sof_dev *sdev, int core);
|
||||
|
||||
int sof_ipc4_query_fw_configuration(struct snd_sof_dev *sdev);
|
||||
struct sof_ipc4_fw_module *sof_ipc4_find_module_by_uuid(struct snd_sof_dev *sdev,
|
||||
const guid_t *uuid);
|
||||
#endif
|
||||
|
|
|
@ -687,9 +687,18 @@ static void sof_ipc4_exit(struct snd_sof_dev *sdev)
|
|||
xa_destroy(&ipc4_data->fw_lib_xa);
|
||||
}
|
||||
|
||||
static int sof_ipc4_post_boot(struct snd_sof_dev *sdev)
|
||||
{
|
||||
if (sdev->first_boot)
|
||||
return sof_ipc4_query_fw_configuration(sdev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
const struct sof_ipc_ops ipc4_ops = {
|
||||
.init = sof_ipc4_init,
|
||||
.exit = sof_ipc4_exit,
|
||||
.post_fw_boot = sof_ipc4_post_boot,
|
||||
.tx_msg = sof_ipc4_tx_msg,
|
||||
.rx_msg = sof_ipc4_rx_msg,
|
||||
.set_get_data = sof_ipc4_set_get_data,
|
||||
|
|
Loading…
Reference in a new issue