From 361e5ecfae1d69aca57fa0c61c918bef275ff97c Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 17 Oct 2024 20:27:03 +0200 Subject: [PATCH] 5.15-stable patches added patches: alsa-hda-conexant-fix-audio-routing-for-hp-eliteone-1000-g2.patch series --- ...udio-routing-for-hp-eliteone-1000-g2.patch | 81 +++++++++++++++++++ queue-5.15/series | 1 + 2 files changed, 82 insertions(+) create mode 100644 queue-5.15/alsa-hda-conexant-fix-audio-routing-for-hp-eliteone-1000-g2.patch create mode 100644 queue-5.15/series diff --git a/queue-5.15/alsa-hda-conexant-fix-audio-routing-for-hp-eliteone-1000-g2.patch b/queue-5.15/alsa-hda-conexant-fix-audio-routing-for-hp-eliteone-1000-g2.patch new file mode 100644 index 00000000000..311b1ed3d46 --- /dev/null +++ b/queue-5.15/alsa-hda-conexant-fix-audio-routing-for-hp-eliteone-1000-g2.patch @@ -0,0 +1,81 @@ +From 9988844c457f6f17fb2e75aa000b6c3b1b673bb9 Mon Sep 17 00:00:00 2001 +From: Vasiliy Kovalev +Date: Wed, 9 Oct 2024 16:42:48 +0300 +Subject: ALSA: hda/conexant - Fix audio routing for HP EliteOne 1000 G2 + +From: Vasiliy Kovalev + +commit 9988844c457f6f17fb2e75aa000b6c3b1b673bb9 upstream. + +There is a problem with simultaneous audio output to headphones and +speakers, and when headphones are turned off, the speakers also turn +off and do not turn them on. + +However, it was found that if you boot linux immediately after windows, +there are no such problems. When comparing alsa-info, the only difference +is the different configuration of Node 0x1d: + +working conf. (windows): Pin-ctls: 0x80: HP +not working (linux): Pin-ctls: 0xc0: OUT HP + +This patch disable the AC_PINCTL_OUT_EN bit of Node 0x1d and fixes the +described problem. + +Signed-off-by: Vasiliy Kovalev +Cc: +Link: https://patch.msgid.link/20241009134248.662175-1-kovalev@altlinux.org +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/pci/hda/patch_conexant.c | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +--- a/sound/pci/hda/patch_conexant.c ++++ b/sound/pci/hda/patch_conexant.c +@@ -307,6 +307,7 @@ enum { + CXT_FIXUP_HP_SPECTRE, + CXT_FIXUP_HP_GATE_MIC, + CXT_FIXUP_MUTE_LED_GPIO, ++ CXT_FIXUP_HP_ELITEONE_OUT_DIS, + CXT_FIXUP_HP_ZBOOK_MUTE_LED, + CXT_FIXUP_HEADSET_MIC, + CXT_FIXUP_HP_MIC_NO_PRESENCE, +@@ -324,6 +325,19 @@ static void cxt_fixup_stereo_dmic(struct + spec->gen.inv_dmic_split = 1; + } + ++/* fix widget control pin settings */ ++static void cxt_fixup_update_pinctl(struct hda_codec *codec, ++ const struct hda_fixup *fix, int action) ++{ ++ if (action == HDA_FIXUP_ACT_PROBE) { ++ /* Unset OUT_EN for this Node pin, leaving only HP_EN. ++ * This is the value stored in the codec register after ++ * the correct initialization of the previous windows boot. ++ */ ++ snd_hda_set_pin_ctl(codec, 0x1d, AC_PINCTL_HP_EN); ++ } ++} ++ + static void cxt5066_increase_mic_boost(struct hda_codec *codec, + const struct hda_fixup *fix, int action) + { +@@ -975,6 +989,10 @@ static const struct hda_fixup cxt_fixups + .type = HDA_FIXUP_FUNC, + .v.func = cxt_fixup_mute_led_gpio, + }, ++ [CXT_FIXUP_HP_ELITEONE_OUT_DIS] = { ++ .type = HDA_FIXUP_FUNC, ++ .v.func = cxt_fixup_update_pinctl, ++ }, + [CXT_FIXUP_HP_ZBOOK_MUTE_LED] = { + .type = HDA_FIXUP_FUNC, + .v.func = cxt_fixup_hp_zbook_mute_led, +@@ -1065,6 +1083,7 @@ static const struct snd_pci_quirk cxt506 + SND_PCI_QUIRK(0x103c, 0x83b2, "HP EliteBook 840 G5", CXT_FIXUP_HP_DOCK), + SND_PCI_QUIRK(0x103c, 0x83b3, "HP EliteBook 830 G5", CXT_FIXUP_HP_DOCK), + SND_PCI_QUIRK(0x103c, 0x83d3, "HP ProBook 640 G4", CXT_FIXUP_HP_DOCK), ++ SND_PCI_QUIRK(0x103c, 0x83e5, "HP EliteOne 1000 G2", CXT_FIXUP_HP_ELITEONE_OUT_DIS), + SND_PCI_QUIRK(0x103c, 0x8402, "HP ProBook 645 G4", CXT_FIXUP_MUTE_LED_GPIO), + SND_PCI_QUIRK(0x103c, 0x8427, "HP ZBook Studio G5", CXT_FIXUP_HP_ZBOOK_MUTE_LED), + SND_PCI_QUIRK(0x103c, 0x844f, "HP ZBook Studio G5", CXT_FIXUP_HP_ZBOOK_MUTE_LED), diff --git a/queue-5.15/series b/queue-5.15/series new file mode 100644 index 00000000000..16d8fe2a4b4 --- /dev/null +++ b/queue-5.15/series @@ -0,0 +1 @@ +alsa-hda-conexant-fix-audio-routing-for-hp-eliteone-1000-g2.patch -- 2.47.3