aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-03-10 08:11:59 -0500
committerTakashi Iwai <tiwai@suse.de>2011-03-14 10:02:37 -0400
commitae0ebbf70afe2889b39f575e800e7292abd259d6 (patch)
treeaffa08926e527ed05729f31b87ea7b30551a6fbd
parent584c0c4c359bdac37d94157f8d7fc513d26c8328 (diff)
ALSA: hda - Move default input-src selection to init part
Move the default input-src selection code for alc268/269 to the init part instead of the parser. The input-src selection might be overwritten by init verbs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_realtek.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index dcc455f098a9..11a1380b8821 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -13758,6 +13758,7 @@ static int alc268_parse_auto_config(struct hda_codec *codec)
13758} 13758}
13759 13759
13760#define alc268_auto_init_analog_input alc882_auto_init_analog_input 13760#define alc268_auto_init_analog_input alc882_auto_init_analog_input
13761#define alc268_auto_init_input_src alc882_auto_init_input_src
13761 13762
13762/* init callback for auto-configuration model -- overriding the default init */ 13763/* init callback for auto-configuration model -- overriding the default init */
13763static void alc268_auto_init(struct hda_codec *codec) 13764static void alc268_auto_init(struct hda_codec *codec)
@@ -13767,6 +13768,7 @@ static void alc268_auto_init(struct hda_codec *codec)
13767 alc268_auto_init_hp_out(codec); 13768 alc268_auto_init_hp_out(codec);
13768 alc268_auto_init_mono_speaker_out(codec); 13769 alc268_auto_init_mono_speaker_out(codec);
13769 alc268_auto_init_analog_input(codec); 13770 alc268_auto_init_analog_input(codec);
13771 alc268_auto_init_input_src(codec);
13770 alc_auto_init_digital(codec); 13772 alc_auto_init_digital(codec);
13771 if (spec->unsol_event) 13773 if (spec->unsol_event)
13772 alc_inithook(codec); 13774 alc_inithook(codec);
@@ -14074,13 +14076,6 @@ static int patch_alc268(struct hda_codec *codec)
14074 spec->num_adc_nids = ARRAY_SIZE(alc268_adc_nids); 14076 spec->num_adc_nids = ARRAY_SIZE(alc268_adc_nids);
14075 add_mixer(spec, alc268_capture_mixer); 14077 add_mixer(spec, alc268_capture_mixer);
14076 } 14078 }
14077 /* set default input source */
14078 for (i = 0; i < spec->num_adc_nids; i++)
14079 snd_hda_codec_write_cache(codec, alc268_capsrc_nids[i],
14080 0, AC_VERB_SET_CONNECT_SEL,
14081 i < spec->num_mux_defs ?
14082 spec->input_mux[i].items[0].index :
14083 spec->input_mux->items[0].index);
14084 } 14079 }
14085 14080
14086 spec->vmaster_nid = 0x02; 14081 spec->vmaster_nid = 0x02;
@@ -14769,11 +14764,6 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
14769 fillup_priv_adc_nids(codec, alc269_adc_candidates, 14764 fillup_priv_adc_nids(codec, alc269_adc_candidates,
14770 sizeof(alc269_adc_candidates)); 14765 sizeof(alc269_adc_candidates));
14771 14766
14772 /* set default input source */
14773 if (!spec->dual_adc_switch)
14774 select_or_unmute_capsrc(codec, spec->capsrc_nids[0],
14775 spec->input_mux->items[0].index);
14776
14777 err = alc_auto_add_mic_boost(codec); 14767 err = alc_auto_add_mic_boost(codec);
14778 if (err < 0) 14768 if (err < 0)
14779 return err; 14769 return err;
@@ -14787,6 +14777,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
14787#define alc269_auto_init_multi_out alc268_auto_init_multi_out 14777#define alc269_auto_init_multi_out alc268_auto_init_multi_out
14788#define alc269_auto_init_hp_out alc268_auto_init_hp_out 14778#define alc269_auto_init_hp_out alc268_auto_init_hp_out
14789#define alc269_auto_init_analog_input alc882_auto_init_analog_input 14779#define alc269_auto_init_analog_input alc882_auto_init_analog_input
14780#define alc269_auto_init_input_src alc882_auto_init_input_src
14790 14781
14791 14782
14792/* init callback for auto-configuration model -- overriding the default init */ 14783/* init callback for auto-configuration model -- overriding the default init */
@@ -14796,6 +14787,8 @@ static void alc269_auto_init(struct hda_codec *codec)
14796 alc269_auto_init_multi_out(codec); 14787 alc269_auto_init_multi_out(codec);
14797 alc269_auto_init_hp_out(codec); 14788 alc269_auto_init_hp_out(codec);
14798 alc269_auto_init_analog_input(codec); 14789 alc269_auto_init_analog_input(codec);
14790 if (!spec->dual_adc_switch)
14791 alc269_auto_init_input_src(codec);
14799 alc_auto_init_digital(codec); 14792 alc_auto_init_digital(codec);
14800 if (spec->unsol_event) 14793 if (spec->unsol_event)
14801 alc_inithook(codec); 14794 alc_inithook(codec);