mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] ALSA: hda/realtek: enable AW88399 on Lenovo Legion R9000P AFR10
@ 2026-10-09 15:58 Marco Giunta
  2026-10-10  7:58 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: Marco Giunta @ 2026-10-09 15:58 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jaroslav Kysela, linux-sound, linux-kernel, Marco Giunta

Add codec SSID entries for the Lenovo Legion R9000P AFR10 (83F6),
which uses the same ALC287 + AW88399 smart amplifier configuration
as the existing supported Legion models.

DSDT inspection confirms identical AWDZ8399 ACPI device layout
with reversed I2C addresses. The channel swap quirk applies.

Codec SSIDs (Lenovo vendor ID 0x17aa):

* 0x3934: Legion R9000P AFR10 (AMD)
* 0x3935: Legion R9000P AFR10 (AMD)

Signed-off-by: Marco Giunta <marco_giunta@outlook.it>
---
Note: this patch depends on the following commits, which are currently in
linux-next but not yet in tiwai/sound:

* commit 664824782df6 ("ASoC: aw88399: skip BSTS check when boost
  converter is bypassed")
* commit c5f615536405 ("ASoC: aw88399: remove bsts_unreliable
  workaround")
* commit 7df0f9ee9c5a ("ALSA: hda: aw88399: Switch to use
  acpi_bus_get_primary_device()")
  
The first two change the property table in aw88399_hda.c, simplifying
aw88399_apply_legion_quirks() to just aw88399_swap_channels(); the third
shifts by one the line count in aw88399_hda_acpi_probe().
Without these commits, this patch will not apply cleanly. Hence, for
simplicity, I based it on linux-next. I am happy to rebase on tiwai/sound
if preferred (after these changes are merged).

Best regards,
Marco

 sound/hda/codecs/realtek/alc269.c          | 2 ++
 sound/hda/codecs/side-codecs/aw88399_hda.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index fde109cf9163..3f3491ce7c5b 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -8483,6 +8483,8 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x17aa, 0x3920, "Yoga S990-16 pro Quad VECO Quad", ALC287_FIXUP_YOGA9_SPEAKER2_TO_DAC1),
 	SND_PCI_QUIRK(0x17aa, 0x3929, "Thinkbook 13x Gen 5", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
 	SND_PCI_QUIRK(0x17aa, 0x392b, "Thinkbook 13x Gen 5", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
+	HDA_CODEC_QUIRK(0x17aa, 0x3934, "Legion R9000P AFR10", ALC287_FIXUP_LENOVO_LEGION_AW88399),
+	HDA_CODEC_QUIRK(0x17aa, 0x3935, "Legion R9000P AFR10", ALC287_FIXUP_LENOVO_LEGION_AW88399),
 	HDA_CODEC_QUIRK(0x17aa, 0x3936, "Legion R9000P ADR10H", ALC287_FIXUP_LENOVO_LEGION_AW88399),
 	HDA_CODEC_QUIRK(0x17aa, 0x3937, "Legion R9000P ADR10H", ALC287_FIXUP_LENOVO_LEGION_AW88399),
 	HDA_CODEC_QUIRK(0x17aa, 0x3938, "Legion Pro 7 16AFR10H", ALC287_FIXUP_LENOVO_LEGION_AW88399),
diff --git a/sound/hda/codecs/side-codecs/aw88399_hda.c b/sound/hda/codecs/side-codecs/aw88399_hda.c
index 9c6e01c29651..9ada8dfd51ce 100644
--- a/sound/hda/codecs/side-codecs/aw88399_hda.c
+++ b/sound/hda/codecs/side-codecs/aw88399_hda.c
@@ -164,6 +164,8 @@ static const struct aw88399_prop_model aw88399_prop_model_table[] = {
 	{ "17AA3907", aw88399_swap_channels },
 	{ "17AA3927", aw88399_swap_channels },
 	{ "17AA3928", aw88399_swap_channels },
+	{ "17AA3934", aw88399_swap_channels },
+	{ "17AA3935", aw88399_swap_channels },
 	{ "17AA3936", aw88399_swap_channels },
 	{ "17AA3937", aw88399_swap_channels },
 	{ "17AA3938", aw88399_swap_channels },

base-commit: aac26bee2287c88af5be5a5ff96d783b19a28790
-- 
2.56.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] ALSA: hda/realtek: enable AW88399 on Lenovo Legion R9000P AFR10
  2026-10-09 15:58 [PATCH] ALSA: hda/realtek: enable AW88399 on Lenovo Legion R9000P AFR10 Marco Giunta
@ 2026-10-10  7:58 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2026-10-10  7:58 UTC (permalink / raw)
  To: Mark Brown
  Cc: Marco Giunta, Takashi Iwai, Jaroslav Kysela, linux-sound, linux-kernel

On Fri, 09 Oct 2026 17:58:10 +0200,
Marco Giunta wrote:
> 
> Add codec SSID entries for the Lenovo Legion R9000P AFR10 (83F6),
> which uses the same ALC287 + AW88399 smart amplifier configuration
> as the existing supported Legion models.
> 
> DSDT inspection confirms identical AWDZ8399 ACPI device layout
> with reversed I2C addresses. The channel swap quirk applies.
> 
> Codec SSIDs (Lenovo vendor ID 0x17aa):
> 
> * 0x3934: Legion R9000P AFR10 (AMD)
> * 0x3935: Legion R9000P AFR10 (AMD)
> 
> Signed-off-by: Marco Giunta <marco_giunta@outlook.it>
> ---
> Note: this patch depends on the following commits, which are currently in
> linux-next but not yet in tiwai/sound:
> 
> * commit 664824782df6 ("ASoC: aw88399: skip BSTS check when boost
>   converter is bypassed")
> * commit c5f615536405 ("ASoC: aw88399: remove bsts_unreliable
>   workaround")
> * commit 7df0f9ee9c5a ("ALSA: hda: aw88399: Switch to use
>   acpi_bus_get_primary_device()")
>   
> The first two change the property table in aw88399_hda.c, simplifying
> aw88399_apply_legion_quirks() to just aw88399_swap_channels(); the third
> shifts by one the line count in aw88399_hda_acpi_probe().
> Without these commits, this patch will not apply cleanly. Hence, for
> simplicity, I based it on linux-next. I am happy to rebase on tiwai/sound
> if preferred (after these changes are merged).

OK, so this obviously needs ASoC PR at first.
Mark, could you send the stuff for pre-7.4?


thanks,

Takashi

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-10  7:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-09 15:58 [PATCH] ALSA: hda/realtek: enable AW88399 on Lenovo Legion R9000P AFR10 Marco Giunta
2026-10-10  7:58 ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®