]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: SOF: amd: update mach params subsystem_rev variable
authorVijendar Mukunda <Vijendar.Mukunda@amd.com>
Thu, 1 Aug 2024 11:18:16 +0000 (16:48 +0530)
committerMark Brown <broonie@kernel.org>
Thu, 1 Aug 2024 11:44:18 +0000 (12:44 +0100)
Add pci_rev variable in acp sof driver private data structure and assign
this value to mach_params structure subsystem_rev variable.

Link: https://github.com/thesofproject/linux/pull/5068
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://patch.msgid.link/20240801111821.18076-10-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/amd/acp-common.c
sound/soc/sof/amd/acp.c
sound/soc/sof/amd/acp.h

index 81bb93e9835864267e1e8464806b6cdb8c02911f..dbcaac84cb73afacc432900e2d1b6766354ba2e0 100644 (file)
@@ -153,6 +153,7 @@ static struct snd_soc_acpi_mach *amd_sof_sdw_machine_select(struct snd_sof_dev *
                                break;
                }
                if (mach && mach->link_mask) {
+                       mach->mach_params.subsystem_rev = acp_data->pci_rev;
                        mach->mach_params.links = mach->links;
                        mach->mach_params.link_mask = mach->link_mask;
                        mach->mach_params.platform = dev_name(sdev->dev);
@@ -173,6 +174,7 @@ static struct snd_soc_acpi_mach *amd_sof_sdw_machine_select(struct snd_sof_dev *
 struct snd_soc_acpi_mach *amd_sof_machine_select(struct snd_sof_dev *sdev)
 {
        struct snd_sof_pdata *sof_pdata = sdev->pdata;
+       struct acp_dev_data *acp_data = sdev->pdata->hw_pdata;
        const struct sof_dev_desc *desc = sof_pdata->desc;
        struct snd_soc_acpi_mach *mach = NULL;
 
@@ -186,6 +188,7 @@ struct snd_soc_acpi_mach *amd_sof_machine_select(struct snd_sof_dev *sdev)
                }
        }
 
+       mach->mach_params.subsystem_rev = acp_data->pci_rev;
        sof_pdata->tplg_filename = mach->sof_tplg_filename;
        sof_pdata->fw_filename = mach->fw_filename;
 
index 74fd5f2b148b8545c1229731239aedf87af3e0a0..7b122656efd15cff5d110c9b8b4602d323db49d9 100644 (file)
@@ -695,6 +695,7 @@ int amd_sof_acp_probe(struct snd_sof_dev *sdev)
        pci_set_master(pci);
        adata->addr = addr;
        adata->reg_range = chip->reg_end_addr - chip->reg_start_addr;
+       adata->pci_rev = pci->revision;
        mutex_init(&adata->acp_lock);
        sdev->pdata->hw_pdata = adata;
        adata->smn_dev = pci_get_device(PCI_VENDOR_ID_AMD, chip->host_bridge_id, NULL);
index 87e79d500865a8e8e3314bbc3fe3015d42c82397..ec9170b3f0680d6ac2ef1011093c5b7ccf7fc027 100644 (file)
@@ -251,6 +251,7 @@ struct acp_dev_data {
        bool is_dram_in_use;
        bool is_sram_in_use;
        bool sdw_en_stat;
+       unsigned int pci_rev;
 };
 
 void memcpy_to_scratch(struct snd_sof_dev *sdev, u32 offset, unsigned int *src, size_t bytes);