forked from Minki/linux
ALSA: HDA: Realtek ALC88x: Do not over-initialize speakers and hp that are primary outputs
Do not initialize again the what has already been initialized as multi outs, as this breaks surround speakers. Tested-by: Bartłomiej Żogała <nusch88@gmail.com> Cc: <stable@kernel.org> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
7e59e097c0
commit
0a3fabe30e
@ -10773,23 +10773,28 @@ static void alc882_auto_init_hp_out(struct hda_codec *codec)
|
||||
hda_nid_t pin, dac;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(spec->autocfg.hp_pins); i++) {
|
||||
pin = spec->autocfg.hp_pins[i];
|
||||
if (!pin)
|
||||
break;
|
||||
dac = spec->multiout.hp_nid;
|
||||
if (!dac)
|
||||
dac = spec->multiout.dac_nids[0]; /* to front */
|
||||
alc882_auto_set_output_and_unmute(codec, pin, PIN_HP, dac);
|
||||
if (spec->autocfg.line_out_type != AUTO_PIN_HP_OUT) {
|
||||
for (i = 0; i < ARRAY_SIZE(spec->autocfg.hp_pins); i++) {
|
||||
pin = spec->autocfg.hp_pins[i];
|
||||
if (!pin)
|
||||
break;
|
||||
dac = spec->multiout.hp_nid;
|
||||
if (!dac)
|
||||
dac = spec->multiout.dac_nids[0]; /* to front */
|
||||
alc882_auto_set_output_and_unmute(codec, pin, PIN_HP, dac);
|
||||
}
|
||||
}
|
||||
for (i = 0; i < ARRAY_SIZE(spec->autocfg.speaker_pins); i++) {
|
||||
pin = spec->autocfg.speaker_pins[i];
|
||||
if (!pin)
|
||||
break;
|
||||
dac = spec->multiout.extra_out_nid[0];
|
||||
if (!dac)
|
||||
dac = spec->multiout.dac_nids[0]; /* to front */
|
||||
alc882_auto_set_output_and_unmute(codec, pin, PIN_OUT, dac);
|
||||
|
||||
if (spec->autocfg.line_out_type != AUTO_PIN_SPEAKER_OUT) {
|
||||
for (i = 0; i < ARRAY_SIZE(spec->autocfg.speaker_pins); i++) {
|
||||
pin = spec->autocfg.speaker_pins[i];
|
||||
if (!pin)
|
||||
break;
|
||||
dac = spec->multiout.extra_out_nid[0];
|
||||
if (!dac)
|
||||
dac = spec->multiout.dac_nids[0]; /* to front */
|
||||
alc882_auto_set_output_and_unmute(codec, pin, PIN_OUT, dac);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user