mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 23:51:39 +00:00
ALSA: hda/realtek: Update default depop procedure
Old procedure has a chance to meet Headphone no output.
Fixes: c2d6af53a4
("ALSA: hda/realtek - Add default procedure for suspend and resume state")
Signed-off-by: Kailang Yang <kailang@realtek.com>
Link: https://lore.kernel.org/17b717a0a0b04a77aea4a8ec820cba13@realtek.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
86c96e7289
commit
e3ea2757c3
@ -3868,20 +3868,18 @@ static void alc_default_init(struct hda_codec *codec)
|
|||||||
|
|
||||||
hp_pin_sense = snd_hda_jack_detect(codec, hp_pin);
|
hp_pin_sense = snd_hda_jack_detect(codec, hp_pin);
|
||||||
|
|
||||||
if (hp_pin_sense)
|
if (hp_pin_sense) {
|
||||||
msleep(2);
|
msleep(2);
|
||||||
|
|
||||||
snd_hda_codec_write(codec, hp_pin, 0,
|
snd_hda_codec_write(codec, hp_pin, 0,
|
||||||
AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE);
|
AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT);
|
||||||
|
|
||||||
if (hp_pin_sense)
|
msleep(75);
|
||||||
msleep(85);
|
|
||||||
|
|
||||||
snd_hda_codec_write(codec, hp_pin, 0,
|
snd_hda_codec_write(codec, hp_pin, 0,
|
||||||
AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT);
|
AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE);
|
||||||
|
msleep(75);
|
||||||
if (hp_pin_sense)
|
}
|
||||||
msleep(100);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void alc_default_shutup(struct hda_codec *codec)
|
static void alc_default_shutup(struct hda_codec *codec)
|
||||||
@ -3897,22 +3895,20 @@ static void alc_default_shutup(struct hda_codec *codec)
|
|||||||
|
|
||||||
hp_pin_sense = snd_hda_jack_detect(codec, hp_pin);
|
hp_pin_sense = snd_hda_jack_detect(codec, hp_pin);
|
||||||
|
|
||||||
if (hp_pin_sense)
|
if (hp_pin_sense) {
|
||||||
msleep(2);
|
msleep(2);
|
||||||
|
|
||||||
snd_hda_codec_write(codec, hp_pin, 0,
|
|
||||||
AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE);
|
|
||||||
|
|
||||||
if (hp_pin_sense)
|
|
||||||
msleep(85);
|
|
||||||
|
|
||||||
if (!spec->no_shutup_pins)
|
|
||||||
snd_hda_codec_write(codec, hp_pin, 0,
|
snd_hda_codec_write(codec, hp_pin, 0,
|
||||||
AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
|
AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE);
|
||||||
|
|
||||||
if (hp_pin_sense)
|
msleep(75);
|
||||||
msleep(100);
|
|
||||||
|
|
||||||
|
if (!spec->no_shutup_pins)
|
||||||
|
snd_hda_codec_write(codec, hp_pin, 0,
|
||||||
|
AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
|
||||||
|
|
||||||
|
msleep(75);
|
||||||
|
}
|
||||||
alc_auto_setup_eapd(codec, false);
|
alc_auto_setup_eapd(codec, false);
|
||||||
alc_shutup_pins(codec);
|
alc_shutup_pins(codec);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user