Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb632128 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: hda - Power up always when no jack detection is available



When no jack detection is available, the pins should be always
turned on since it can't be turned on/off dynamically via unsol
events.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 91589232
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -3946,7 +3946,13 @@ static int stac92xx_init(struct hda_codec *codec)
		hda_nid_t nid = spec->pwr_nids[i];
		int pinctl, def_conf;

		if (is_nid_hp_pin(cfg, nid) && spec->hp_detect)
		/* power on when no jack detection is available */
		if (!spec->hp_detect) {
			stac_toggle_power_map(codec, nid, 1);
			continue;
		}

		if (is_nid_hp_pin(cfg, nid))
			continue; /* already has an unsol event */

		pinctl = snd_hda_codec_read(codec, nid, 0,
@@ -3955,8 +3961,10 @@ static int stac92xx_init(struct hda_codec *codec)
		 * any attempts on powering down a input port cause the
		 * referenced VREF to act quirky.
		 */
		if (pinctl & AC_PINCTL_IN_EN)
		if (pinctl & AC_PINCTL_IN_EN) {
			stac_toggle_power_map(codec, nid, 1);
			continue;
		}
		def_conf = snd_hda_codec_read(codec, nid, 0,
					      AC_VERB_GET_CONFIG_DEFAULT, 0);
		def_conf = get_defcfg_connect(def_conf);