aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-12-19 08:02:32 -0500
committerTakashi Iwai <tiwai@suse.de>2008-12-19 08:23:08 -0500
commit8f55c1e51fbb03998708bdd97d5b6665ab92462d (patch)
tree7fe1a0b88e59eff30531981cceed7ac85fcf5ef5 /sound/pci
parent9e43f0de690211cf7153b5f3ec251bc315647ada (diff)
ALSA: hda - Remove non-working headphone control for Dell laptops
The previous commit re-enabled hp_nid setup for IDT92HD73*, but it's unneeded indeed for Dell laptops that have multiple headphones. Setting the extra hp_nid results in a non-working "Headpohne" mixer control. Thus hp_nid should be 0 for these dell models. Also, the automatic addition of hp_nid should check whether it's a dual-HP model or not. For dual-HPs, the pins are already checked by the early workaround. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_sigmatel.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index d7c622f944f6..596ceabd6504 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -2903,7 +2903,7 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec,
2903 } 2903 }
2904 2904
2905 if ((spec->multiout.num_dacs - cfg->line_outs) > 0 && 2905 if ((spec->multiout.num_dacs - cfg->line_outs) > 0 &&
2906 cfg->hp_outs && !spec->multiout.hp_nid) 2906 cfg->hp_outs == 1 && !spec->multiout.hp_nid)
2907 spec->multiout.hp_nid = nid; 2907 spec->multiout.hp_nid = nid;
2908 2908
2909 if (cfg->hp_outs > 1 && cfg->line_out_type == AUTO_PIN_LINE_OUT) { 2909 if (cfg->hp_outs > 1 && cfg->line_out_type == AUTO_PIN_LINE_OUT) {
@@ -4307,6 +4307,7 @@ again:
4307 spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP]; 4307 spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP];
4308 spec->eapd_switch = 0; 4308 spec->eapd_switch = 0;
4309 spec->num_amps = 1; 4309 spec->num_amps = 1;
4310 spec->multiout.hp_nid = 0; /* dual HPs */
4310 4311
4311 if (!spec->init) 4312 if (!spec->init)
4312 spec->init = dell_m6_core_init; 4313 spec->init = dell_m6_core_init;