public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Richard Fitzgerald <rf@opensource.cirrus.com>
To: <broonie@kernel.org>, <pierre-louis.bossart@linux.intel.com>,
	<yung-chuan.liao@linux.intel.com>, <kai.vehmanen@linux.intel.com>,
	<peter.ujfalusi@linux.intel.com>
Cc: <alsa-devel@alsa-project.org>, <patches@opensource.cirrus.com>,
	<linux-kernel@vger.kernel.org>,
	Richard Fitzgerald <rf@opensource.cirrus.com>
Subject: [PATCH 0/4] ASoC: cs35l56: Use PCI SSID to select specific firmware
Date: Tue, 12 Sep 2023 17:32:03 +0100	[thread overview]
Message-ID: <20230912163207.3498161-1-rf@opensource.cirrus.com> (raw)

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

 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(+)

-- 
2.30.2


             reply	other threads:[~2023-09-12 16:32 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-12 16:32 Richard Fitzgerald [this message]
2023-09-12 16:32 ` [PATCH 1/4] ASoC: soc-card: Add storage for PCI SSID Richard Fitzgerald
2023-09-13 10:56   ` Amadeusz Sławiński
2023-09-13 12:58     ` Mark Brown
2023-09-13 13:29       ` Richard Fitzgerald
2023-09-12 16:32 ` [PATCH 2/4] ASoC: SOF: Pass PCI SSID to machine driver Richard Fitzgerald
2023-09-12 16:32 ` [PATCH 3/4] ASoC: Intel: sof_sdw: Copy PCI SSID to struct snd_soc_card Richard Fitzgerald
2023-09-12 16:32 ` [PATCH 4/4] ASoC: cs35l56: Use PCI SSID as the firmware UID Richard Fitzgerald
2023-09-12 17:39 ` [PATCH 0/4] ASoC: cs35l56: Use PCI SSID to select specific firmware Pierre-Louis Bossart
2023-09-14 11:19 ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230912163207.3498161-1-rf@opensource.cirrus.com \
    --to=rf@opensource.cirrus.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=kai.vehmanen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patches@opensource.cirrus.com \
    --cc=peter.ujfalusi@linux.intel.com \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=yung-chuan.liao@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox