diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-08-21 10:25:07 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-08-25 03:57:44 -0400 |
commit | e01bf5091f044011823aefa1882eb3fba0434918 (patch) | |
tree | 7eabae2eefbc31c15a71b5a6aad43852e5d6bcd9 /sound/pci/hda/patch_realtek.c | |
parent | 5503600a1c5c2c11e14ff428b5d07a1018927bd6 (diff) |
ALSA: hda - Fix ALC269 capture source
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>
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 9cb6b73ef95a..f2049365e23c 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -11042,6 +11042,14 @@ static hda_nid_t alc269_adc_nids[1] = { | |||
11042 | 0x08, | 11042 | 0x08, |
11043 | }; | 11043 | }; |
11044 | 11044 | ||
11045 | static hda_nid_t alc269_capsrc_nids[1] = { | ||
11046 | 0x23, | ||
11047 | }; | ||
11048 | |||
11049 | /* NOTE: ADC2 (0x07) is connected from a recording *MIXER* (0x24), | ||
11050 | * not a mux! | ||
11051 | */ | ||
11052 | |||
11045 | static struct hda_input_mux alc269_eeepc_dmic_capture_source = { | 11053 | static struct hda_input_mux alc269_eeepc_dmic_capture_source = { |
11046 | .num_items = 2, | 11054 | .num_items = 2, |
11047 | .items = { | 11055 | .items = { |
@@ -11424,6 +11432,10 @@ static int alc269_parse_auto_config(struct hda_codec *codec) | |||
11424 | spec->init_verbs[spec->num_init_verbs++] = alc269_init_verbs; | 11432 | spec->init_verbs[spec->num_init_verbs++] = alc269_init_verbs; |
11425 | spec->num_mux_defs = 1; | 11433 | spec->num_mux_defs = 1; |
11426 | spec->input_mux = &spec->private_imux; | 11434 | spec->input_mux = &spec->private_imux; |
11435 | /* set default input source */ | ||
11436 | snd_hda_codec_write_cache(codec, alc269_capsrc_nids[0], | ||
11437 | 0, AC_VERB_SET_CONNECT_SEL, | ||
11438 | spec->input_mux->items[0].index); | ||
11427 | 11439 | ||
11428 | err = alc_auto_add_mic_boost(codec); | 11440 | err = alc_auto_add_mic_boost(codec); |
11429 | if (err < 0) | 11441 | if (err < 0) |
@@ -11556,6 +11568,7 @@ static int patch_alc269(struct hda_codec *codec) | |||
11556 | 11568 | ||
11557 | spec->adc_nids = alc269_adc_nids; | 11569 | spec->adc_nids = alc269_adc_nids; |
11558 | spec->num_adc_nids = ARRAY_SIZE(alc269_adc_nids); | 11570 | spec->num_adc_nids = ARRAY_SIZE(alc269_adc_nids); |
11571 | spec->capsrc_nids = alc269_capsrc_nids; | ||
11559 | 11572 | ||
11560 | codec->patch_ops = alc_patch_ops; | 11573 | codec->patch_ops = alc_patch_ops; |
11561 | if (board_config == ALC269_AUTO) | 11574 | if (board_config == ALC269_AUTO) |