ASoC: SOF: sof-pci-dev: Save the default IPC type and path overrides
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Wed, 29 Nov 2023 12:53:20 +0000 (14:53 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 29 Nov 2023 13:25:09 +0000 (13:25 +0000)
Store the default IPC type and the overrides to ipc_file_profile_base

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20231129125327.23708-7-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/sof-pci-dev.c

index 64b326e..becc85b 100644 (file)
@@ -190,6 +190,7 @@ static void sof_pci_probe_complete(struct device *dev)
 
 int sof_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
 {
+       struct sof_loadable_file_profile *path_override;
        struct device *dev = &pci->dev;
        const struct sof_dev_desc *desc =
                (const struct sof_dev_desc *)pci_id->driver_data;
@@ -334,6 +335,20 @@ int sof_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
                        sof_pdata->tplg_filename = sof_dmi_override_tplg_name;
        }
 
+       path_override = &sof_pdata->ipc_file_profile_base;
+       path_override->ipc_type = sof_pdata->ipc_type;
+       path_override->fw_path = fw_path;
+       path_override->fw_name = fw_filename;
+       path_override->fw_lib_path = lib_path;
+       path_override->tplg_path = tplg_path;
+       path_override->tplg_name = sof_pdata->tplg_filename;
+
+       if (dmi_check_system(community_key_platforms) &&
+           sof_dmi_use_community_key) {
+               path_override->fw_path_postfix = "community";
+               path_override->fw_lib_path_postfix = "community";
+       }
+
        /* set callback to be called on successful device probe to enable runtime_pm */
        sof_pdata->sof_probe_complete = sof_pci_probe_complete;