ALSA: hda - Fix output-path initialization for Realtek auto-parser
When the headphone or speaker output has no own DAC, initialize the path using the primary DAC. Otherwise the path won't be set properly and can result in the silence. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
de75577c8c
commit
675c1aa3c4
1 changed files with 13 additions and 7 deletions
|
@ -3083,16 +3083,22 @@ static void alc_auto_init_multi_out(struct hda_codec *codec)
|
|||
static void alc_auto_init_extra_out(struct hda_codec *codec)
|
||||
{
|
||||
struct alc_spec *spec = codec->spec;
|
||||
hda_nid_t pin;
|
||||
hda_nid_t pin, dac;
|
||||
|
||||
pin = spec->autocfg.hp_pins[0];
|
||||
if (pin)
|
||||
alc_auto_set_output_and_unmute(codec, pin, PIN_HP,
|
||||
spec->multiout.hp_nid);
|
||||
if (pin) {
|
||||
dac = spec->multiout.hp_nid;
|
||||
if (!dac)
|
||||
dac = spec->multiout.dac_nids[0];
|
||||
alc_auto_set_output_and_unmute(codec, pin, PIN_HP, dac);
|
||||
}
|
||||
pin = spec->autocfg.speaker_pins[0];
|
||||
if (pin)
|
||||
alc_auto_set_output_and_unmute(codec, pin, PIN_OUT,
|
||||
spec->multiout.extra_out_nid[0]);
|
||||
if (pin) {
|
||||
dac = spec->multiout.extra_out_nid[0];
|
||||
if (!dac)
|
||||
dac = spec->multiout.dac_nids[0];
|
||||
alc_auto_set_output_and_unmute(codec, pin, PIN_OUT, dac);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue