| From ae104a21e52b1f9aab342cf6924405177b720069 Mon Sep 17 00:00:00 2001 |
| From: Kailang Yang <kailang@realtek.com> |
| Date: Mon, 5 Feb 2018 16:07:20 +0800 |
| Subject: ALSA: hda/realtek - Add headset mode support for Dell laptop |
| |
| From: Kailang Yang <kailang@realtek.com> |
| |
| commit ae104a21e52b1f9aab342cf6924405177b720069 upstream. |
| |
| This platform was only one phone Jack. |
| Add dummy lineout verb to fix automute mode disable. |
| This just the workaround. |
| |
| [ More background information: |
| since the platform has only a headphone jack without speaker, the |
| driver doesn't create the auto-mute control. Meanwhile we do update |
| the headset mode via the automute hook in the driver, thus with this |
| setup, the headset won't be updated any longer. |
| |
| By adding a dummy line-out pin here, the auto-mute is added by the |
| driver, and the headset update is triggered properly. |
| |
| Note that this is different from the other |
| ALC274_FIXUP_DELL_AIO_LINEOUT_VERB, which has the real line-out pin, |
| while this quirk adds a dummy line-out pin. -- tiwai ] |
| |
| Signed-off-by: Kailang Yang <kailang@realtek.com> |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/pci/hda/patch_realtek.c | 11 +++++++++++ |
| 1 file changed, 11 insertions(+) |
| |
| --- a/sound/pci/hda/patch_realtek.c |
| +++ b/sound/pci/hda/patch_realtek.c |
| @@ -5340,6 +5340,7 @@ enum { |
| ALC274_FIXUP_DELL_BIND_DACS, |
| ALC274_FIXUP_DELL_AIO_LINEOUT_VERB, |
| ALC298_FIXUP_TPT470_DOCK, |
| + ALC255_FIXUP_DUMMY_LINEOUT_VERB, |
| }; |
| |
| static const struct hda_fixup alc269_fixups[] = { |
| @@ -6187,6 +6188,15 @@ static const struct hda_fixup alc269_fix |
| .chained = true, |
| .chain_id = ALC293_FIXUP_LENOVO_SPK_NOISE |
| }, |
| + [ALC255_FIXUP_DUMMY_LINEOUT_VERB] = { |
| + .type = HDA_FIXUP_PINS, |
| + .v.pins = (const struct hda_pintbl[]) { |
| + { 0x14, 0x0201101f }, |
| + { } |
| + }, |
| + .chained = true, |
| + .chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE |
| + }, |
| }; |
| |
| static const struct snd_pci_quirk alc269_fixup_tbl[] = { |
| @@ -6240,6 +6250,7 @@ static const struct snd_pci_quirk alc269 |
| SND_PCI_QUIRK(0x1028, 0x082a, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE), |
| SND_PCI_QUIRK(0x1028, 0x084b, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB), |
| SND_PCI_QUIRK(0x1028, 0x084e, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB), |
| + SND_PCI_QUIRK(0x1028, 0x0873, "Dell Precision 3930", ALC255_FIXUP_DUMMY_LINEOUT_VERB), |
| 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), |