Lines Matching refs:state
105 static bool valid_state(suspend_state_t state) in valid_state() argument
112 return suspend_ops && suspend_ops->valid && suspend_ops->valid(state); in valid_state()
173 int suspend_valid_only_mem(suspend_state_t state) in suspend_valid_only_mem() argument
175 return state == PM_SUSPEND_MEM; in suspend_valid_only_mem()
179 static bool sleep_state_supported(suspend_state_t state) in sleep_state_supported() argument
181 return state == PM_SUSPEND_FREEZE || (suspend_ops && suspend_ops->enter); in sleep_state_supported()
184 static int platform_suspend_prepare(suspend_state_t state) in platform_suspend_prepare() argument
186 return state != PM_SUSPEND_FREEZE && suspend_ops->prepare ? in platform_suspend_prepare()
190 static int platform_suspend_prepare_late(suspend_state_t state) in platform_suspend_prepare_late() argument
192 return state == PM_SUSPEND_FREEZE && freeze_ops && freeze_ops->prepare ? in platform_suspend_prepare_late()
196 static int platform_suspend_prepare_noirq(suspend_state_t state) in platform_suspend_prepare_noirq() argument
198 return state != PM_SUSPEND_FREEZE && suspend_ops->prepare_late ? in platform_suspend_prepare_noirq()
202 static void platform_resume_noirq(suspend_state_t state) in platform_resume_noirq() argument
204 if (state != PM_SUSPEND_FREEZE && suspend_ops->wake) in platform_resume_noirq()
208 static void platform_resume_early(suspend_state_t state) in platform_resume_early() argument
210 if (state == PM_SUSPEND_FREEZE && freeze_ops && freeze_ops->restore) in platform_resume_early()
214 static void platform_resume_finish(suspend_state_t state) in platform_resume_finish() argument
216 if (state != PM_SUSPEND_FREEZE && suspend_ops->finish) in platform_resume_finish()
220 static int platform_suspend_begin(suspend_state_t state) in platform_suspend_begin() argument
222 if (state == PM_SUSPEND_FREEZE && freeze_ops && freeze_ops->begin) in platform_suspend_begin()
225 return suspend_ops->begin(state); in platform_suspend_begin()
230 static void platform_resume_end(suspend_state_t state) in platform_resume_end() argument
232 if (state == PM_SUSPEND_FREEZE && freeze_ops && freeze_ops->end) in platform_resume_end()
238 static void platform_recover(suspend_state_t state) in platform_recover() argument
240 if (state != PM_SUSPEND_FREEZE && suspend_ops->recover) in platform_recover()
244 static bool platform_suspend_again(suspend_state_t state) in platform_suspend_again() argument
246 return state != PM_SUSPEND_FREEZE && suspend_ops->suspend_again ? in platform_suspend_again()
277 static int suspend_prepare(suspend_state_t state) in suspend_prepare() argument
281 if (!sleep_state_supported(state)) in suspend_prepare()
325 static int suspend_enter(suspend_state_t state, bool *wakeup) in suspend_enter() argument
330 error = platform_suspend_prepare(state); in suspend_enter()
343 error = platform_suspend_prepare_late(state); in suspend_enter()
356 error = platform_suspend_prepare_noirq(state); in suspend_enter()
369 if (state == PM_SUSPEND_FREEZE) { in suspend_enter()
370 trace_suspend_resume(TPS("machine_suspend"), state, true); in suspend_enter()
372 trace_suspend_resume(TPS("machine_suspend"), state, false); in suspend_enter()
390 state, true); in suspend_enter()
391 error = suspend_ops->enter(state); in suspend_enter()
393 state, false); in suspend_enter()
411 platform_resume_noirq(state); in suspend_enter()
415 platform_resume_early(state); in suspend_enter()
421 platform_resume_finish(state); in suspend_enter()
429 int suspend_devices_and_enter(suspend_state_t state) in suspend_devices_and_enter() argument
434 if (!sleep_state_supported(state)) in suspend_devices_and_enter()
437 error = platform_suspend_begin(state); in suspend_devices_and_enter()
454 error = suspend_enter(state, &wakeup); in suspend_devices_and_enter()
455 } while (!error && !wakeup && platform_suspend_again(state)); in suspend_devices_and_enter()
461 trace_suspend_resume(TPS("resume_console"), state, true); in suspend_devices_and_enter()
463 trace_suspend_resume(TPS("resume_console"), state, false); in suspend_devices_and_enter()
466 platform_resume_end(state); in suspend_devices_and_enter()
470 platform_recover(state); in suspend_devices_and_enter()
495 static int enter_state(suspend_state_t state) in enter_state() argument
499 trace_suspend_resume(TPS("suspend_enter"), state, true); in enter_state()
500 if (state == PM_SUSPEND_FREEZE) { in enter_state()
507 } else if (!valid_state(state)) { in enter_state()
513 if (state == PM_SUSPEND_FREEZE) in enter_state()
524 pr_debug("PM: Preparing system for sleep (%s)\n", pm_states[state]); in enter_state()
526 error = suspend_prepare(state); in enter_state()
533 trace_suspend_resume(TPS("suspend_enter"), state, false); in enter_state()
534 pr_debug("PM: Suspending system (%s)\n", pm_states[state]); in enter_state()
536 error = suspend_devices_and_enter(state); in enter_state()
566 int pm_suspend(suspend_state_t state) in pm_suspend() argument
570 if (state <= PM_SUSPEND_ON || state >= PM_SUSPEND_MAX) in pm_suspend()
574 error = enter_state(state); in pm_suspend()