ALSA: hda - Fix headphone pin config for ASUS G751
authorTakashi Iwai <tiwai@suse.de>
Tue, 9 Oct 2018 12:20:17 +0000 (14:20 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Nov 2018 19:14:46 +0000 (11:14 -0800)
commit 5b7c5e1f4c36b99d0f694f38b9ad910f520cb7ef upstream.

BIOS on ASUS G751 doesn't seem to map the headphone pin (NID 0x16)
correctly.  Add a quirk to address it, as well as chaining to the
previous fix for the microphone.

Reported-by: HÃ¥vard <hovardslill@gmail.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

index 201d4f5..e625eee 100644 (file)
@@ -7515,6 +7515,7 @@ enum {
        ALC662_FIXUP_ASUS_Nx50,
        ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE,
        ALC668_FIXUP_ASUS_Nx51,
+       ALC668_FIXUP_MIC_COEF,
        ALC668_FIXUP_ASUS_G751,
        ALC891_FIXUP_HEADSET_MODE,
        ALC891_FIXUP_DELL_MIC_NO_PRESENCE,
@@ -7785,7 +7786,7 @@ static const struct hda_fixup alc662_fixups[] = {
                .chained = true,
                .chain_id = ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE,
        },
-       [ALC668_FIXUP_ASUS_G751] = {
+       [ALC668_FIXUP_MIC_COEF] = {
                .type = HDA_FIXUP_VERBS,
                .v.verbs = (const struct hda_verb[]) {
                        { 0x20, AC_VERB_SET_COEF_INDEX, 0xc3 },
@@ -7793,6 +7794,15 @@ static const struct hda_fixup alc662_fixups[] = {
                        {}
                },
        },
+       [ALC668_FIXUP_ASUS_G751] = {
+               .type = HDA_FIXUP_PINS,
+               .v.pins = (const struct hda_pintbl[]) {
+                       { 0x16, 0x0421101f }, /* HP */
+                       {}
+               },
+               .chained = true,
+               .chain_id = ALC668_FIXUP_MIC_COEF
+       },
        [ALC891_FIXUP_HEADSET_MODE] = {
                .type = HDA_FIXUP_FUNC,
                .v.func = alc_fixup_headset_mode,