Re: [PATCH] ALSA: hda/realtek: Add mute LED fixup for HP Pavilion 15-cs1xxx

From: Takashi Iwai

Date: Tue May 05 2026 - 05:55:28 EST


On Mon, 04 May 2026 19:31:26 +0200,
Rodrigo Faria wrote:
>
> The OEM Strings (Type 11) contain "String 6: HP_Mute_LED_0_A", which
> confirms the BIOS knows about the LED.

So BIOS declares the pin 0x18 being the one that controls the mute
LED, polarity = 0. Basically it's a bug in BIOS.
Is BIOS update available?

> However, it seems the auto-parser is not correctly mapping this to the
> actual hardware on this model.
> Regarding the 103c:0000 SSID: I noticed it in dmesg during some early
> boot cycles, but the codec_dump consistently identifies the device as
> 103c:856a.

What about PCI SSID (not codec SSID)?
At best, give alsa-info.sh output; run the script with --no-upload
option and attach the output.

> I've physically verified that the mute LED is connected to NID 0x1b.
> Without this quirk, the LED remains non-functional even though the
> audio itself works fine with the generic driver.

OK, so it should be NID 0x1b. I guess you can drop the line to set
polarity but keep only the line to override to the NID.
And, if BIOS update doesn't help, this kind of workaround is the only
way to go, and in that case, please give some more brief comments in
the function what does this and why this is needed.


thanks,

Takashi

> Best regards,
> Rodrigo Faria
>
> On Mon, May 4, 2026 at 4:54 PM Takashi Iwai <tiwai@xxxxxxx> wrote:
> >
> > On Mon, 04 May 2026 16:53:37 +0200,
> > Rodrigo Faria wrote:
> > >
> > > Add a new fixup for the mute LED on the HP Pavilion 15-cs series
> > > using the VREF on NID 0x1b. These models will no longer fall back
> > > to the generic 103c:0000.
> >
> > So your model has a PCI SSID *:0000? Or what does this mean exactly?
> >
> > > Signed-off-by: Rodrigo Faria <rodrigofilipefaria@xxxxxxxxx>
> > > ---
> > > sound/hda/codecs/realtek/alc269.c | 20 ++++++++++++++++++++
> > > 1 file changed, 20 insertions(+)
> > >
> > > diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
> > > index a9cd03bb7..1db72bf28 100644
> > > --- a/sound/hda/codecs/realtek/alc269.c
> > > +++ b/sound/hda/codecs/realtek/alc269.c
> > > @@ -1669,6 +1669,20 @@ static void alc295_fixup_hp_mute_led_coefbit11(struct hda_codec *codec,
> > > }
> > > }
> > >
> > > +static void alc295_fixup_hp_pavilion_mute_led_1b(struct hda_codec *codec,
> > > + const struct hda_fixup *fix,
> > > + int action)
> > > +{
> > > + struct alc_spec *spec = codec->spec;
> > > +
> > > + alc269_fixup_hp_mute_led(codec, fix, action);
> > > +
> > > + if (action == HDA_FIXUP_ACT_PRE_PROBE) {
> > > + spec->mute_led_nid = 0x1b;
> > > + spec->mute_led_polarity = 0;
> > > + }
> >
> > Hm, the BIOS gives a wrong pin number via DMI?
> > This bug pattern is new.
> >
> > I can take the patch, but I'd like to understand better what's going
> > on.
> >
> >
> > thanks,
> >
> > Takashi