aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-02-19 09:00:15 -0500
committerTakashi Iwai <tiwai@suse.de>2008-04-24 06:00:13 -0400
commit85860c06aba5e145805ad840553a2388e60a7e23 (patch)
treebaa33d4e255a1f2198af884824858325546c3963 /sound/pci/hda
parentaef9d318b1d741d80486ff7ea3507a8321dedf6b (diff)
[ALSA] hda-codec - Fix ALC268 capture source
Initialize the capture source properly for auto model. It's especially important for cases that only mic is detected. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/patch_realtek.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 6c8423dbace1..630c7b22542a 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -10272,6 +10272,7 @@ static int patch_alc268(struct hda_codec *codec)
10272 if (!spec->adc_nids && spec->input_mux) { 10272 if (!spec->adc_nids && spec->input_mux) {
10273 /* check whether NID 0x07 is valid */ 10273 /* check whether NID 0x07 is valid */
10274 unsigned int wcap = get_wcaps(codec, 0x07); 10274 unsigned int wcap = get_wcaps(codec, 0x07);
10275 int i;
10275 10276
10276 /* get type */ 10277 /* get type */
10277 wcap = (wcap & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT; 10278 wcap = (wcap & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT;
@@ -10289,6 +10290,11 @@ static int patch_alc268(struct hda_codec *codec)
10289 spec->num_mixers++; 10290 spec->num_mixers++;
10290 } 10291 }
10291 spec->capsrc_nids = alc268_capsrc_nids; 10292 spec->capsrc_nids = alc268_capsrc_nids;
10293 /* set default input source */
10294 for (i = 0; i < spec->num_adc_nids; i++)
10295 snd_hda_codec_write_cache(codec, alc268_capsrc_nids[i],
10296 0, AC_VERB_SET_CONNECT_SEL,
10297 spec->input_mux->items[0].index);
10292 } 10298 }
10293 10299
10294 spec->vmaster_nid = 0x02; 10300 spec->vmaster_nid = 0x02;