]>
Commit | Line | Data |
---|---|---|
2cb7cef9 BS |
1 | From: Takashi Iwai <tiwai@suse.de> |
2 | Subject: ALSA: hda - Disable broken mic auto-muting in Realtek codes | |
3 | Patch-mainline: | |
4 | References: bnc#440626 | |
5 | ||
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 | |
8 | be less than 0x18. | |
9 | Also, it assumes the front-mic being the internal mic, but it depends | |
10 | on the hardware implementation actually. | |
11 | ||
12 | Instead of complex case-fixes, better to disable the code as now. | |
13 | ||
14 | Signed-off-by: Takashi Iwai <tiwai@suse.de> | |
15 | ||
16 | --- | |
17 | sound/pci/hda/patch_realtek.c | 6 ++++++ | |
18 | 1 file changed, 6 insertions(+) | |
19 | ||
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); | |
24 | } | |
25 | ||
26 | +#if 0 /* it's broken in some acses -- temporarily disabled */ | |
27 | static void alc_mic_automute(struct hda_codec *codec) | |
28 | { | |
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); | |
33 | } | |
34 | +#else | |
35 | +#define alc_mic_automute(codec) /* NOP */ | |
36 | +#endif /* disabled */ | |
37 | ||
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); | |
43 | ||
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 */ | |
52 | ||
53 | spec->unsol_event = alc_sku_unsol_event; | |
54 | } |