]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ALSA: hda - Fix ALC269 capture source
authorTakashi Iwai <tiwai@suse.de>
Thu, 21 Aug 2008 14:25:07 +0000 (16:25 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 13 Dec 2008 23:29:24 +0000 (15:29 -0800)
commit e01bf5091f044011823aefa1882eb3fba0434918 upstream

ALC269 capture source wasn't properly set up.
It's an independent MUX (0x23), not a source of ADC.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sound/pci/hda/patch_realtek.c

index d6dd4f971989f5e33bbdef7ce0ab1c69aa7dfb35..1a445e6285cdb57340475410a0f57b5dc2ff8823 100644 (file)
@@ -11038,6 +11038,14 @@ static hda_nid_t alc269_adc_nids[1] = {
        0x08,
 };
 
+static hda_nid_t alc269_capsrc_nids[1] = {
+       0x23,
+};
+
+/* NOTE: ADC2 (0x07) is connected from a recording *MIXER* (0x24),
+ *       not a mux!
+ */
+
 static struct hda_input_mux alc269_eeepc_dmic_capture_source = {
        .num_items = 2,
        .items = {
@@ -11404,6 +11412,10 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
        spec->init_verbs[spec->num_init_verbs++] = alc269_init_verbs;
        spec->num_mux_defs = 1;
        spec->input_mux = &spec->private_imux;
+       /* set default input source */
+       snd_hda_codec_write_cache(codec, alc269_capsrc_nids[0],
+                                 0, AC_VERB_SET_CONNECT_SEL,
+                                 spec->input_mux->items[0].index);
 
        err = alc_auto_add_mic_boost(codec);
        if (err < 0)
@@ -11536,6 +11548,7 @@ static int patch_alc269(struct hda_codec *codec)
 
        spec->adc_nids = alc269_adc_nids;
        spec->num_adc_nids = ARRAY_SIZE(alc269_adc_nids);
+       spec->capsrc_nids = alc269_capsrc_nids;
 
        codec->patch_ops = alc_patch_ops;
        if (board_config == ALC269_AUTO)