| From foo@baz Thu Mar 22 14:57:32 CET 2018 |
| From: Mikhail Paulyshka <me@mixaill.tk> |
| Date: Fri, 21 Apr 2017 08:52:42 +0200 |
| Subject: ALSA: hda - Fix headset microphone detection for ASUS N551 and N751 |
| |
| From: Mikhail Paulyshka <me@mixaill.tk> |
| |
| |
| [ 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 | 12 ++++++++++-- |
| 1 file changed, 10 insertions(+), 2 deletions(-) |
| |
| --- a/sound/pci/hda/patch_realtek.c |
| +++ b/sound/pci/hda/patch_realtek.c |
| @@ -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_fix |
| .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, |
| }, |
| }; |
| |