Lines Matching refs:state

176 static bool valid_state(suspend_state_t state)  in valid_state()  argument
184 return suspend_ops && suspend_ops->valid && suspend_ops->valid(state) && in valid_state()
202 suspend_state_t state; in mem_sleep_default_setup() local
204 for (state = PM_SUSPEND_TO_IDLE; state <= PM_SUSPEND_MEM; state++) in mem_sleep_default_setup()
205 if (mem_sleep_labels[state] && in mem_sleep_default_setup()
206 !strcmp(str, mem_sleep_labels[state])) { in mem_sleep_default_setup()
207 mem_sleep_default = state; in mem_sleep_default_setup()
208 mem_sleep_current = state; in mem_sleep_default_setup()
252 int suspend_valid_only_mem(suspend_state_t state) in suspend_valid_only_mem() argument
254 return state == PM_SUSPEND_MEM; in suspend_valid_only_mem()
258 static bool sleep_state_supported(suspend_state_t state) in sleep_state_supported() argument
260 return state == PM_SUSPEND_TO_IDLE || in sleep_state_supported()
261 (valid_state(state) && !cxl_mem_active()); in sleep_state_supported()
264 static int platform_suspend_prepare(suspend_state_t state) in platform_suspend_prepare() argument
266 return state != PM_SUSPEND_TO_IDLE && suspend_ops->prepare ? in platform_suspend_prepare()
270 static int platform_suspend_prepare_late(suspend_state_t state) in platform_suspend_prepare_late() argument
272 return state == PM_SUSPEND_TO_IDLE && s2idle_ops && s2idle_ops->prepare ? in platform_suspend_prepare_late()
276 static int platform_suspend_prepare_noirq(suspend_state_t state) in platform_suspend_prepare_noirq() argument
278 if (state == PM_SUSPEND_TO_IDLE) in platform_suspend_prepare_noirq()
285 static void platform_resume_noirq(suspend_state_t state) in platform_resume_noirq() argument
287 if (state == PM_SUSPEND_TO_IDLE) { in platform_resume_noirq()
295 static void platform_resume_early(suspend_state_t state) in platform_resume_early() argument
297 if (state == PM_SUSPEND_TO_IDLE && s2idle_ops && s2idle_ops->restore) in platform_resume_early()
301 static void platform_resume_finish(suspend_state_t state) in platform_resume_finish() argument
303 if (state != PM_SUSPEND_TO_IDLE && suspend_ops->finish) in platform_resume_finish()
307 static int platform_suspend_begin(suspend_state_t state) in platform_suspend_begin() argument
309 if (state == PM_SUSPEND_TO_IDLE && s2idle_ops && s2idle_ops->begin) in platform_suspend_begin()
312 return suspend_ops->begin(state); in platform_suspend_begin()
317 static void platform_resume_end(suspend_state_t state) in platform_resume_end() argument
319 if (state == PM_SUSPEND_TO_IDLE && s2idle_ops && s2idle_ops->end) in platform_resume_end()
325 static void platform_recover(suspend_state_t state) in platform_recover() argument
327 if (state != PM_SUSPEND_TO_IDLE && suspend_ops->recover) in platform_recover()
331 static bool platform_suspend_again(suspend_state_t state) in platform_suspend_again() argument
333 return state != PM_SUSPEND_TO_IDLE && suspend_ops->suspend_again ? in platform_suspend_again()
365 static int suspend_prepare(suspend_state_t state) in suspend_prepare() argument
369 if (!sleep_state_supported(state)) in suspend_prepare()
413 static int suspend_enter(suspend_state_t state, bool *wakeup) in suspend_enter() argument
417 error = platform_suspend_prepare(state); in suspend_enter()
426 error = platform_suspend_prepare_late(state); in suspend_enter()
435 error = platform_suspend_prepare_noirq(state); in suspend_enter()
442 if (state == PM_SUSPEND_TO_IDLE) { in suspend_enter()
461 state, true); in suspend_enter()
462 error = suspend_ops->enter(state); in suspend_enter()
464 state, false); in suspend_enter()
480 platform_resume_noirq(state); in suspend_enter()
484 platform_resume_early(state); in suspend_enter()
490 platform_resume_finish(state); in suspend_enter()
498 int suspend_devices_and_enter(suspend_state_t state) in suspend_devices_and_enter() argument
503 if (!sleep_state_supported(state)) in suspend_devices_and_enter()
506 pm_suspend_target_state = state; in suspend_devices_and_enter()
508 if (state == PM_SUSPEND_TO_IDLE) in suspend_devices_and_enter()
511 error = platform_suspend_begin(state); in suspend_devices_and_enter()
527 error = suspend_enter(state, &wakeup); in suspend_devices_and_enter()
528 } while (!error && !wakeup && platform_suspend_again(state)); in suspend_devices_and_enter()
534 trace_suspend_resume(TPS("console_resume_all"), state, true); in suspend_devices_and_enter()
536 trace_suspend_resume(TPS("console_resume_all"), state, false); in suspend_devices_and_enter()
539 platform_resume_end(state); in suspend_devices_and_enter()
544 platform_recover(state); in suspend_devices_and_enter()
570 static int enter_state(suspend_state_t state) in enter_state() argument
574 trace_suspend_resume(TPS("suspend_enter"), state, true); in enter_state()
575 if (state == PM_SUSPEND_TO_IDLE) { in enter_state()
582 } else if (!valid_state(state)) { in enter_state()
588 if (state == PM_SUSPEND_TO_IDLE) in enter_state()
597 pm_pr_dbg("Preparing system for sleep (%s)\n", mem_sleep_labels[state]); in enter_state()
599 error = suspend_prepare(state); in enter_state()
606 trace_suspend_resume(TPS("suspend_enter"), state, false); in enter_state()
607 pm_pr_dbg("Suspending system (%s)\n", mem_sleep_labels[state]); in enter_state()
608 error = suspend_devices_and_enter(state); in enter_state()
626 int pm_suspend(suspend_state_t state) in pm_suspend() argument
630 if (state <= PM_SUSPEND_ON || state >= PM_SUSPEND_MAX) in pm_suspend()
633 pr_info("suspend entry (%s)\n", mem_sleep_labels[state]); in pm_suspend()
634 error = enter_state(state); in pm_suspend()