| From 732577e7675f5b0f43ecd999343156742ee75436 Mon Sep 17 00:00:00 2001 |
| From: Hui Wang <hui.wang@canonical.com> |
| Date: Fri, 31 Mar 2017 10:31:40 +0800 |
| Subject: [PATCH] ALSA: hda - fix a problem for lineout on a Dell AIO machine |
| |
| commit 2f726aec19a9d2c63bec9a8a53a3910ffdcd09f8 upstream. |
| |
| On this Dell AIO machine, the lineout jack does not work. |
| |
| We found the pin 0x1a is assigned to lineout on this machine, and in |
| the past, we applied ALC298_FIXUP_DELL1_MIC_NO_PRESENCE to fix the |
| heaset-set mic problem for this machine, this fixup will redefine |
| the pin 0x1a to headphone-mic, as a result the lineout doesn't |
| work anymore. |
| |
| After consulting with Dell, they told us this machine doesn't support |
| microphone via headset jack, so we add a new fixup which only defines |
| the pin 0x18 as the headset-mic. |
| |
| [rearranged the fixup insertion position by tiwai in order to make the |
| merge with other branches easier -- tiwai] |
| |
| Fixes: 59ec4b57bcae ("ALSA: hda - Fix headset mic detection problem for two dell machines") |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Hui Wang <hui.wang@canonical.com> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c |
| index e05b4cc64d4d..ca62750f6db5 100644 |
| --- a/sound/pci/hda/patch_realtek.c |
| +++ b/sound/pci/hda/patch_realtek.c |
| @@ -4846,6 +4846,7 @@ enum { |
| ALC292_FIXUP_DISABLE_AAMIX, |
| ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK, |
| ALC298_FIXUP_DELL1_MIC_NO_PRESENCE, |
| + ALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE, |
| ALC275_FIXUP_DELL_XPS, |
| ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE, |
| ALC293_FIXUP_LENOVO_SPK_NOISE, |
| @@ -5444,6 +5445,15 @@ static const struct hda_fixup alc269_fixups[] = { |
| .chained = true, |
| .chain_id = ALC269_FIXUP_HEADSET_MODE |
| }, |
| + [ALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE] = { |
| + .type = HDA_FIXUP_PINS, |
| + .v.pins = (const struct hda_pintbl[]) { |
| + { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */ |
| + { } |
| + }, |
| + .chained = true, |
| + .chain_id = ALC269_FIXUP_HEADSET_MODE |
| + }, |
| [ALC275_FIXUP_DELL_XPS] = { |
| .type = HDA_FIXUP_VERBS, |
| .v.verbs = (const struct hda_verb[]) { |
| @@ -5516,7 +5526,7 @@ static const struct hda_fixup alc269_fixups[] = { |
| .type = HDA_FIXUP_FUNC, |
| .v.func = alc298_fixup_speaker_volume, |
| .chained = true, |
| - .chain_id = ALC298_FIXUP_DELL1_MIC_NO_PRESENCE, |
| + .chain_id = ALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE, |
| }, |
| [ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER] = { |
| .type = HDA_FIXUP_PINS, |
| -- |
| 2.12.0 |
| |