Re: ALSA: hda/realtek: Enable Mute LED on HP OMEN Laptop xd000xx
From: Takashi Iwai
Date: Fri Mar 28 2025 - 08:38:16 EST
On Thu, 27 Mar 2025 18:46:34 +0100,
Sharan Kumar Muthu Saravanan wrote:
>
> This HP Laptop uses ALC245 codec, and this codec was already used but
> on your previous patches which i referred said that led off coef can
> be set to 0
It's not clear which previous patches and which you referred to.
Could you elaborate, e.g. give the commit ID and the subject? If any,
we need Fixes tag pointing to it.
> Signed-off-by: M SHARAN KUMAR <sharweshraajan@xxxxxxxxx>
Please align with your From tag for avoiding confusion.
> ---
> sound/pci/hda/patch_realtek.c | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index a84857a3c2bf..8c2375476952 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -4739,6 +4739,21 @@ static void
> alc245_fixup_hp_mute_led_coefbit(struct hda_codec *codec,
> snd_hda_gen_add_mute_led_cdev(codec, coef_mute_led_set);
> }
> }
> +static void alc245_fixup_hp_mute_led_v1_coefbit(struct hda_codec *codec,
> + const struct hda_fixup *fix,
> + int action)
Please put a blank line, as I already pointed in the previous reply.
> +{
> + struct alc_spec *spec = codec->spec;
> +
> + if (action == HDA_FIXUP_ACT_PRE_PROBE) {
> + spec->mute_led_polarity = 0;
> + spec->mute_led_coef.idx = 0x0b;
> + spec->mute_led_coef.mask = 3 << 2;
> + spec->mute_led_coef.on = 1 << 3;
> + spec->mute_led_coef.off = 0;
> + snd_hda_gen_add_mute_led_cdev(codec, coef_mute_led_set);
> + }
> +}
>
> /* turn on/off mic-mute LED per capture hook by coef bit */
> static int coef_micmute_led_set(struct led_classdev *led_cdev,
> @@ -7883,6 +7898,7 @@ enum {
> ALC245_FIXUP_TAS2781_SPI_2,
> ALC287_FIXUP_YOGA7_14ARB7_I2C,
> ALC245_FIXUP_HP_MUTE_LED_COEFBIT,
> + ALC245_FIXUP_HP_MUTE_LED_V1_COEFBIT,
> ALC245_FIXUP_HP_X360_MUTE_LEDS,
> ALC287_FIXUP_THINKPAD_I2S_SPK,
> ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD,
> @@ -10126,6 +10142,10 @@ static const struct hda_fixup alc269_fixups[] = {
> .chained = true,
> .chain_id = ALC285_FIXUP_THINKPAD_HEADSET_JACK,
> },
> + [ALC245_FIXUP_HP_MUTE_LED_V1_COEFBIT] = {
> + .type = HDA_FIXUP_FUNC,
> + .v.func = alc245_fixup_hp_mute_led_v1_coefbit,
> + },
> [ALC245_FIXUP_HP_MUTE_LED_COEFBIT] = {
> .type = HDA_FIXUP_FUNC,
> .v.func = alc245_fixup_hp_mute_led_coefbit,
> @@ -10569,6 +10589,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
> SND_PCI_QUIRK(0x103c, 0x8a0f, "HP Pavilion 14-ec1xxx",
> ALC287_FIXUP_HP_GPIO_LED),
> SND_PCI_QUIRK(0x103c, 0x8a20, "HP Laptop 15s-fq5xxx",
> ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
> SND_PCI_QUIRK(0x103c, 0x8a25, "HP Victus 16-d1xxx (MB 8A25)",
> ALC245_FIXUP_HP_MUTE_LED_COEFBIT),
> + SND_PCI_QUIRK(0x103c, 0x8bcd, "HP Omen 16-xd0xxx (MB 8BCD)",
> ALC245_FIXUP_HP_MUTE_LED_V1_COEFBIT),
The table is sorted in PCI SSID order. Please put at the right
position.
thanks,
Takashi