]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ALSA: hda - Disable Headphone Mic boost for ALC662
authorDavid Henningsson <david.henningsson@canonical.com>
Thu, 28 May 2015 07:40:23 +0000 (09:40 +0200)
committerSasha Levin <sasha.levin@oracle.com>
Wed, 10 Jun 2015 17:42:08 +0000 (13:42 -0400)
[ Upstream commit b40eda6408e94ee286cb5720cd3f409f70e01778 ]

When headphone mic boost is above zero, some 10 - 20 second delay
might occur before the headphone mic is operational.
Therefore disable the headphone mic boost control (recording gain is
sufficient even without it).

(Note: this patch is not about the headset mic, it's about the less
common mic-in only mode.)

BugLink: https://bugs.launchpad.net/bugs/1454235
Suggested-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
sound/pci/hda/patch_realtek.c

index fe9c111caf2a2504c585e8a82d72e5727997b544..fca6d06f4bec8e652c853feb7e6fd35605165714 100644 (file)
@@ -4146,6 +4146,11 @@ static void alc_fixup_headset_mode_alc662(struct hda_codec *codec,
        if (action == HDA_FIXUP_ACT_PRE_PROBE) {
                spec->parse_flags |= HDA_PINCFG_HEADSET_MIC;
                spec->gen.hp_mic = 1; /* Mic-in is same pin as headphone */
+
+               /* Disable boost for mic-in permanently. (This code is only called
+                  from quirks that guarantee that the headphone is at NID 0x1b.) */
+               snd_hda_codec_write(codec, 0x1b, 0, AC_VERB_SET_AMP_GAIN_MUTE, 0x7000);
+               snd_hda_override_wcaps(codec, 0x1b, get_wcaps(codec, 0x1b) & ~AC_WCAP_IN_AMP);
        } else
                alc_fixup_headset_mode(codec, fix, action);
 }