suspend确切的说是MCU(ARM )的suspend,也就是cpu进入Wait for interrupt状态(WFI);因为对整个系统来说,CPU进WFI是整个系统睡眠的先决条件,我们debug也是从CPU是否进入WFI开始

Linux的角度来说,CPU进入suspend就是SW完全不跑了,停在suspend workqueue里面

从灭屏到CPU进入suspend的大体流程框架如下:


相关code路径:

/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java

/frameworks/base/services/core/jni/com_android_server_power_PowerManagerService.cpp

/system/core/libsuspend/

/kernel-x.x/kernel/power/

Logo

更多推荐