ALSA: hda - Fix headset microphone detection for ASUS N551 and N751

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>
This commit is contained in:
Mikhail Paulyshka 2017-04-21 08:52:42 +02:00 committed by Takashi Iwai
parent e3a973c69b
commit fc7438b1eb
1 changed files with 10 additions and 2 deletions

View File

@ -6815,6 +6815,7 @@ enum {
ALC668_FIXUP_DELL_DISABLE_AAMIX, ALC668_FIXUP_DELL_DISABLE_AAMIX,
ALC668_FIXUP_DELL_XPS13, ALC668_FIXUP_DELL_XPS13,
ALC662_FIXUP_ASUS_Nx50, ALC662_FIXUP_ASUS_Nx50,
ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE,
ALC668_FIXUP_ASUS_Nx51, ALC668_FIXUP_ASUS_Nx51,
ALC891_FIXUP_HEADSET_MODE, ALC891_FIXUP_HEADSET_MODE,
ALC891_FIXUP_DELL_MIC_NO_PRESENCE, ALC891_FIXUP_DELL_MIC_NO_PRESENCE,
@ -7068,14 +7069,21 @@ static const struct hda_fixup alc662_fixups[] = {
.chained = true, .chained = true,
.chain_id = ALC662_FIXUP_BASS_1A .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] = { [ALC668_FIXUP_ASUS_Nx51] = {
.type = HDA_FIXUP_PINS, .type = HDA_FIXUP_PINS,
.v.pins = (const struct hda_pintbl[]) { .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, .chained = true,
.chain_id = ALC662_FIXUP_BASS_CHMAP, .chain_id = ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE,
}, },
[ALC891_FIXUP_HEADSET_MODE] = { [ALC891_FIXUP_HEADSET_MODE] = {
.type = HDA_FIXUP_FUNC, .type = HDA_FIXUP_FUNC,