ALSA: hda - Fix jack detection at resume with VT codecs

VT202x codecs seem requiring some delay after the resume D0 power
transition for making the jack detection working again.  Without the
delay soon after D0, the jack is always detected as unplugged.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=98921
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2015-05-31 09:27:29 +02:00
parent 2f80b2958a
commit 6b6d00076b
1 changed files with 10 additions and 0 deletions

View File

@ -449,6 +449,15 @@ static int via_suspend(struct hda_codec *codec)
return 0;
}
static int via_resume(struct hda_codec *codec)
{
/* some delay here to make jack detection working (bko#98921) */
msleep(10);
codec->patch_ops.init(codec);
regcache_sync(codec->core.regmap);
return 0;
}
#endif
#ifdef CONFIG_PM
@ -475,6 +484,7 @@ static const struct hda_codec_ops via_patch_ops = {
.stream_pm = snd_hda_gen_stream_pm,
#ifdef CONFIG_PM
.suspend = via_suspend,
.resume = via_resume,
.check_power_status = via_check_power_status,
#endif
};