* [PATCH] ALSA: hda/realtek: Add codec IDs to HP ProBook G8 fixups
@ 2025-12-02 13:15 Ilyas Gasanov
2025-12-02 13:26 ` Takashi Iwai
2025-12-02 15:49 ` [PATCH v2] ALSA: hda/realtek: Add PCI SSIDs to HP ProBook quirks Ilyas Gasanov
0 siblings, 2 replies; 6+ messages in thread
From: Ilyas Gasanov @ 2025-12-02 13:15 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai; +Cc: linux-sound
According to amixer output, as well as the result value of the
GET_SUBSYSTEM_ID HDA verb, the codec's own subsystem ID may differ from
that of the HDA controller.
The snd_hda_pick_fixup() function specifically inspects just the codec's
subsystem ID, ignoring that of the controller, which causes mismatch on
machines where the above is the case, unless the codec's subsystem ID is
also covered.
For reference:
- https://linux-hardware.org/?probe=9829e4ea09&log=amixer
(HP ProBook 440 G8, MB 8A74, codec 10ec0236,103c8a7a)
- https://linux-hardware.org/?probe=5b2ca9b826&log=amixer
(HP ProBook 450 G8, MB 8A75, codec 10ec0236,103c8a7b)
- https://linux-hardware.org/?probe=228aee06a5&log=amixer
(HP ProBook 440 G8, MB 8A76, codec 10ec0236,103c8a7c)
- https://linux-hardware.org/?probe=1cd4bf968d&log=amixer
(HP ProBook 450 G8, MB 8A77, codec 10ec0236,103c8a7d)
Signed-off-by: Ilyas Gasanov <public@gsnoff.com>
---
sound/hda/codecs/realtek/alc269.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 4efc16ae6b5d..d34a196158aa 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -6599,6 +6599,10 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x103c, 0x8a74, "HP ProBook 440 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x8a75, "HP ProBook 450 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x8a78, "HP Dev One", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST),
+ SND_PCI_QUIRK(0x103c, 0x8a7a, "HP ProBook 440 G8 (MB 8A74)", ALC236_FIXUP_HP_GPIO_LED),
+ SND_PCI_QUIRK(0x103c, 0x8a7b, "HP ProBook 450 G8 (MB 8A75)", ALC236_FIXUP_HP_GPIO_LED),
+ SND_PCI_QUIRK(0x103c, 0x8a7c, "HP ProBook 440 G8 (MB 8A76)", ALC236_FIXUP_HP_GPIO_LED),
+ SND_PCI_QUIRK(0x103c, 0x8a7d, "HP ProBook 450 G8 (MB 8A77)", ALC236_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x8aa0, "HP ProBook 440 G9 (MB 8A9E)", ALC236_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x8aa3, "HP ProBook 450 G9 (MB 8AA1)", ALC236_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x8aa8, "HP EliteBook 640 G9 (MB 8AA6)", ALC236_FIXUP_HP_GPIO_LED),
--
2.51.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH] ALSA: hda/realtek: Add codec IDs to HP ProBook G8 fixups
2025-12-02 13:15 [PATCH] ALSA: hda/realtek: Add codec IDs to HP ProBook G8 fixups Ilyas Gasanov
@ 2025-12-02 13:26 ` Takashi Iwai
2025-12-02 14:11 ` Ilyas Gasanov
2025-12-02 15:49 ` [PATCH v2] ALSA: hda/realtek: Add PCI SSIDs to HP ProBook quirks Ilyas Gasanov
1 sibling, 1 reply; 6+ messages in thread
From: Takashi Iwai @ 2025-12-02 13:26 UTC (permalink / raw)
To: Ilyas Gasanov; +Cc: Jaroslav Kysela, Takashi Iwai, linux-sound
On Tue, 02 Dec 2025 14:15:08 +0100,
Ilyas Gasanov wrote:
>
> According to amixer output, as well as the result value of the
> GET_SUBSYSTEM_ID HDA verb, the codec's own subsystem ID may differ from
> that of the HDA controller.
>
> The snd_hda_pick_fixup() function specifically inspects just the codec's
> subsystem ID, ignoring that of the controller, which causes mismatch on
> machines where the above is the case, unless the codec's subsystem ID is
> also covered.
>
> For reference:
>
> - https://linux-hardware.org/?probe=9829e4ea09&log=amixer
> (HP ProBook 440 G8, MB 8A74, codec 10ec0236,103c8a7a)
> - https://linux-hardware.org/?probe=5b2ca9b826&log=amixer
> (HP ProBook 450 G8, MB 8A75, codec 10ec0236,103c8a7b)
> - https://linux-hardware.org/?probe=228aee06a5&log=amixer
> (HP ProBook 440 G8, MB 8A76, codec 10ec0236,103c8a7c)
> - https://linux-hardware.org/?probe=1cd4bf968d&log=amixer
> (HP ProBook 450 G8, MB 8A77, codec 10ec0236,103c8a7d)
>
> Signed-off-by: Ilyas Gasanov <public@gsnoff.com>
The primary matching is with PCI SSID, not the codec SSID.
Do they have the same numbers on those machines?
thanks,
Takashi
> ---
> sound/hda/codecs/realtek/alc269.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
> index 4efc16ae6b5d..d34a196158aa 100644
> --- a/sound/hda/codecs/realtek/alc269.c
> +++ b/sound/hda/codecs/realtek/alc269.c
> @@ -6599,6 +6599,10 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
> SND_PCI_QUIRK(0x103c, 0x8a74, "HP ProBook 440 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
> SND_PCI_QUIRK(0x103c, 0x8a75, "HP ProBook 450 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
> SND_PCI_QUIRK(0x103c, 0x8a78, "HP Dev One", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST),
> + SND_PCI_QUIRK(0x103c, 0x8a7a, "HP ProBook 440 G8 (MB 8A74)", ALC236_FIXUP_HP_GPIO_LED),
> + SND_PCI_QUIRK(0x103c, 0x8a7b, "HP ProBook 450 G8 (MB 8A75)", ALC236_FIXUP_HP_GPIO_LED),
> + SND_PCI_QUIRK(0x103c, 0x8a7c, "HP ProBook 440 G8 (MB 8A76)", ALC236_FIXUP_HP_GPIO_LED),
> + SND_PCI_QUIRK(0x103c, 0x8a7d, "HP ProBook 450 G8 (MB 8A77)", ALC236_FIXUP_HP_GPIO_LED),
> SND_PCI_QUIRK(0x103c, 0x8aa0, "HP ProBook 440 G9 (MB 8A9E)", ALC236_FIXUP_HP_GPIO_LED),
> SND_PCI_QUIRK(0x103c, 0x8aa3, "HP ProBook 450 G9 (MB 8AA1)", ALC236_FIXUP_HP_GPIO_LED),
> SND_PCI_QUIRK(0x103c, 0x8aa8, "HP EliteBook 640 G9 (MB 8AA6)", ALC236_FIXUP_HP_GPIO_LED),
> --
> 2.51.0
>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] ALSA: hda/realtek: Add codec IDs to HP ProBook G8 fixups
2025-12-02 13:26 ` Takashi Iwai
@ 2025-12-02 14:11 ` Ilyas Gasanov
2025-12-02 14:14 ` Takashi Iwai
0 siblings, 1 reply; 6+ messages in thread
From: Ilyas Gasanov @ 2025-12-02 14:11 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Jaroslav Kysela, linux-sound
On Tue, 02 Dec 2025 17:26 +0400,
Takashi Iwai wrote:
>
> On Tue, 02 Dec 2025 14:15:08 +0100,
> Ilyas Gasanov wrote:
> >
> > According to amixer output, as well as the result value of the
> > GET_SUBSYSTEM_ID HDA verb, the codec's own subsystem ID may differ from
> > that of the HDA controller.
> >
> > The snd_hda_pick_fixup() function specifically inspects just the codec's
> > subsystem ID, ignoring that of the controller, which causes mismatch on
> > machines where the above is the case, unless the codec's subsystem ID is
> > also covered.
> >
> > For reference:
> >
> > - https://linux-hardware.org/?probe=9829e4ea09&log=amixer
> > (HP ProBook 440 G8, MB 8A74, codec 10ec0236,103c8a7a)
> > - https://linux-hardware.org/?probe=5b2ca9b826&log=amixer
> > (HP ProBook 450 G8, MB 8A75, codec 10ec0236,103c8a7b)
> > - https://linux-hardware.org/?probe=228aee06a5&log=amixer
> > (HP ProBook 440 G8, MB 8A76, codec 10ec0236,103c8a7c)
> > - https://linux-hardware.org/?probe=1cd4bf968d&log=amixer
> > (HP ProBook 450 G8, MB 8A77, codec 10ec0236,103c8a7d)
> >
> > Signed-off-by: Ilyas Gasanov <public@gsnoff.com>
>
> The primary matching is with PCI SSID, not the codec SSID.
Good point. There is indeed a semantic difference between the SND_PCI_QUIRK() and HDA_CODEC_QUIRK() macros, specifically where the value of the .match_codec_ssid field is concerned.
> Do they have the same numbers on those machines?
From what it looks like:
- https://linux-hardware.org/?probe=9829e4ea09&log=lspci
Device: 00:1f.3
Class: Multimedia audio controller [0401]
SVendor: Hewlett-Packard Company [103c]
SDevice: ... [8a74]
(already covered)
- https://linux-hardware.org/?probe=5b2ca9b826&log=lspci
Device: 00:1f.3
Class: Multimedia audio controller [0401]
SVendor: Hewlett-Packard Company [103c]
SDevice: ... [8a75]
(already covered)
- https://linux-hardware.org/?probe=228aee06a5&log=lspci
Device: 00:1f.3
Class: Multimedia audio controller [0401]
SVendor: Hewlett-Packard Company [103c]
SDevice: ... [8a76]
(not covered yet)
- https://linux-hardware.org/?probe=1cd4bf968d&log=lspci
Device: 00:1f.3
Class: Multimedia audio controller [0401]
SVendor: Hewlett-Packard Company [103c]
SDevice: ... [8a77]
(not covered yet)
In short, PCI SSIDs 0x8a74 and 0x8a75 are already covered within alc269_fixup_tbl, but not 0x8a76 nor 0x8a77.
>
>
> thanks,
>
> Takashi
>
> > ---
> > sound/hda/codecs/realtek/alc269.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
> > index 4efc16ae6b5d..d34a196158aa 100644
> > --- a/sound/hda/codecs/realtek/alc269.c
> > +++ b/sound/hda/codecs/realtek/alc269.c
> > @@ -6599,6 +6599,10 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
> > SND_PCI_QUIRK(0x103c, 0x8a74, "HP ProBook 440 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
> > SND_PCI_QUIRK(0x103c, 0x8a75, "HP ProBook 450 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
> > SND_PCI_QUIRK(0x103c, 0x8a78, "HP Dev One", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST),
> > + SND_PCI_QUIRK(0x103c, 0x8a7a, "HP ProBook 440 G8 (MB 8A74)", ALC236_FIXUP_HP_GPIO_LED),
> > + SND_PCI_QUIRK(0x103c, 0x8a7b, "HP ProBook 450 G8 (MB 8A75)", ALC236_FIXUP_HP_GPIO_LED),
> > + SND_PCI_QUIRK(0x103c, 0x8a7c, "HP ProBook 440 G8 (MB 8A76)", ALC236_FIXUP_HP_GPIO_LED),
> > + SND_PCI_QUIRK(0x103c, 0x8a7d, "HP ProBook 450 G8 (MB 8A77)", ALC236_FIXUP_HP_GPIO_LED),
> > SND_PCI_QUIRK(0x103c, 0x8aa0, "HP ProBook 440 G9 (MB 8A9E)", ALC236_FIXUP_HP_GPIO_LED),
> > SND_PCI_QUIRK(0x103c, 0x8aa3, "HP ProBook 450 G9 (MB 8AA1)", ALC236_FIXUP_HP_GPIO_LED),
> > SND_PCI_QUIRK(0x103c, 0x8aa8, "HP EliteBook 640 G9 (MB 8AA6)", ALC236_FIXUP_HP_GPIO_LED),
> > --
> > 2.51.0
> >
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] ALSA: hda/realtek: Add codec IDs to HP ProBook G8 fixups
2025-12-02 14:11 ` Ilyas Gasanov
@ 2025-12-02 14:14 ` Takashi Iwai
0 siblings, 0 replies; 6+ messages in thread
From: Takashi Iwai @ 2025-12-02 14:14 UTC (permalink / raw)
To: Ilyas Gasanov; +Cc: Takashi Iwai, Jaroslav Kysela, linux-sound
On Tue, 02 Dec 2025 15:11:16 +0100,
Ilyas Gasanov wrote:
>
> On Tue, 02 Dec 2025 17:26 +0400,
> Takashi Iwai wrote:
> >
> > On Tue, 02 Dec 2025 14:15:08 +0100,
> > Ilyas Gasanov wrote:
> > >
> > > According to amixer output, as well as the result value of the
> > > GET_SUBSYSTEM_ID HDA verb, the codec's own subsystem ID may differ from
> > > that of the HDA controller.
> > >
> > > The snd_hda_pick_fixup() function specifically inspects just the codec's
> > > subsystem ID, ignoring that of the controller, which causes mismatch on
> > > machines where the above is the case, unless the codec's subsystem ID is
> > > also covered.
> > >
> > > For reference:
> > >
> > > - https://linux-hardware.org/?probe=9829e4ea09&log=amixer
> > > (HP ProBook 440 G8, MB 8A74, codec 10ec0236,103c8a7a)
> > > - https://linux-hardware.org/?probe=5b2ca9b826&log=amixer
> > > (HP ProBook 450 G8, MB 8A75, codec 10ec0236,103c8a7b)
> > > - https://linux-hardware.org/?probe=228aee06a5&log=amixer
> > > (HP ProBook 440 G8, MB 8A76, codec 10ec0236,103c8a7c)
> > > - https://linux-hardware.org/?probe=1cd4bf968d&log=amixer
> > > (HP ProBook 450 G8, MB 8A77, codec 10ec0236,103c8a7d)
> > >
> > > Signed-off-by: Ilyas Gasanov <public@gsnoff.com>
> >
> > The primary matching is with PCI SSID, not the codec SSID.
>
> Good point. There is indeed a semantic difference between the SND_PCI_QUIRK() and HDA_CODEC_QUIRK() macros, specifically where the value of the .match_codec_ssid field is concerned.
>
> > Do they have the same numbers on those machines?
>
> From what it looks like:
>
> - https://linux-hardware.org/?probe=9829e4ea09&log=lspci
> Device: 00:1f.3
> Class: Multimedia audio controller [0401]
> SVendor: Hewlett-Packard Company [103c]
> SDevice: ... [8a74]
> (already covered)
>
> - https://linux-hardware.org/?probe=5b2ca9b826&log=lspci
> Device: 00:1f.3
> Class: Multimedia audio controller [0401]
> SVendor: Hewlett-Packard Company [103c]
> SDevice: ... [8a75]
> (already covered)
>
> - https://linux-hardware.org/?probe=228aee06a5&log=lspci
> Device: 00:1f.3
> Class: Multimedia audio controller [0401]
> SVendor: Hewlett-Packard Company [103c]
> SDevice: ... [8a76]
> (not covered yet)
>
> - https://linux-hardware.org/?probe=1cd4bf968d&log=lspci
> Device: 00:1f.3
> Class: Multimedia audio controller [0401]
> SVendor: Hewlett-Packard Company [103c]
> SDevice: ... [8a77]
> (not covered yet)
>
> In short, PCI SSIDs 0x8a74 and 0x8a75 are already covered within alc269_fixup_tbl, but not 0x8a76 nor 0x8a77.
OK, could you resubmit the fix just for those missing two?
thanks,
Takashi
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2] ALSA: hda/realtek: Add PCI SSIDs to HP ProBook quirks
2025-12-02 13:15 [PATCH] ALSA: hda/realtek: Add codec IDs to HP ProBook G8 fixups Ilyas Gasanov
2025-12-02 13:26 ` Takashi Iwai
@ 2025-12-02 15:49 ` Ilyas Gasanov
2025-12-02 16:55 ` Takashi Iwai
1 sibling, 1 reply; 6+ messages in thread
From: Ilyas Gasanov @ 2025-12-02 15:49 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai; +Cc: linux-sound
According to HW probes, there exist upgraded variants of HP ProBook
440/450 G8 notebook PC hardware, with PCI SSIDs not yet covered:
- https://linux-hardware.org/?id=pci:8086-a0c8-103c-8a76
(HP ProBook 440 G8, SSID 103C:8A76, Tiger Lake HDA, ALC236)
- https://linux-hardware.org/?id=pci:8086-a0c8-103c-8a77
(HP ProBook 450 G8, SSID 103C:8A77, Tiger Lake HDA, ALC236)
The HDA GPIO indices for the mic mute (0x1) and speaker mute (0x2) LEDs
are virtually guaranteed to be identical for the HP ProBook 440/450 G8
variants with motherboard SSIDs 8A74/8A75 (BIOS T87) and 8A76/8A77 (BIOS
T88); especially since spare keyboard parts are interchangeable between
different revisions of the same notebook models, and thus necessarily
have the same slot pinouts.
Signed-off-by: Ilyas Gasanov <public@gsnoff.com>
---
sound/hda/codecs/realtek/alc269.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 4efc16ae6b5d..d90a6c01f63b 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -6598,6 +6598,8 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x103c, 0x8a6e, "HP EDNA 360", ALC287_FIXUP_CS35L41_I2C_4),
SND_PCI_QUIRK(0x103c, 0x8a74, "HP ProBook 440 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x8a75, "HP ProBook 450 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
+ SND_PCI_QUIRK(0x103c, 0x8a76, "HP ProBook 440 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
+ SND_PCI_QUIRK(0x103c, 0x8a77, "HP ProBook 450 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x8a78, "HP Dev One", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST),
SND_PCI_QUIRK(0x103c, 0x8aa0, "HP ProBook 440 G9 (MB 8A9E)", ALC236_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x8aa3, "HP ProBook 450 G9 (MB 8AA1)", ALC236_FIXUP_HP_GPIO_LED),
--
2.51.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v2] ALSA: hda/realtek: Add PCI SSIDs to HP ProBook quirks
2025-12-02 15:49 ` [PATCH v2] ALSA: hda/realtek: Add PCI SSIDs to HP ProBook quirks Ilyas Gasanov
@ 2025-12-02 16:55 ` Takashi Iwai
0 siblings, 0 replies; 6+ messages in thread
From: Takashi Iwai @ 2025-12-02 16:55 UTC (permalink / raw)
To: Ilyas Gasanov; +Cc: Jaroslav Kysela, Takashi Iwai, linux-sound
On Tue, 02 Dec 2025 16:49:30 +0100,
Ilyas Gasanov wrote:
>
> According to HW probes, there exist upgraded variants of HP ProBook
> 440/450 G8 notebook PC hardware, with PCI SSIDs not yet covered:
>
> - https://linux-hardware.org/?id=pci:8086-a0c8-103c-8a76
> (HP ProBook 440 G8, SSID 103C:8A76, Tiger Lake HDA, ALC236)
> - https://linux-hardware.org/?id=pci:8086-a0c8-103c-8a77
> (HP ProBook 450 G8, SSID 103C:8A77, Tiger Lake HDA, ALC236)
>
> The HDA GPIO indices for the mic mute (0x1) and speaker mute (0x2) LEDs
> are virtually guaranteed to be identical for the HP ProBook 440/450 G8
> variants with motherboard SSIDs 8A74/8A75 (BIOS T87) and 8A76/8A77 (BIOS
> T88); especially since spare keyboard parts are interchangeable between
> different revisions of the same notebook models, and thus necessarily
> have the same slot pinouts.
>
> Signed-off-by: Ilyas Gasanov <public@gsnoff.com>
Thanks, applied now.
Takashi
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-12-02 16:55 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-02 13:15 [PATCH] ALSA: hda/realtek: Add codec IDs to HP ProBook G8 fixups Ilyas Gasanov
2025-12-02 13:26 ` Takashi Iwai
2025-12-02 14:11 ` Ilyas Gasanov
2025-12-02 14:14 ` Takashi Iwai
2025-12-02 15:49 ` [PATCH v2] ALSA: hda/realtek: Add PCI SSIDs to HP ProBook quirks Ilyas Gasanov
2025-12-02 16:55 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox