]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ALSA: hda - Fix headset microphone detection for ASUS N551 and N751
authorMikhail Paulyshka <me@mixaill.tk>
Fri, 21 Apr 2017 06:52:42 +0000 (08:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 24 Mar 2018 09:58:42 +0000 (10:58 +0100)
[ Upstream commit fc7438b1eb12b6c93d7b7a62423779eb5dfc673c ]

Headset microphone does not work out of the box on ASUS Nx51
laptops. This patch fixes it.

Patch tested on Asus N551 laptop. Asus N751 part is not tested, but
according to [1] this laptop uses the same audiosystem.

1. https://bugzilla.kernel.org/show_bug.cgi?id=117781

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=195437
Signed-off-by: Mikhail Paulyshka <me@mixaill.tk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/patch_realtek.c

index 11305a4baf7b1f6111c74384d70bf2b0b70137b9..8e33360ae2e5da284711c4b767dbb98e340793aa 100644 (file)
@@ -6717,6 +6717,7 @@ enum {
        ALC668_FIXUP_DELL_DISABLE_AAMIX,
        ALC668_FIXUP_DELL_XPS13,
        ALC662_FIXUP_ASUS_Nx50,
+       ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE,
        ALC668_FIXUP_ASUS_Nx51,
 };
 
@@ -6964,14 +6965,21 @@ static const struct hda_fixup alc662_fixups[] = {
                .chained = true,
                .chain_id = ALC662_FIXUP_BASS_1A
        },
+       [ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE] = {
+               .type = HDA_FIXUP_FUNC,
+               .v.func = alc_fixup_headset_mode_alc668,
+               .chain_id = ALC662_FIXUP_BASS_CHMAP
+       },
        [ALC668_FIXUP_ASUS_Nx51] = {
                .type = HDA_FIXUP_PINS,
                .v.pins = (const struct hda_pintbl[]) {
-                       {0x1a, 0x90170151}, /* bass speaker */
+                       { 0x19, 0x03a1913d }, /* use as headphone mic, without its own jack detect */
+                       { 0x1a, 0x90170151 }, /* bass speaker */
+                       { 0x1b, 0x03a1113c }, /* use as headset mic, without its own jack detect */
                        {}
                },
                .chained = true,
-               .chain_id = ALC662_FIXUP_BASS_CHMAP,
+               .chain_id = ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE,
        },
 };