]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 5.10
authorSasha Levin <sashal@kernel.org>
Wed, 4 Jan 2023 13:05:38 +0000 (08:05 -0500)
committerSasha Levin <sashal@kernel.org>
Wed, 4 Jan 2023 13:05:38 +0000 (08:05 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.10/alsa-hda-realtek-apply-dual-codec-fixup-for-dell-lat.patch [new file with mode: 0644]
queue-5.10/alsa-patch_realtek-fix-dell-inspiron-plus-16.patch [new file with mode: 0644]
queue-5.10/series

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 (file)
index 0000000..f71f4e7
--- /dev/null
@@ -0,0 +1,69 @@
+From a3d4bbb0e11390d5593f8e963ae39640a6daa21f Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 26 Dec 2022 19:43:03 +0800
+Subject: ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops
+
+From: Chris Chiu <chris.chiu@canonical.com>
+
+[ 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 <chris.chiu@canonical.com>
+Cc: <stable@vger.kernel.org>
+Link: https://lore.kernel.org/r/20221226114303.4027500-1-chris.chiu@canonical.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ 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 (file)
index 0000000..1afacc1
--- /dev/null
@@ -0,0 +1,94 @@
+From 6250ea4d6a4fa3b8762fb1a44d6dd4943d4bbd38 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 5 Dec 2022 17:37:13 +0100
+Subject: ALSA: patch_realtek: Fix Dell Inspiron Plus 16
+
+From: Philipp Jungkamp <p.jungkamp@gmx.net>
+
+[ 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 <p.jungkamp@gmx.net>
+Link: https://lore.kernel.org/r/20221205163713.7476-1-p.jungkamp@gmx.net
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Stable-dep-of: a4517c4f3423 ("ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ 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
+
index 1c384ee3ee877e22965d55aae2d909b9f93e7efe..e7c31fa4b21e420da86df6f844984ce31c6cc1f7 100644 (file)
@@ -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