Commit 1387e2d1 authored by Kailang Yang's avatar Kailang Yang Committed by Takashi Iwai

ALSA: hda - Improve HP depop when system enter to S3

alc269_toggle_power_output() was only use in ALC269VB.  I rename it to
alc269vb_toggle_power_output().
Signed-off-by: default avatarKailang Yang <kailang@realtek.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent f58161ba
...@@ -5840,7 +5840,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec) ...@@ -5840,7 +5840,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
return alc_parse_auto_config(codec, alc269_ignore, ssids); return alc_parse_auto_config(codec, alc269_ignore, ssids);
} }
static void alc269_toggle_power_output(struct hda_codec *codec, int power_up) static void alc269vb_toggle_power_output(struct hda_codec *codec, int power_up)
{ {
int val = alc_read_coef_idx(codec, 0x04); int val = alc_read_coef_idx(codec, 0x04);
if (power_up) if (power_up)
...@@ -5857,10 +5857,10 @@ static void alc269_shutup(struct hda_codec *codec) ...@@ -5857,10 +5857,10 @@ static void alc269_shutup(struct hda_codec *codec)
if (spec->codec_variant != ALC269_TYPE_ALC269VB) if (spec->codec_variant != ALC269_TYPE_ALC269VB)
return; return;
if ((alc_get_coef0(codec) & 0x00ff) == 0x017) if (spec->codec_variant == ALC269_TYPE_ALC269VB)
alc269_toggle_power_output(codec, 0); alc269vb_toggle_power_output(codec, 0);
if ((alc_get_coef0(codec) & 0x00ff) == 0x018) { if (spec->codec_variant == ALC269_TYPE_ALC269VB &&
alc269_toggle_power_output(codec, 0); (alc_get_coef0(codec) & 0x00ff) == 0x018) {
msleep(150); msleep(150);
} }
} }
...@@ -5870,24 +5870,22 @@ static int alc269_resume(struct hda_codec *codec) ...@@ -5870,24 +5870,22 @@ static int alc269_resume(struct hda_codec *codec)
{ {
struct alc_spec *spec = codec->spec; struct alc_spec *spec = codec->spec;
if (spec->codec_variant == ALC269_TYPE_ALC269VB || if (spec->codec_variant == ALC269_TYPE_ALC269VB)
alc269vb_toggle_power_output(codec, 0);
if (spec->codec_variant == ALC269_TYPE_ALC269VB &&
(alc_get_coef0(codec) & 0x00ff) == 0x018) { (alc_get_coef0(codec) & 0x00ff) == 0x018) {
alc269_toggle_power_output(codec, 0);
msleep(150); msleep(150);
} }
codec->patch_ops.init(codec); codec->patch_ops.init(codec);
if (spec->codec_variant == ALC269_TYPE_ALC269VB || if (spec->codec_variant == ALC269_TYPE_ALC269VB)
alc269vb_toggle_power_output(codec, 1);
if (spec->codec_variant == ALC269_TYPE_ALC269VB &&
(alc_get_coef0(codec) & 0x00ff) == 0x017) { (alc_get_coef0(codec) & 0x00ff) == 0x017) {
alc269_toggle_power_output(codec, 1);
msleep(200); msleep(200);
} }
if (spec->codec_variant == ALC269_TYPE_ALC269VB ||
(alc_get_coef0(codec) & 0x00ff) == 0x018)
alc269_toggle_power_output(codec, 1);
snd_hda_codec_resume_amp(codec); snd_hda_codec_resume_amp(codec);
snd_hda_codec_resume_cache(codec); snd_hda_codec_resume_cache(codec);
hda_call_check_power_status(codec, 0x01); hda_call_check_power_status(codec, 0x01);
......
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