static int msm_pm_enter(suspend_state_t state)
rs_limits = msm_rpmrs_lowest_limits()
ret = msm_rpmrs_enter_sleep(false, msm_pm_max_sleep_time, rs_limits)
msm_pm_power_collapse(false);
msm_pm_spm_power_collapse(dev, from_idle, true);
collapsed = msm_pm_collapse();
ENTRY(msm_pm_collapse)//调用汇编idle-v7.S (msm\arch\arm\mach-msm)
................
wfi//睡眠于此
.................
/*唤醒后,接着执行唤醒前的下一条指令,直到执行msm_rpmrs_exit_sleep*/
msm_rpmrs_exit_sleep(false, rs_limits);
msm_rpmrs_use_mpm(limits)
return 0;
阅读(2255) | 评论(0) | 转发(1) |