From: sashiko-bot@kernel.org
To: "Qianghua Wang" <qianghua.wang@senarytech.com>
Cc: linux-sound@vger.kernel.org
Subject: Re: [PATCH] ASoC: sn624x: add support for the SN6245 part ID
Date: Tue, 10 Nov 2026 03:33:05 +0000 [thread overview]
Message-ID: <sashiko-outbox-206121@kernel.org> (raw)
In-Reply-To: <20261110032012.711191-1-qianghua.wang@senarytech.com>
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] ASoC: Intel: soc-acpi: wrong SoundWire version 0x0 for SN6245
on ARL/LNL/MTL
--
commit b10667bc93275c45d1fc140d10749355be52e7d6
Author: Qianghua Wang <qianghua.wang@senarytech.com>
ASoC: sn624x: add support for the SN6245 part ID
This commit adds the SN6245 part ID (0x6245) to the SN624x SoundWire
driver ID table, the sdw_utils codec info table, and the Intel SoundWire
ACPI match tables for Arrow Lake, Lunar Lake, Meteor Lake, and Panther
Lake.
Link: https://github.com/thesofproject/linux/issues/6012
> diff --git a/sound/soc/codecs/sn624x-sdca-sdw.c b/sound/soc/codecs/sn624x-sdca-sdw.c
> index 65ea90e440008..079a96bce94e7 100644
> --- a/sound/soc/codecs/sn624x-sdca-sdw.c
> +++ b/sound/soc/codecs/sn624x-sdca-sdw.c
> @@ -1769,6 +1769,8 @@ static void sn624x_sdca_sdw_remove(struct sdw_slave *slave)
> static const struct sdw_device_id sn624x_sdca_id[] = {
> SDW_SLAVE_ENTRY_EXT(0x0496, 0x6242, 0x3, 0x1, 0),
> SDW_SLAVE_ENTRY_EXT(0x0496, 0x6244, 0x3, 0x1, 0),
> + /* SN6245 is register-compatible with SN6244 (jack/amp/dmic). */
> + SDW_SLAVE_ENTRY_EXT(0x0496, 0x6245, 0x3, 0x1, 0),
> SDW_SLAVE_ENTRY_EXT(0x0496, 0x6247, 0x3, 0x1, 0),
> { }
> };
> diff --git a/sound/soc/intel/common/soc-acpi-intel-arl-match.c b/sound/soc/intel/common/soc-acpi-intel-arl-match.c
> index 1d5f6677bfd87..2fe33280baad0 100644
> --- a/sound/soc/intel/common/soc-acpi-intel-arl-match.c
> +++ b/sound/soc/intel/common/soc-acpi-intel-arl-match.c
> @@ -653,9 +653,11 @@ static const struct snd_soc_acpi_link_adr _sym[] = { \
>
> SN624X_ARL_SINGLE_ADR(sn6242_single_adr, 0x0000000496624201ull);
> SN624X_ARL_SINGLE_ADR(sn6244_single_adr, 0x0000000496624401ull);
> +SN624X_ARL_SINGLE_ADR(sn6245_single_adr, 0x0000000496624501ull);
[ ... ]
> diff --git a/sound/soc/intel/common/soc-acpi-intel-lnl-match.c b/sound/soc/intel/common/soc-acpi-intel-lnl-match.c
> index a9fef394f176f..5e90e17a97969 100644
> --- a/sound/soc/intel/common/soc-acpi-intel-lnl-match.c
> +++ b/sound/soc/intel/common/soc-acpi-intel-lnl-match.c
> @@ -738,9 +738,11 @@ static const struct snd_soc_acpi_link_adr _sym[] = { \
>
> SN624X_LNL_SINGLE_ADR(sn6242_single_adr, 0x0000000496624201ull);
> SN624X_LNL_SINGLE_ADR(sn6244_single_adr, 0x0000000496624401ull);
> +SN624X_LNL_SINGLE_ADR(sn6245_single_adr, 0x0000000496624501ull);
[ ... ]
> diff --git a/sound/soc/intel/common/soc-acpi-intel-mtl-match.c b/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
> index 704b4e0d205e2..10c38bc4fb9d6 100644
> --- a/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
> +++ b/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
> @@ -1349,9 +1349,11 @@ static const struct snd_soc_acpi_link_adr _sym[] = { \
>
> SN624X_MTL_SINGLE_ADR(sn6242_single_adr, 0x0000000496624201ull);
> SN624X_MTL_SINGLE_ADR(sn6244_single_adr, 0x0000000496624401ull);
> +SN624X_MTL_SINGLE_ADR(sn6245_single_adr, 0x0000000496624501ull);
[Severity: Medium]
Should sn6245_single_adr on ARL, LNL, and MTL encode SoundWire version
0x3 (0x0000300496624501ull) instead of 0x0 (0x0000000496624501ull)?
sn624x_sdca_id[] registers SN6245 with sdw_version 0x3, which
sdw_get_device_id() requires in bits 47:44 of the ACPI _ADR before binding
the codec driver. During machine selection, hda_sdw_machine_select() ->
snd_soc_acpi_sdw_link_slaves_found() compares peripheral->id.sdw_version
against SDW_VERSION(adr) without treating 0 as a wildcard:
sound/soc/soc-acpi.c:snd_soc_acpi_sdw_link_slaves_found() {
...
version = SDW_VERSION(adr);
...
if (peripheral->bus->link_id == link_id &&
peripheral->id.part_id == part_id &&
peripheral->id.mfg_id == mfg_id &&
peripheral->id.sdw_version == version)
reported_part_count++;
...
}
Because 0x0 != 0x3, these ARL, LNL, and MTL entries cannot match an active
SN6245 codec, causing ARL and MTL systems to fail machine selection and
fall back to the HDMI-only HDA machine driver.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261110032012.711191-1-qianghua.wang@senarytech.com?part=1
next prev parent reply other threads:[~2026-11-10 3:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-10 3:20 [PATCH] ASoC: sn624x: add support for the SN6245 part ID Qianghua Wang
2026-11-10 3:33 ` sashiko-bot [this message]
2026-11-10 3:47 ` [PATCH v2] " Qianghua Wang
2026-11-10 11:30 ` 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=sashiko-outbox-206121@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=qianghua.wang@senarytech.com \
--cc=sashiko-reviews@lists.linux.dev \
/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