mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] ALSA: hda/realtek: Add quirk for HP ENVY 13-aq1xxx
@ 2026-09-23  9:40 Tarun Noonemunthala
  2026-09-28 11:36 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: Tarun Noonemunthala @ 2026-09-23  9:40 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Jaroslav Kysela, linux-sound, linux-kernel, Tarun Noonemunthala

The HP ENVY Laptop 13-aq1xxx (PCI SSID 103c:86ad) uses an ALC285 codec
with two speaker pairs: front (pin 0x14) and bottom (pin 0x17).

The BIOS leaves pin 0x14 as [N/A] ("not connected"), so the generic
parser never enables the front pair and only the bottom speakers are
audible.  The vendor driver (RTKVHD64.sys) programs that pin with the
value 0x90170150 and runs the HP amplifier initialization, which is
already implemented in the driver as ALC285_FIXUP_HP_GPIO_AMP_INIT.

Add a board fixup that applies the pin configuration for 0x14 and chains
to the existing amplifier init fixup.

The pin value was recovered from the vendor driver's own configuration
data.  The patch and this changelog were prepared with an AI coding
assistant (see the Assisted-by tag below); the change was reviewed and
tested by the submitter on the affected machine.

Tested on an HP ENVY 13-aq1xxx by rebuilding snd-hda-codec-alc269 from
the Fedora 7.1.10 source and loading it: the codec now reports
"line_outs=2 (0x14/0x17)", pin 0x14 comes up as an output (Pin-ctls
0x40) with its amplifier unmuted, and both speaker pairs play.

Assisted-by: OpenCode:deepseek-v4.1-flash checkpatch
Signed-off-by: Tarun Noonemunthala <ntarun2000@gmail.com>
---
 sound/hda/codecs/realtek/alc269.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 8f55c3c00..35d7d2f87 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -4139,6 +4139,7 @@ enum {
 	ALC285_FIXUP_HP_SPECTRE_X360_EB1,
 	ALC285_FIXUP_HP_SPECTRE_X360_DF1,
 	ALC285_FIXUP_HP_ENVY_X360,
+	ALC285_FIXUP_HP_ENVY_13AQ,
 	ALC288_FIXUP_DELL_HEADSET_MODE,
 	ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
 	ALC288_FIXUP_DELL_XPS_13,
@@ -6412,6 +6413,15 @@ static const struct hda_fixup alc269_fixups[] = {
 		.chained = true,
 		.chain_id = ALC285_FIXUP_HP_GPIO_AMP_INIT,
 	},
+	[ALC285_FIXUP_HP_ENVY_13AQ] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x14, 0x90170150 }, /* front speakers */
+			{ }
+		},
+		.chained = true,
+		.chain_id = ALC285_FIXUP_HP_GPIO_AMP_INIT,
+	},
 	[ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc285_fixup_ideapad_s740_coef,
@@ -7400,6 +7410,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x103c, 0x861f, "HP Elite Dragonfly G1", ALC285_FIXUP_HP_GPIO_AMP_INIT),
 	SND_PCI_QUIRK(0x103c, 0x864f, "HP Laptop 15-dy0xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
 	SND_PCI_QUIRK(0x103c, 0x869d, "HP", ALC236_FIXUP_HP_MUTE_LED),
+	SND_PCI_QUIRK(0x103c, 0x86ad, "HP ENVY 13-aq1xxx", ALC285_FIXUP_HP_ENVY_13AQ),
 	SND_PCI_QUIRK(0x103c, 0x86c1, "HP Laptop 15-da3001TU", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
 	SND_PCI_QUIRK(0x103c, 0x86c7, "HP Envy AiO 32", ALC274_FIXUP_HP_ENVY_GPIO),
 	SND_PCI_QUIRK(0x103c, 0x86c8, "HP Laptop 14s-dr1xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
-- 
2.55.0


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

* Re: [PATCH] ALSA: hda/realtek: Add quirk for HP ENVY 13-aq1xxx
  2026-09-23  9:40 [PATCH] ALSA: hda/realtek: Add quirk for HP ENVY 13-aq1xxx Tarun Noonemunthala
@ 2026-09-28 11:36 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2026-09-28 11:36 UTC (permalink / raw)
  To: Tarun Noonemunthala
  Cc: Takashi Iwai, Jaroslav Kysela, linux-sound, linux-kernel

On Wed, 23 Sep 2026 11:40:14 +0200,
Tarun Noonemunthala wrote:
> 
> The HP ENVY Laptop 13-aq1xxx (PCI SSID 103c:86ad) uses an ALC285 codec
> with two speaker pairs: front (pin 0x14) and bottom (pin 0x17).
> 
> The BIOS leaves pin 0x14 as [N/A] ("not connected"), so the generic
> parser never enables the front pair and only the bottom speakers are
> audible.  The vendor driver (RTKVHD64.sys) programs that pin with the
> value 0x90170150 and runs the HP amplifier initialization, which is
> already implemented in the driver as ALC285_FIXUP_HP_GPIO_AMP_INIT.
> 
> Add a board fixup that applies the pin configuration for 0x14 and chains
> to the existing amplifier init fixup.
> 
> The pin value was recovered from the vendor driver's own configuration
> data.  The patch and this changelog were prepared with an AI coding
> assistant (see the Assisted-by tag below); the change was reviewed and
> tested by the submitter on the affected machine.
> 
> Tested on an HP ENVY 13-aq1xxx by rebuilding snd-hda-codec-alc269 from
> the Fedora 7.1.10 source and loading it: the codec now reports
> "line_outs=2 (0x14/0x17)", pin 0x14 comes up as an output (Pin-ctls
> 0x40) with its amplifier unmuted, and both speaker pairs play.
> 
> Assisted-by: OpenCode:deepseek-v4.1-flash checkpatch
> Signed-off-by: Tarun Noonemunthala <ntarun2000@gmail.com>

Applied now.  Thanks.


Takashi

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

end of thread, other threads:[~2026-09-28 11:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-23  9:40 [PATCH] ALSA: hda/realtek: Add quirk for HP ENVY 13-aq1xxx Tarun Noonemunthala
2026-09-28 11:36 ` 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®