summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-10-06 06:27:19 (GMT)
committerTakashi Iwai <tiwai@suse.de>2011-10-06 06:30:45 (GMT)
commit06503670afc4372186d691ab2b9298a5e86fa29f (patch)
tree04a5bc831d06714bdac9a5c87fa9108475eab52b
parentf71ff0d713a85f647c16fbe44d2a12bbcc25add3 (diff)
downloadlinux-06503670afc4372186d691ab2b9298a5e86fa29f.tar.xz
ALSA: hda/realtek - Choose more cleverly the primary outputs
When the speaker outputs are more than the headphone outputs, it implies that the system has surround speakers while the headphones are only for monitoring the front. In such a case, it's better to put speakers as the primary outputs so that the driver can build up and keep the surround setup. Otherwise the system will pick up the headphone as primary, and offers less channels than the speakers do support. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_realtek.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 4510844..bf53663 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -3731,7 +3731,8 @@ static int alc_parse_auto_config(struct hda_codec *codec,
return 0; /* can't find valid BIOS pin config */
}
- if (cfg->line_out_type == AUTO_PIN_SPEAKER_OUT && cfg->hp_outs > 0) {
+ if (cfg->line_out_type == AUTO_PIN_SPEAKER_OUT &&
+ cfg->line_outs <= cfg->hp_outs) {
/* use HP as primary out */
cfg->speaker_outs = cfg->line_outs;
memcpy(cfg->speaker_pins, cfg->line_out_pins,