ALSA: hda - Fix headphone-detect regression with multiple HP jacks

The recent changes over the DAC detection mechanism in patch_sigmatel.c
breaks the HP detection on the machines with multiple HP jacks.
It's basically because of the workaround to support the multi-channel
output.  Since the HP detection is more important feature, disable
the HP-swap workaroud temporarily.

Reference: Novell bnc#482052
	https://bugzilla.novell.com/show_bug.cgi?id=482052

Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2009-03-06 09:43:58 +01:00
parent 14b97595e0
commit c50ff7c042

View file

@ -3516,6 +3516,7 @@ static int stac92xx_parse_auto_config(struct hda_codec *codec, hda_nid_t dig_out
if (! spec->autocfg.line_outs) if (! spec->autocfg.line_outs)
return 0; /* can't find valid pin config */ return 0; /* can't find valid pin config */
#if 0 /* FIXME: temporarily disabled */
/* If we have no real line-out pin and multiple hp-outs, HPs should /* If we have no real line-out pin and multiple hp-outs, HPs should
* be set up as multi-channel outputs. * be set up as multi-channel outputs.
*/ */
@ -3535,6 +3536,7 @@ static int stac92xx_parse_auto_config(struct hda_codec *codec, hda_nid_t dig_out
spec->autocfg.line_out_type = AUTO_PIN_HP_OUT; spec->autocfg.line_out_type = AUTO_PIN_HP_OUT;
spec->autocfg.hp_outs = 0; spec->autocfg.hp_outs = 0;
} }
#endif /* FIXME: temporarily disabled */
if (spec->autocfg.mono_out_pin) { if (spec->autocfg.mono_out_pin) {
int dir = get_wcaps(codec, spec->autocfg.mono_out_pin) & int dir = get_wcaps(codec, spec->autocfg.mono_out_pin) &
(AC_WCAP_OUT_AMP | AC_WCAP_IN_AMP); (AC_WCAP_OUT_AMP | AC_WCAP_IN_AMP);