aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-12-03 04:51:37 -0500
committerTakashi Iwai <tiwai@suse.de>2013-12-06 11:10:32 -0500
commit4f7f67fb774168a25802919493cdff41c8b9e384 (patch)
treeec747522f492310e3c7e7c0735991adb605142e2
parentc9e4bdb7557ad152f8a41301e646403d9f0ad92c (diff)
ALSA: hda - Add missing initialization of aamix paths
The loopback mixing paths aren't initialized correctly at init callback. Mostly this is harmless as codecs usually set the mute state as default, but we still should make sure. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/hda_generic.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 5ba3106b9712..058318de1af4 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -5140,6 +5140,23 @@ static void init_multi_io(struct hda_codec *codec)
5140 } 5140 }
5141} 5141}
5142 5142
5143static void init_aamix_paths(struct hda_codec *codec)
5144{
5145 struct hda_gen_spec *spec = codec->spec;
5146
5147 if (!spec->have_aamix_ctl)
5148 return;
5149 update_aamix_paths(codec, spec->aamix_mode, spec->out_paths[0],
5150 spec->aamix_out_paths[0],
5151 spec->autocfg.line_out_type);
5152 update_aamix_paths(codec, spec->aamix_mode, spec->hp_paths[0],
5153 spec->aamix_out_paths[1],
5154 AUTO_PIN_HP_OUT);
5155 update_aamix_paths(codec, spec->aamix_mode, spec->speaker_paths[0],
5156 spec->aamix_out_paths[2],
5157 AUTO_PIN_SPEAKER_OUT);
5158}
5159
5143/* set up input pins and loopback paths */ 5160/* set up input pins and loopback paths */
5144static void init_analog_input(struct hda_codec *codec) 5161static void init_analog_input(struct hda_codec *codec)
5145{ 5162{
@@ -5242,6 +5259,7 @@ int snd_hda_gen_init(struct hda_codec *codec)
5242 init_multi_out(codec); 5259 init_multi_out(codec);
5243 init_extra_out(codec); 5260 init_extra_out(codec);
5244 init_multi_io(codec); 5261 init_multi_io(codec);
5262 init_aamix_paths(codec);
5245 init_analog_input(codec); 5263 init_analog_input(codec);
5246 init_input_src(codec); 5264 init_input_src(codec);
5247 init_digital(codec); 5265 init_digital(codec);