Commit 6e1c39c6 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Fix power-map regression for HP dv6 & co

The recent fix for power-map controls (commit b0791dda) caused
regressions on some other HP laptops.  They have fixed pins but these
pins are exposed as jack-detectable.  Thus the driver tries to control
the power-map dynamically per jack detection where it never gets on.

This patch adds the check of connection and it assumes the no jack
detection is available for fixed pins no matter what pin capability
says.

BugLink: http://bugs.launchpad.net/bugs/1013183Reported-by: default avatarLuis Henriques <luis.henriques@canonical.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 09a6071b
...@@ -4367,7 +4367,7 @@ static int stac92xx_init(struct hda_codec *codec) ...@@ -4367,7 +4367,7 @@ static int stac92xx_init(struct hda_codec *codec)
AC_PINCTL_IN_EN); AC_PINCTL_IN_EN);
for (i = 0; i < spec->num_pwrs; i++) { for (i = 0; i < spec->num_pwrs; i++) {
hda_nid_t nid = spec->pwr_nids[i]; hda_nid_t nid = spec->pwr_nids[i];
int pinctl, def_conf; unsigned int pinctl, def_conf;
def_conf = snd_hda_codec_get_pincfg(codec, nid); def_conf = snd_hda_codec_get_pincfg(codec, nid);
def_conf = get_defcfg_connect(def_conf); def_conf = get_defcfg_connect(def_conf);
...@@ -4376,6 +4376,11 @@ static int stac92xx_init(struct hda_codec *codec) ...@@ -4376,6 +4376,11 @@ static int stac92xx_init(struct hda_codec *codec)
stac_toggle_power_map(codec, nid, 0); stac_toggle_power_map(codec, nid, 0);
continue; continue;
} }
if (def_conf == AC_JACK_PORT_FIXED) {
/* no need for jack detection for fixed pins */
stac_toggle_power_map(codec, nid, 1);
continue;
}
/* power on when no jack detection is available */ /* power on when no jack detection is available */
/* or when the VREF is used for controlling LED */ /* or when the VREF is used for controlling LED */
if (!spec->hp_detect || if (!spec->hp_detect ||
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment