diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-03-06 10:58:17 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-04-24 06:00:22 -0400 |
commit | 7194cae62e92c5db8b87df1120fbf24f83f488f8 (patch) | |
tree | 3cf33a5856d8ef43a1df23f343a8faa661857c32 /sound/pci | |
parent | 487145a1984b78e9b194aa44f8079cc019779a58 (diff) |
[ALSA] hda-codec - Fix dmics on ALC268 in auto configuration
Fixed the handling of dmics on ALC268 in the auto-configuration mode.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 41bcbfd10598..c67c32faa903 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -6258,16 +6258,21 @@ static void alc882_auto_init_analog_input(struct hda_codec *codec) | |||
6258 | 6258 | ||
6259 | for (i = 0; i < AUTO_PIN_LAST; i++) { | 6259 | for (i = 0; i < AUTO_PIN_LAST; i++) { |
6260 | hda_nid_t nid = spec->autocfg.input_pins[i]; | 6260 | hda_nid_t nid = spec->autocfg.input_pins[i]; |
6261 | if (alc882_is_input_pin(nid)) { | 6261 | unsigned int vref; |
6262 | snd_hda_codec_write(codec, nid, 0, | 6262 | if (!nid) |
6263 | AC_VERB_SET_PIN_WIDGET_CONTROL, | 6263 | continue; |
6264 | i <= AUTO_PIN_FRONT_MIC ? | 6264 | vref = PIN_IN; |
6265 | PIN_VREF80 : PIN_IN); | 6265 | if (1 /*i <= AUTO_PIN_FRONT_MIC*/) { |
6266 | if (nid != ALC882_PIN_CD_NID) | 6266 | if (snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP) & |
6267 | snd_hda_codec_write(codec, nid, 0, | 6267 | AC_PINCAP_VREF_80) |
6268 | AC_VERB_SET_AMP_GAIN_MUTE, | 6268 | vref = PIN_VREF80; |
6269 | AMP_OUT_MUTE); | ||
6270 | } | 6269 | } |
6270 | snd_hda_codec_write(codec, nid, 0, | ||
6271 | AC_VERB_SET_PIN_WIDGET_CONTROL, vref); | ||
6272 | if (get_wcaps(codec, nid) & AC_WCAP_OUT_AMP) | ||
6273 | snd_hda_codec_write(codec, nid, 0, | ||
6274 | AC_VERB_SET_AMP_GAIN_MUTE, | ||
6275 | AMP_OUT_MUTE); | ||
6271 | } | 6276 | } |
6272 | } | 6277 | } |
6273 | 6278 | ||
@@ -10125,6 +10130,10 @@ static int alc268_auto_create_analog_input_ctls(struct alc_spec *spec, | |||
10125 | case 0x1c: | 10130 | case 0x1c: |
10126 | idx1 = 3; /* CD */ | 10131 | idx1 = 3; /* CD */ |
10127 | break; | 10132 | break; |
10133 | case 0x12: | ||
10134 | case 0x13: | ||
10135 | idx1 = 6; /* digital mics */ | ||
10136 | break; | ||
10128 | default: | 10137 | default: |
10129 | continue; | 10138 | continue; |
10130 | } | 10139 | } |