Merge branch 'topic/hda-pm-state' into for-next
Pull HD-audio PM fixes. They are applied on top of the latest 5.0 development branch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
@@ -2917,6 +2917,7 @@ static void hda_call_codec_resume(struct hda_codec *codec)
|
||||
hda_jackpoll_work(&codec->jackpoll_work.work);
|
||||
else
|
||||
snd_hda_jack_report_sync(codec);
|
||||
codec->core.dev.power.power_state = PMSG_ON;
|
||||
snd_hdac_leave_pm(&codec->core);
|
||||
}
|
||||
|
||||
@@ -2947,10 +2948,48 @@ static int hda_codec_runtime_resume(struct device *dev)
|
||||
}
|
||||
#endif /* CONFIG_PM */
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int hda_codec_pm_suspend(struct device *dev)
|
||||
{
|
||||
dev->power.power_state = PMSG_SUSPEND;
|
||||
return pm_runtime_force_suspend(dev);
|
||||
}
|
||||
|
||||
static int hda_codec_pm_resume(struct device *dev)
|
||||
{
|
||||
dev->power.power_state = PMSG_RESUME;
|
||||
return pm_runtime_force_resume(dev);
|
||||
}
|
||||
|
||||
static int hda_codec_pm_freeze(struct device *dev)
|
||||
{
|
||||
dev->power.power_state = PMSG_FREEZE;
|
||||
return pm_runtime_force_suspend(dev);
|
||||
}
|
||||
|
||||
static int hda_codec_pm_thaw(struct device *dev)
|
||||
{
|
||||
dev->power.power_state = PMSG_THAW;
|
||||
return pm_runtime_force_resume(dev);
|
||||
}
|
||||
|
||||
static int hda_codec_pm_restore(struct device *dev)
|
||||
{
|
||||
dev->power.power_state = PMSG_RESTORE;
|
||||
return pm_runtime_force_resume(dev);
|
||||
}
|
||||
#endif /* CONFIG_PM_SLEEP */
|
||||
|
||||
/* referred in hda_bind.c */
|
||||
const struct dev_pm_ops hda_codec_driver_pm = {
|
||||
SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
|
||||
pm_runtime_force_resume)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
.suspend = hda_codec_pm_suspend,
|
||||
.resume = hda_codec_pm_resume,
|
||||
.freeze = hda_codec_pm_freeze,
|
||||
.thaw = hda_codec_pm_thaw,
|
||||
.poweroff = hda_codec_pm_suspend,
|
||||
.restore = hda_codec_pm_restore,
|
||||
#endif /* CONFIG_PM_SLEEP */
|
||||
SET_RUNTIME_PM_OPS(hda_codec_runtime_suspend, hda_codec_runtime_resume,
|
||||
NULL)
|
||||
};
|
||||
|
Reference in New Issue
Block a user