Lines Matching refs:state
100 static bool valid_state(suspend_state_t state) in valid_state() argument
107 return suspend_ops && suspend_ops->valid && suspend_ops->valid(state); in valid_state()
160 int suspend_valid_only_mem(suspend_state_t state) in suspend_valid_only_mem() argument
162 return state == PM_SUSPEND_MEM; in suspend_valid_only_mem()
166 static bool sleep_state_supported(suspend_state_t state) in sleep_state_supported() argument
168 return state == PM_SUSPEND_FREEZE || (suspend_ops && suspend_ops->enter); in sleep_state_supported()
171 static int platform_suspend_prepare(suspend_state_t state) in platform_suspend_prepare() argument
173 return state != PM_SUSPEND_FREEZE && suspend_ops->prepare ? in platform_suspend_prepare()
177 static int platform_suspend_prepare_late(suspend_state_t state) in platform_suspend_prepare_late() argument
179 return state == PM_SUSPEND_FREEZE && freeze_ops && freeze_ops->prepare ? in platform_suspend_prepare_late()
183 static int platform_suspend_prepare_noirq(suspend_state_t state) in platform_suspend_prepare_noirq() argument
185 return state != PM_SUSPEND_FREEZE && suspend_ops->prepare_late ? in platform_suspend_prepare_noirq()
189 static void platform_resume_noirq(suspend_state_t state) in platform_resume_noirq() argument
191 if (state != PM_SUSPEND_FREEZE && suspend_ops->wake) in platform_resume_noirq()
195 static void platform_resume_early(suspend_state_t state) in platform_resume_early() argument
197 if (state == PM_SUSPEND_FREEZE && freeze_ops && freeze_ops->restore) in platform_resume_early()
201 static void platform_resume_finish(suspend_state_t state) in platform_resume_finish() argument
203 if (state != PM_SUSPEND_FREEZE && suspend_ops->finish) in platform_resume_finish()
207 static int platform_suspend_begin(suspend_state_t state) in platform_suspend_begin() argument
209 if (state == PM_SUSPEND_FREEZE && freeze_ops && freeze_ops->begin) in platform_suspend_begin()
212 return suspend_ops->begin(state); in platform_suspend_begin()
217 static void platform_resume_end(suspend_state_t state) in platform_resume_end() argument
219 if (state == PM_SUSPEND_FREEZE && freeze_ops && freeze_ops->end) in platform_resume_end()
225 static void platform_recover(suspend_state_t state) in platform_recover() argument
227 if (state != PM_SUSPEND_FREEZE && suspend_ops->recover) in platform_recover()
231 static bool platform_suspend_again(suspend_state_t state) in platform_suspend_again() argument
233 return state != PM_SUSPEND_FREEZE && suspend_ops->suspend_again ? in platform_suspend_again()
264 static int suspend_prepare(suspend_state_t state) in suspend_prepare() argument
268 if (!sleep_state_supported(state)) in suspend_prepare()
310 static int suspend_enter(suspend_state_t state, bool *wakeup) in suspend_enter() argument
314 error = platform_suspend_prepare(state); in suspend_enter()
323 error = platform_suspend_prepare_late(state); in suspend_enter()
332 error = platform_suspend_prepare_noirq(state); in suspend_enter()
345 if (state == PM_SUSPEND_FREEZE) { in suspend_enter()
346 trace_suspend_resume(TPS("machine_suspend"), state, true); in suspend_enter()
348 trace_suspend_resume(TPS("machine_suspend"), state, false); in suspend_enter()
364 state, true); in suspend_enter()
365 error = suspend_ops->enter(state); in suspend_enter()
367 state, false); in suspend_enter()
380 platform_resume_noirq(state); in suspend_enter()
384 platform_resume_early(state); in suspend_enter()
390 platform_resume_finish(state); in suspend_enter()
398 int suspend_devices_and_enter(suspend_state_t state) in suspend_devices_and_enter() argument
403 if (!sleep_state_supported(state)) in suspend_devices_and_enter()
406 error = platform_suspend_begin(state); in suspend_devices_and_enter()
422 error = suspend_enter(state, &wakeup); in suspend_devices_and_enter()
423 } while (!error && !wakeup && platform_suspend_again(state)); in suspend_devices_and_enter()
429 trace_suspend_resume(TPS("resume_console"), state, true); in suspend_devices_and_enter()
431 trace_suspend_resume(TPS("resume_console"), state, false); in suspend_devices_and_enter()
434 platform_resume_end(state); in suspend_devices_and_enter()
438 platform_recover(state); in suspend_devices_and_enter()
463 static int enter_state(suspend_state_t state) in enter_state() argument
467 trace_suspend_resume(TPS("suspend_enter"), state, true); in enter_state()
468 if (state == PM_SUSPEND_FREEZE) { in enter_state()
476 } else if (!valid_state(state)) { in enter_state()
482 if (state == PM_SUSPEND_FREEZE) in enter_state()
491 pr_debug("PM: Preparing system for %s sleep\n", pm_states[state]); in enter_state()
492 error = suspend_prepare(state); in enter_state()
499 trace_suspend_resume(TPS("suspend_enter"), state, false); in enter_state()
500 pr_debug("PM: Entering %s sleep\n", pm_states[state]); in enter_state()
502 error = suspend_devices_and_enter(state); in enter_state()
520 int pm_suspend(suspend_state_t state) in pm_suspend() argument
524 if (state <= PM_SUSPEND_ON || state >= PM_SUSPEND_MAX) in pm_suspend()
527 error = enter_state(state); in pm_suspend()