[ALSA] hda-codec - Fix ALC268 capture source
authorTakashi Iwai <tiwai@suse.de>
Tue, 19 Feb 2008 14:00:15 +0000 (15:00 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 24 Apr 2008 10:00:13 +0000 (12:00 +0200)
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>
sound/pci/hda/patch_realtek.c

index 6c8423d..630c7b2 100644 (file)
@@ -10272,6 +10272,7 @@ static int patch_alc268(struct hda_codec *codec)
        if (!spec->adc_nids && spec->input_mux) {
                /* check whether NID 0x07 is valid */
                unsigned int wcap = get_wcaps(codec, 0x07);
+               int i;
 
                /* get type */
                wcap = (wcap & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT;
@@ -10289,6 +10290,11 @@ static int patch_alc268(struct hda_codec *codec)
                        spec->num_mixers++;
                }
                spec->capsrc_nids = alc268_capsrc_nids;
+               /* set default input source */
+               for (i = 0; i < spec->num_adc_nids; i++)
+                       snd_hda_codec_write_cache(codec, alc268_capsrc_nids[i],
+                               0, AC_VERB_SET_CONNECT_SEL,
+                               spec->input_mux->items[0].index);
        }
 
        spec->vmaster_nid = 0x02;