PM_SUSPEND_TO_IDLE
mem_sleep_current = PM_SUSPEND_TO_IDLE;
return pm_suspend_target_state != PM_SUSPEND_TO_IDLE;
(pm_suspend_target_state != PM_SUSPEND_TO_IDLE))
return PM_SUSPEND_TO_IDLE;
if (pm_suspend_target() == PM_SUSPEND_TO_IDLE)
return (state > PM_SUSPEND_MAX || state == PM_SUSPEND_TO_IDLE);
case PM_SUSPEND_TO_IDLE:
if (pm_suspend_target_state != PM_SUSPEND_TO_IDLE && hba->spm_lvl < UFS_PM_LVL_5) {
if (pm_suspend_target_state == PM_SUSPEND_TO_IDLE &&
if (pm_suspend_target_state != PM_SUSPEND_TO_IDLE &&
#define PM_SUSPEND_MIN PM_SUSPEND_TO_IDLE
trace_suspend_resume(TPS("machine_suspend"), PM_SUSPEND_TO_IDLE, false);
pm_states[PM_SUSPEND_TO_IDLE] = pm_labels[PM_SUSPEND_TO_IDLE];
mem_sleep_states[PM_SUSPEND_TO_IDLE] = mem_sleep_labels[PM_SUSPEND_TO_IDLE];
for (state = PM_SUSPEND_TO_IDLE; state <= PM_SUSPEND_MEM; state++)
return state == PM_SUSPEND_TO_IDLE ||
return state != PM_SUSPEND_TO_IDLE && suspend_ops->prepare ?
return state == PM_SUSPEND_TO_IDLE && s2idle_ops && s2idle_ops->prepare ?
if (state == PM_SUSPEND_TO_IDLE)
if (state == PM_SUSPEND_TO_IDLE) {
if (state == PM_SUSPEND_TO_IDLE && s2idle_ops && s2idle_ops->restore)
if (state != PM_SUSPEND_TO_IDLE && suspend_ops->finish)
if (state == PM_SUSPEND_TO_IDLE && s2idle_ops && s2idle_ops->begin)
if (state == PM_SUSPEND_TO_IDLE && s2idle_ops && s2idle_ops->end)
if (state != PM_SUSPEND_TO_IDLE && suspend_ops->recover)
return state != PM_SUSPEND_TO_IDLE && suspend_ops->suspend_again ?
[PM_SUSPEND_TO_IDLE] = "freeze",
[PM_SUSPEND_TO_IDLE] = "s2idle",
if (state == PM_SUSPEND_TO_IDLE) {
suspend_state_t mem_sleep_current = PM_SUSPEND_TO_IDLE;
if (state == PM_SUSPEND_TO_IDLE)
if (state == PM_SUSPEND_TO_IDLE) {
if (state == PM_SUSPEND_TO_IDLE)
return mem_sleep_current == PM_SUSPEND_TO_IDLE;
trace_suspend_resume(TPS("machine_suspend"), PM_SUSPEND_TO_IDLE, true);
state = PM_SUSPEND_TO_IDLE;
if (state == PM_SUSPEND_TO_IDLE) {