ASoC: amd: ps: Propagate the PCI subsystem Vendor and Device IDs

Extend the ACP machine driver to propagate the PCI subsystem Vendor and
Device IDs so that they may be subsequently used as an SSID.

Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Link: https://patch.msgid.link/20251016150649.320277-2-simont@opensource.cirrus.com
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Simon Trimmer 2025-10-16 15:06:48 +00:00 committed by Mark Brown
parent 211ddde082
commit aab1301cfd
2 changed files with 11 additions and 0 deletions

View File

@ -370,6 +370,8 @@ struct acp63_dev_data {
u32 addr;
u32 reg_range;
u32 acp_rev;
u32 subsystem_vendor;
u32 subsystem_device;
u32 acp_sw_pad_keeper_en;
u32 acp_pad_pulldown_ctrl;
u16 acp63_sdw0_dma_intr_stat[ACP63_SDW0_DMA_MAX_STREAMS];

View File

@ -335,6 +335,12 @@ static struct snd_soc_acpi_mach *acp63_sdw_machine_select(struct device *dev)
mach->mach_params.links = mach->links;
mach->mach_params.link_mask = mach->link_mask;
mach->mach_params.subsystem_rev = acp_data->acp_rev;
mach->mach_params.subsystem_vendor = acp_data->subsystem_vendor;
mach->mach_params.subsystem_device = acp_data->subsystem_device;
mach->mach_params.subsystem_id_set = true;
dev_dbg(dev, "SSID %x%x\n", mach->mach_params.subsystem_vendor,
mach->mach_params.subsystem_device);
return mach;
}
}
@ -617,6 +623,9 @@ static int snd_acp63_probe(struct pci_dev *pci,
adata->addr = addr;
adata->reg_range = ACP63_REG_END - ACP63_REG_START;
adata->acp_rev = pci->revision;
adata->subsystem_vendor = pci->subsystem_vendor;
adata->subsystem_device = pci->subsystem_device;
pci_set_master(pci);
pci_set_drvdata(pci, adata);
mutex_init(&adata->acp_lock);