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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.