On 9/12/23 12:32, Richard Fitzgerald wrote: > The PCI device registers contain a subsystem ID (SSID), that is > separate from the silicon ID. The PCI specification defines it thus: > > "They provide a mechanism for board vendors to distiguish their > boards from one another even thought the boards may have the same > PCI controller on them." > > This allows the driver for the silicon part to apply board-speficic > settings based on this SSID. > > The CS35L56 driver uses this to select the correct firmware file for > the board. The actual ID is part of the PCI register set of the > host audio interface so this set of patches includes extracting the > SSID from the Intel audio controller and passing it to the machine > driver and then to ASoC components. Other PCI audio controllers > will have the same SSID registers, so can use the same mechanism to > pass the SSID. > > Richard Fitzgerald (4): > ASoC: soc-card: Add storage for PCI SSID > ASoC: SOF: Pass PCI SSID to machine driver > ASoC: Intel: sof_sdw: Copy PCI SSID to struct snd_soc_card > ASoC: cs35l56: Use PCI SSID as the firmware UID for the series Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> > > include/sound/soc-acpi.h | 7 ++++++ > include/sound/soc-card.h | 37 ++++++++++++++++++++++++++++++++ > include/sound/soc.h | 11 ++++++++++ > include/sound/sof.h | 8 +++++++ > sound/soc/codecs/cs35l56.c | 11 ++++++++++ > sound/soc/intel/boards/sof_sdw.c | 6 ++++++ > sound/soc/sof/sof-audio.c | 7 ++++++ > sound/soc/sof/sof-pci-dev.c | 8 +++++++ > 8 files changed, 95 insertions(+) >