Lines Matching refs:sleep_mode
68 rt_weak rt_uint32_t rt_pm_enter_critical(rt_uint8_t sleep_mode) in rt_pm_enter_critical() argument
73 rt_weak void rt_pm_exit_critical(rt_uint32_t ctx, rt_uint8_t sleep_mode) in rt_pm_exit_critical() argument
102 static void pm_sleep(struct rt_pm *pm, uint8_t sleep_mode) in pm_sleep() argument
105 _pm.ops->sleep(pm, sleep_mode); in pm_sleep()
323 rt_uint8_t sleep_mode = cur_mode; in pm_get_sleep_threshold_mode() local
326 return sleep_mode; in pm_get_sleep_threshold_mode()
329 return sleep_mode; in pm_get_sleep_threshold_mode()
339 sleep_mode = PM_SLEEP_MODE_IDLE; in pm_get_sleep_threshold_mode()
343 sleep_mode = PM_SLEEP_MODE_IDLE; in pm_get_sleep_threshold_mode()
345 sleep_mode = PM_SLEEP_MODE_LIGHT; in pm_get_sleep_threshold_mode()
349 sleep_mode = PM_SLEEP_MODE_IDLE; in pm_get_sleep_threshold_mode()
351 sleep_mode = PM_SLEEP_MODE_LIGHT; in pm_get_sleep_threshold_mode()
353 sleep_mode = PM_SLEEP_MODE_DEEP; in pm_get_sleep_threshold_mode()
355 cur_mode = sleep_mode; in pm_get_sleep_threshold_mode()
373 uint8_t sleep_mode = PM_SLEEP_MODE_DEEP; in _pm_change_sleep_mode() local
375 level = rt_pm_enter_critical(pm->sleep_mode); in _pm_change_sleep_mode()
378 pm->sleep_mode = _pm_select_sleep_mode(pm); in _pm_change_sleep_mode()
383 sleep_mode = PM_BUSY_SLEEP_MODE; in _pm_change_sleep_mode()
384 if (sleep_mode < pm->sleep_mode) in _pm_change_sleep_mode()
386 pm->sleep_mode = sleep_mode; /* judge the highest sleep mode */ in _pm_change_sleep_mode()
390 if (_pm.sleep_mode == PM_SLEEP_MODE_NONE) in _pm_change_sleep_mode()
393 rt_pm_exit_critical(level, pm->sleep_mode); in _pm_change_sleep_mode()
400 _pm_notify.notify(RT_PM_ENTER_SLEEP, pm->sleep_mode, _pm_notify.data); in _pm_change_sleep_mode()
405 rt_err_t ret = _pm_device_suspend(pm->sleep_mode); in _pm_change_sleep_mode()
408 _pm_device_resume(pm->sleep_mode); in _pm_change_sleep_mode()
411 _pm_notify.notify(RT_PM_EXIT_SLEEP, pm->sleep_mode, _pm_notify.data); in _pm_change_sleep_mode()
413 if (pm->sleep_mode > PM_SUSPEND_SLEEP_MODE) in _pm_change_sleep_mode()
415 pm->sleep_mode = PM_SUSPEND_SLEEP_MODE; in _pm_change_sleep_mode()
417 pm->ops->sleep(pm, pm->sleep_mode); /* suspend failed */ in _pm_change_sleep_mode()
418 rt_pm_exit_critical(level, pm->sleep_mode); in _pm_change_sleep_mode()
422 _pm_device_suspend(pm->sleep_mode); in _pm_change_sleep_mode()
425 if (pm->timer_mask & (0x01 << pm->sleep_mode)) in _pm_change_sleep_mode()
427 timeout_tick = pm_timer_next_timeout_tick(pm->sleep_mode); in _pm_change_sleep_mode()
431 pm->sleep_mode = pm_get_sleep_threshold_mode(pm->sleep_mode, timeout_tick); in _pm_change_sleep_mode()
433 if (pm->timer_mask & (0x01 << pm->sleep_mode)) in _pm_change_sleep_mode()
440 pm_sleep(pm, pm->sleep_mode); in _pm_change_sleep_mode()
443 if (pm->timer_mask & (0x01 << pm->sleep_mode)) in _pm_change_sleep_mode()
456 _pm_device_resume(pm->sleep_mode); in _pm_change_sleep_mode()
459 _pm_notify.notify(RT_PM_EXIT_SLEEP, pm->sleep_mode, _pm_notify.data); in _pm_change_sleep_mode()
461 rt_pm_exit_critical(level, pm->sleep_mode); in _pm_change_sleep_mode()
861 void rt_pm_default_set(rt_uint8_t sleep_mode) in rt_pm_default_set() argument
863 _pm_default_sleep = sleep_mode; in rt_pm_default_set()
1022 pm->sleep_mode = _pm_default_sleep; in rt_system_pm_init()
1025 pm->modes[pm->sleep_mode] = 1; in rt_system_pm_init()
1178 return pm->sleep_mode; in rt_pm_get_sleep_mode()
1227 MSH_CMD_EXPORT(pm_sleep_request, pm_sleep_request module sleep_mode);
1241 MSH_CMD_EXPORT(pm_sleep_release, pm_sleep_release module sleep_mode);
1263 rt_kprintf("pm current sleep mode: %s\n", _pm_sleep_str[pm->sleep_mode]); in rt_pm_dump_status()