1 From: Takashi Iwai <tiwai@suse.de>
2 Subject: ALSA: hda - Disable broken mic auto-muting in Realtek codes
6 The recent addition of automatic mic-muting is broken in some cases.
7 The code assumes that the pin nids <= 0x18, but the digital pins can
9 Also, it assumes the front-mic being the internal mic, but it depends
10 on the hardware implementation actually.
12 Instead of complex case-fixes, better to disable the code as now.
14 Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 sound/pci/hda/patch_realtek.c | 6 ++++++
18 1 file changed, 6 insertions(+)
20 --- a/sound/pci/hda/patch_realtek.c
21 +++ b/sound/pci/hda/patch_realtek.c
22 @@ -829,6 +829,7 @@ static void alc_sku_automute(struct hda_
23 spec->jack_present ? 0 : PIN_OUT);
26 +#if 0 /* it's broken in some acses -- temporarily disabled */
27 static void alc_mic_automute(struct hda_codec *codec)
29 struct alc_spec *spec = codec->spec;
30 @@ -849,6 +850,9 @@ static void alc_mic_automute(struct hda_
31 snd_hda_codec_amp_stereo(codec, 0x0b, HDA_INPUT, capsrc_idx_fmic,
32 HDA_AMP_MUTE, present ? HDA_AMP_MUTE : 0);
35 +#define alc_mic_automute(codec) /* NOP */
36 +#endif /* disabled */
38 /* unsolicited event for HP jack sensing */
39 static void alc_sku_unsol_event(struct hda_codec *codec, unsigned int res)
40 @@ -1060,12 +1064,14 @@ do_sku:
41 AC_VERB_SET_UNSOLICITED_ENABLE,
42 AC_USRSP_EN | ALC880_HP_EVENT);
44 +#if 0 /* it's broken in some acses -- temporarily disabled */
45 if (spec->autocfg.input_pins[AUTO_PIN_MIC] &&
46 spec->autocfg.input_pins[AUTO_PIN_FRONT_MIC])
47 snd_hda_codec_write(codec,
48 spec->autocfg.input_pins[AUTO_PIN_MIC], 0,
49 AC_VERB_SET_UNSOLICITED_ENABLE,
50 AC_USRSP_EN | ALC880_MIC_EVENT);
51 +#endif /* disabled */
53 spec->unsol_event = alc_sku_unsol_event;