From: Sasha Levin Date: Wed, 4 Jan 2023 13:05:38 +0000 (-0500) Subject: Fixes for 5.10 X-Git-Tag: v6.1.4~64^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8c00bd89b2775f32eb3347ed72b9ecf454667f5d;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 5.10 Signed-off-by: Sasha Levin --- diff --git a/queue-5.10/alsa-hda-realtek-apply-dual-codec-fixup-for-dell-lat.patch b/queue-5.10/alsa-hda-realtek-apply-dual-codec-fixup-for-dell-lat.patch new file mode 100644 index 00000000000..f71f4e751e4 --- /dev/null +++ b/queue-5.10/alsa-hda-realtek-apply-dual-codec-fixup-for-dell-lat.patch @@ -0,0 +1,69 @@ +From a3d4bbb0e11390d5593f8e963ae39640a6daa21f Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 26 Dec 2022 19:43:03 +0800 +Subject: ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops + +From: Chris Chiu + +[ Upstream commit a4517c4f3423c7c448f2c359218f97c1173523a1 ] + +The Dell Latiture 3340/3440/3540 laptops with Realtek ALC3204 have +dual codecs and need the ALC1220_FIXUP_GB_DUAL_CODECS to fix the +conflicts of Master controls. The existing headset mic fixup for +Dell is also required to enable the jack sense and the headset mic. + +Introduce a new fixup to fix the dual codec and headset mic issues +for particular Dell laptops since other old Dell laptops with the +same codec configuration are already well handled by the fixup in +alc269_fallback_pin_fixup_tbl[]. + +Signed-off-by: Chris Chiu +Cc: +Link: https://lore.kernel.org/r/20221226114303.4027500-1-chris.chiu@canonical.com +Signed-off-by: Takashi Iwai +Signed-off-by: Sasha Levin +--- + sound/pci/hda/patch_realtek.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c +index 72d6456bd1eb..99e121f66d21 100644 +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -6913,6 +6913,7 @@ enum { + ALC285_FIXUP_LEGION_Y9000X_AUTOMUTE, + ALC285_FIXUP_HP_SPEAKERS_MICMUTE_LED, + ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS, ++ ALC236_FIXUP_DELL_DUAL_CODECS, + }; + + /* A special fixup for Lenovo C940 and Yoga Duet 7; +@@ -8739,6 +8740,12 @@ static const struct hda_fixup alc269_fixups[] = { + .chained = true, + .chain_id = ALC269_FIXUP_DELL4_MIC_NO_PRESENCE, + }, ++ [ALC236_FIXUP_DELL_DUAL_CODECS] = { ++ .type = HDA_FIXUP_PINS, ++ .v.func = alc1220_fixup_gb_dual_codecs, ++ .chained = true, ++ .chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, ++ }, + }; + + static const struct snd_pci_quirk alc269_fixup_tbl[] = { +@@ -8840,6 +8847,12 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { + SND_PCI_QUIRK(0x1028, 0x0b1a, "Dell Precision 5570", ALC289_FIXUP_DUAL_SPK), + SND_PCI_QUIRK(0x1028, 0x0b37, "Dell Inspiron 16 Plus 7620 2-in-1", ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS), + SND_PCI_QUIRK(0x1028, 0x0b71, "Dell Inspiron 16 Plus 7620", ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS), ++ SND_PCI_QUIRK(0x1028, 0x0c19, "Dell Precision 3340", ALC236_FIXUP_DELL_DUAL_CODECS), ++ SND_PCI_QUIRK(0x1028, 0x0c1a, "Dell Precision 3340", ALC236_FIXUP_DELL_DUAL_CODECS), ++ SND_PCI_QUIRK(0x1028, 0x0c1b, "Dell Precision 3440", ALC236_FIXUP_DELL_DUAL_CODECS), ++ SND_PCI_QUIRK(0x1028, 0x0c1c, "Dell Precision 3540", ALC236_FIXUP_DELL_DUAL_CODECS), ++ SND_PCI_QUIRK(0x1028, 0x0c1d, "Dell Precision 3440", ALC236_FIXUP_DELL_DUAL_CODECS), ++ SND_PCI_QUIRK(0x1028, 0x0c1e, "Dell Precision 3540", ALC236_FIXUP_DELL_DUAL_CODECS), + SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), +-- +2.35.1 + diff --git a/queue-5.10/alsa-patch_realtek-fix-dell-inspiron-plus-16.patch b/queue-5.10/alsa-patch_realtek-fix-dell-inspiron-plus-16.patch new file mode 100644 index 00000000000..1afacc1fb45 --- /dev/null +++ b/queue-5.10/alsa-patch_realtek-fix-dell-inspiron-plus-16.patch @@ -0,0 +1,94 @@ +From 6250ea4d6a4fa3b8762fb1a44d6dd4943d4bbd38 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 5 Dec 2022 17:37:13 +0100 +Subject: ALSA: patch_realtek: Fix Dell Inspiron Plus 16 + +From: Philipp Jungkamp + +[ Upstream commit 2912cdda734d9136615ed05636d9fcbca2a7a3c5 ] + +The Dell Inspiron Plus 16, in both laptop and 2in1 form factor, has top +speakers connected on NID 0x17, which the codec reports as unconnected. +These speakers should be connected to the DAC on NID 0x03. + +Signed-off-by: Philipp Jungkamp +Link: https://lore.kernel.org/r/20221205163713.7476-1-p.jungkamp@gmx.net +Signed-off-by: Takashi Iwai +Stable-dep-of: a4517c4f3423 ("ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops") +Signed-off-by: Sasha Levin +--- + sound/pci/hda/patch_realtek.c | 37 +++++++++++++++++++++++++++++++++++ + 1 file changed, 37 insertions(+) + +diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c +index e0bca0b029ed..72d6456bd1eb 100644 +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -6654,6 +6654,34 @@ static void alc256_fixup_mic_no_presence_and_resume(struct hda_codec *codec, + } + } + ++static void alc295_fixup_dell_inspiron_top_speakers(struct hda_codec *codec, ++ const struct hda_fixup *fix, int action) ++{ ++ static const struct hda_pintbl pincfgs[] = { ++ { 0x14, 0x90170151 }, ++ { 0x17, 0x90170150 }, ++ { } ++ }; ++ static const hda_nid_t conn[] = { 0x02, 0x03 }; ++ static const hda_nid_t preferred_pairs[] = { ++ 0x14, 0x02, ++ 0x17, 0x03, ++ 0x21, 0x02, ++ 0 ++ }; ++ struct alc_spec *spec = codec->spec; ++ ++ alc_fixup_no_shutup(codec, fix, action); ++ ++ switch (action) { ++ case HDA_FIXUP_ACT_PRE_PROBE: ++ snd_hda_apply_pincfgs(codec, pincfgs); ++ snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn); ++ spec->gen.preferred_dacs = preferred_pairs; ++ break; ++ } ++} ++ + enum { + ALC269_FIXUP_GPIO2, + ALC269_FIXUP_SONY_VAIO, +@@ -6884,6 +6912,7 @@ enum { + ALC285_FIXUP_LEGION_Y9000X_SPEAKERS, + ALC285_FIXUP_LEGION_Y9000X_AUTOMUTE, + ALC285_FIXUP_HP_SPEAKERS_MICMUTE_LED, ++ ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS, + }; + + /* A special fixup for Lenovo C940 and Yoga Duet 7; +@@ -8704,6 +8733,12 @@ static const struct hda_fixup alc269_fixups[] = { + .chained = true, + .chain_id = ALC285_FIXUP_HP_MUTE_LED, + }, ++ [ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS] = { ++ .type = HDA_FIXUP_FUNC, ++ .v.func = alc295_fixup_dell_inspiron_top_speakers, ++ .chained = true, ++ .chain_id = ALC269_FIXUP_DELL4_MIC_NO_PRESENCE, ++ }, + }; + + static const struct snd_pci_quirk alc269_fixup_tbl[] = { +@@ -8803,6 +8838,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { + SND_PCI_QUIRK(0x1028, 0x0a9e, "Dell Latitude 5430", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1028, 0x0b19, "Dell XPS 15 9520", ALC289_FIXUP_DUAL_SPK), + SND_PCI_QUIRK(0x1028, 0x0b1a, "Dell Precision 5570", ALC289_FIXUP_DUAL_SPK), ++ SND_PCI_QUIRK(0x1028, 0x0b37, "Dell Inspiron 16 Plus 7620 2-in-1", ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS), ++ SND_PCI_QUIRK(0x1028, 0x0b71, "Dell Inspiron 16 Plus 7620", ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS), + SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), +-- +2.35.1 + diff --git a/queue-5.10/series b/queue-5.10/series index 1c384ee3ee8..e7c31fa4b21 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -607,3 +607,5 @@ torture-exclude-nohz-tick-stop-error-from-fatal-errors.patch rcu-prevent-lockdep-rcu-splats-on-lock-acquisition-release.patch net-af_packet-add-vlan-support-for-af_packet-sock_raw-gso.patch net-af_packet-make-sure-to-pull-mac-header.patch +alsa-patch_realtek-fix-dell-inspiron-plus-16.patch +alsa-hda-realtek-apply-dual-codec-fixup-for-dell-lat.patch