[alsa-devel] [PATCH] ALSA: hda - Disable Headphone Mic boost for ALC662
David Henningsson
david.henningsson at canonical.com
Thu May 28 09:25:41 CEST 2015
On 2015-05-28 09:18, Takashi Iwai wrote:
> At Thu, 28 May 2015 09:15:46 +0200,
> David Henningsson wrote:
>>
>> 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 at realtek.com>
>> Signed-off-by: David Henningsson <david.henningsson at canonical.com>
>> ---
>> sound/pci/hda/patch_realtek.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
>> index d0fa455..87605fc 100644
>> --- a/sound/pci/hda/patch_realtek.c
>> +++ b/sound/pci/hda/patch_realtek.c
>> @@ -4240,6 +4240,10 @@ 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 */
>> + 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);
>
> Can we really hard-code NID 0x1b here...?
alc_fixup_headset_mode_alc662 is currently only called from a pin fixup
quirk (via ALC662_FIXUP_DELL_MIC_NO_PRESENCE), and that pin quirk has
headphone at 0x1b, so yes.
It would we better if we could make it more generic, but I think doing
this at HDA_FIXUP_PROBE instead would be too late (the boost control,
paths, etc, would already be created)...?
Do you have a better suggestion?
--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
More information about the Alsa-devel
mailing list