ASoC: Intel: sof_sdw: Copy PCI SSID to struct snd_soc_card
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Tue, 12 Sep 2023 16:32:06 +0000 (17:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:19:42 +0000 (17:19 +0000)
[ Upstream commit d8b387544ff4d02eda1d1839a0c601de4b037c33 ]

If the PCI SSID has been set in the struct snd_soc_acpi_mach_params,
copy this to struct snd_soc_card so that it can be used by other
ASoC components.

This is important for components that must apply system-specific
configuration.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20230912163207.3498161-4-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/intel/boards/sof_sdw.c

index 47d22ca..24e966a 100644 (file)
@@ -1934,6 +1934,12 @@ static int mc_probe(struct platform_device *pdev)
        for (i = 0; i < ARRAY_SIZE(codec_info_list); i++)
                codec_info_list[i].amp_num = 0;
 
+       if (mach->mach_params.subsystem_id_set) {
+               snd_soc_card_set_pci_ssid(card,
+                                         mach->mach_params.subsystem_vendor,
+                                         mach->mach_params.subsystem_device);
+       }
+
        ret = sof_card_dai_links_create(card);
        if (ret < 0)
                return ret;