diff options
author | David Henningsson <david.henningsson@canonical.com> | 2013-10-11 04:18:45 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-10-18 10:45:44 -0400 |
commit | 09c517435dd6f29c29822b627f653259e97e7294 (patch) | |
tree | dd7a5ccb016c980d2454a9903f2eccb247b8827c /sound/pci | |
parent | 74a8f08dfff48215dabccf8148b7505e00d39c37 (diff) |
ALSA: hda - Fix microphone for Sony VAIO Pro 13 (Haswell model)
commit 88cfcf86aa3ada84d97195bcad74f4dadb4ae23b upstream.
The external mic showed up with a precense detect of "always present",
essentially disabling the internal mic. Therefore turn off presence
detection for this pin.
Note: The external mic seems not yet working, but an internal mic is
certainly better than no mic at all.
BugLink: https://bugs.launchpad.net/bugs/1227093
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index e5bb489a1b79..d7f9bb96d8bc 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -3223,6 +3223,7 @@ enum { | |||
3223 | ALC269_FIXUP_HP_GPIO_LED, | 3223 | ALC269_FIXUP_HP_GPIO_LED, |
3224 | ALC269_FIXUP_INV_DMIC, | 3224 | ALC269_FIXUP_INV_DMIC, |
3225 | ALC269_FIXUP_LENOVO_DOCK, | 3225 | ALC269_FIXUP_LENOVO_DOCK, |
3226 | ALC286_FIXUP_SONY_MIC_NO_PRESENCE, | ||
3226 | ALC269_FIXUP_PINCFG_NO_HP_TO_LINEOUT, | 3227 | ALC269_FIXUP_PINCFG_NO_HP_TO_LINEOUT, |
3227 | ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, | 3228 | ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, |
3228 | ALC269_FIXUP_DELL2_MIC_NO_PRESENCE, | 3229 | ALC269_FIXUP_DELL2_MIC_NO_PRESENCE, |
@@ -3420,6 +3421,13 @@ static const struct hda_fixup alc269_fixups[] = { | |||
3420 | .type = HDA_FIXUP_FUNC, | 3421 | .type = HDA_FIXUP_FUNC, |
3421 | .v.func = alc_fixup_headset_mode_no_hp_mic, | 3422 | .v.func = alc_fixup_headset_mode_no_hp_mic, |
3422 | }, | 3423 | }, |
3424 | [ALC286_FIXUP_SONY_MIC_NO_PRESENCE] = { | ||
3425 | .type = HDA_FIXUP_PINS, | ||
3426 | .v.pins = (const struct hda_pintbl[]) { | ||
3427 | { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */ | ||
3428 | { } | ||
3429 | }, | ||
3430 | }, | ||
3423 | [ALC269_FIXUP_ASUS_X101_FUNC] = { | 3431 | [ALC269_FIXUP_ASUS_X101_FUNC] = { |
3424 | .type = HDA_FIXUP_FUNC, | 3432 | .type = HDA_FIXUP_FUNC, |
3425 | .v.func = alc269_fixup_x101_headset_mic, | 3433 | .v.func = alc269_fixup_x101_headset_mic, |
@@ -3529,6 +3537,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { | |||
3529 | SND_PCI_QUIRK(0x1043, 0x8398, "ASUS P1005", ALC269_FIXUP_STEREO_DMIC), | 3537 | SND_PCI_QUIRK(0x1043, 0x8398, "ASUS P1005", ALC269_FIXUP_STEREO_DMIC), |
3530 | SND_PCI_QUIRK(0x1043, 0x83ce, "ASUS P1005", ALC269_FIXUP_STEREO_DMIC), | 3538 | SND_PCI_QUIRK(0x1043, 0x83ce, "ASUS P1005", ALC269_FIXUP_STEREO_DMIC), |
3531 | SND_PCI_QUIRK(0x1043, 0x8516, "ASUS X101CH", ALC269_FIXUP_ASUS_X101), | 3539 | SND_PCI_QUIRK(0x1043, 0x8516, "ASUS X101CH", ALC269_FIXUP_ASUS_X101), |
3540 | SND_PCI_QUIRK(0x104d, 0x90b6, "Sony VAIO Pro 13", ALC286_FIXUP_SONY_MIC_NO_PRESENCE), | ||
3532 | SND_PCI_QUIRK(0x104d, 0x9073, "Sony VAIO", ALC275_FIXUP_SONY_VAIO_GPIO2), | 3541 | SND_PCI_QUIRK(0x104d, 0x9073, "Sony VAIO", ALC275_FIXUP_SONY_VAIO_GPIO2), |
3533 | SND_PCI_QUIRK(0x104d, 0x907b, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), | 3542 | SND_PCI_QUIRK(0x104d, 0x907b, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), |
3534 | SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), | 3543 | SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), |