怘€æ€˜€`3f<€fÀæøÀ̆ž?`??f?æžf<øž`??ð3ž<3ž<` /sys/devices/platform/omap_uart.0/power/autosuspen d_delay_ms root@beagleboard:~# root@beagleboard:~# echo -1 > /sys/devices/platform/omap_uart.1/power/autosuspen d_delay_ms root@beagleboard:~# root@beagleboard:~# echo -1 > /sys/devices/platform/omap_uart.2/power/autosuspen d_delay_ms root@beagleboard:~# root@beagleboard:~# echo -1 > /sys/devices/platform/omap_uart.3/power/autosuspen d_delay_ms -sh: cannot create /sys/devices/platform/omap_uart.3/power/autosuspend_delay_ms: nonexistent directory root@beagleboard:~# root@beagleboard:~# echo 0 > /debug/pm_debug/enable_off_mode root@beagleboard:~# root@beagleboard:~# %% Baseline pm_debug count dump cat /debug/pm_debug/count usbhost_pwrdm (ON),OFF:0,RET:1283,INA:0,ON:1284,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 core_pwrdm (ON),OFF:0,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0 per_pwrdm (ON),OFF:0,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 dss_pwrdm (ON),OFF:0,RET:1283,INA:0,ON:1284,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 cam_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 neon_pwrdm (ON),OFF:0,RET:1283,INA:0,ON:1284,RET-LOGIC-OFF:0 mpu_pwrdm (ON),OFF:0,RET:1283,INA:0,ON:1284,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 iva2_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RET-MEMBANK4-OFF:0 usbhost_clkdm->usbhost_pwrdm (1) sgx_clkdm->sgx_pwrdm (0) per_clkdm->per_pwrdm (12) cam_clkdm->cam_pwrdm (0) dss_clkdm->dss_pwrdm (1) d2d_clkdm->core_pwrdm (0) iva2_clkdm->iva2_pwrdm (0) mpu_clkdm->mpu_pwrdm (0) core_l4_clkdm->core_pwrdm (16) core_l3_clkdm->core_pwrdm (1) neon_clkdm->neon_pwrdm (0) root@beagleboard:~# root@beagleboard:~# echo enabled > /sys/devices/44000000.ocp/48020000.serial/tty /ttyO2/power/wakeup -sh: cannot create /sys/devices/44000000.ocp/48020000.serial/tty/ttyO2/power/wakeup: nonexistent directory root@beagleboard:~# %% Start retention double suspend/resume UART wakeup test echo mem > /sys/power/state [ 36.990600] PM: Syncing filesystems ... done. [ 37.587310] Freezing user space processes ... (elapsed 0.005 seconds) done. [ 37.596954] Freezing remaining freezable tasks ... (elapsed 0.004 seconds) done. [ 37.605163] Suspending console(s) (use no_console_suspend to debug) [ 37.741821] PM: suspend of devices complete after 126.647 msecs [ 37.748565] PM: late suspend of devices complete after 6.683 msecs [ 37.756835] PM: noirq suspend of devices complete after 8.239 msecs [ 37.756927] Disabling non-boot CPUs ... [ 37.757110] Successfully put all powerdomains to target state [ 37.761535] PM: noirq resume of devices complete after 4.302 msecs [ 37.768188] PM: early resume of devices complete after 4.882 msecs [ 37.770996] omap_uart omap_uart.2: no wakeirq for uart2 [ 38.056243] PM: resume of devices complete after 287.841 msecs [ 38.094604] Restarting tasks ... done. root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# cat /debug/pm_debug/count usbhost_pwrdm (ON),OFF:0,RET:1421,INA:0,ON:1422,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 core_pwrdm (ON),OFF:0,RET:1,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0 per_pwrdm (ON),OFF:0,RET:1,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 dss_pwrdm (ON),OFF:0,RET:1421,INA:0,ON:1422,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 cam_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 neon_pwrdm (ON),OFF:0,RET:1421,INA:0,ON:1422,RET-LOGIC-OFF:0 mpu_pwrdm (ON),OFF:0,RET:1421,INA:0,ON:1422,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 iva2_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RET-MEMBANK4-OFF:0 usbhost_clkdm->usbhost_pwrdm (1) sgx_clkdm->sgx_pwrdm (0) per_clkdm->per_pwrdm (12) cam_clkdm->cam_pwrdm (0) dss_clkdm->dss_pwrdm (1) d2d_clkdm->core_pwrdm (0) iva2_clkdm->iva2_pwrdm (0) mpu_clkdm->mpu_pwrdm (0) core_l4_clkdm->core_pwrdm (21) core_l3_clkdm->core_pwrdm (1) neon_clkdm->neon_pwrdm (0) root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# echo mem > /sys/power/state [ 39.982788] PM: Syncing filesystems ... done. [ 40.707244] Freezing user space processes ... (elapsed 0.002 seconds) done. [ 40.713500] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done. [ 40.719909] Suspending console(s) (use no_console_suspend to debug) [ 40.846191] PM: suspend of devices complete after 116.638 msecs [ 40.852752] PM: late suspend of devices complete after 6.530 msecs [ 40.859893] PM: noirq suspend of devices complete after 7.110 msecs [ 40.859893] Disabling non-boot CPUs ... [ 40.860015] Successfully put all powerdomains to target state [ 40.864288] PM: noirq resume of devices complete after 4.180 msecs [ 40.870635] PM: early resume of devices complete after 4.852 msecs [ 40.872253] omap_uart omap_uart.2: no wakeirq for uart2 [ 41.154998] PM: resume of devices complete after 284.149 msecs [ 41.191436] Restarting tasks ... done. root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# cat /debug/pm_debug/count usbhost_pwrdm (ON),OFF:0,RET:1566,INA:0,ON:1567,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 core_pwrdm (ON),OFF:0,RET:2,INA:0,ON:3,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0 per_pwrdm (ON),OFF:0,RET:2,INA:0,ON:3,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 dss_pwrdm (ON),OFF:0,RET:1566,INA:0,ON:1567,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 cam_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 neon_pwrdm (ON),OFF:0,RET:1566,INA:0,ON:1567,RET-LOGIC-OFF:0 mpu_pwrdm (ON),OFF:0,RET:1566,INA:0,ON:1567,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 iva2_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RET-MEMBANK4-OFF:0 usbhost_clkdm->usbhost_pwrdm (1) sgx_clkdm->sgx_pwrdm (0 per_clkdm->per_pwrdm (12) cam_clkdm->cam_pwrdm (0) dss_clkdm->dss_pwrdm (1) d2d_clkdm->core_pwrdm (0) iva2_clkdm->iva2_pwrdm (0) mpu_clkdm->mpu_pwrdm (0) core_l4_clkdm->core_pwrdm (21) core_l3_clkdm->core_pwrdm (1) neon_clkdm->neon_pwrdm (0) root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# ./test_rootfs_access_nonexistent_file__ret_susp -sh: ./test_rootfs_access_nonexistent_file__ret_susp: not found root@beagleboard:~# root@beagleboard:~# %% End retention double suspend/resume UART wakeup test %% Start retention dynamic idle UART wakeup test echo 3000 > /sys/devices/platform/omap_uart.0/power/autosusp end_delay_ms root@beagleboard:~# root@beagleboard:~# echo 3000 > /sys/devices/platform/omap_uart.1/power/autosusp end_delay_ms root@beagleboard:~# root@beagleboard:~# echo 3000 > /sys/devices/platform/omap_uart.2/power/autosusp end_delay_ms root@beagleboard:~# root@beagleboard:~# echo 3000 > /sys/devices/platform/omap_uart.3/power/autosusp end_delay_ms -sh: cannot create /sys/devices/platform/omap_uart.3/power/autosuspend_delay_ms: nonexistent directory root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# cat /debug/pm_debug/count usbhost_pwrdm (ON),OFF:0,RET:1903,INA:0,ON:1904,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 core_pwrdm (ON),OFF:0,RET:42,INA:0,ON:43,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0 per_pwrdm (ON),OFF:0,RET:53,INA:0,ON:54,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 dss_pwrdm (ON),OFF:0,RET:1903,INA:0,ON:1904,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 cam_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 neon_pwrdm (ON),OFF:0,RET:1903,INA:0,ON:1904,RET-LOGIC-OFF:0 mpu_pwrdm (ON),OFF:0,RET:1903,INA:0,ON:1904,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 iva2_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RET-MEMBANK4-OFF:0 usbhost_clkdm->usbhost_pwrdm (1) sgx_clkdm->sgx_pwrdm (0) per_clkdm->per_pwrdm (12) cam_clkdm->cam_pwrdm (0) dss_clkdm->dss_pwrdm (1) d2d_clkdm->core_pwrdm (0) iva2_clkdm->iva2_pwrdm (0) mpu_clkdm->mpu_pwrdm (0) core_l4_clkdm->core_pwrdm (14) core_l3_clkdm->core_pwrdm (1) neon_clkdm->neon_pwrdm (0) root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# ./test_rootfs_access_nonexistent_file__ret_dyn -sh: ./test_rootfs_access_nonexistent_file__ret_dyn: not found root@beagleboard:~# root@beagleboard:~# echo -1 > /sys/devices/platform/omap_uart.0/power/autosuspen d_delay_ms root@beagleboard:~# root@beagleboard:~# echo -1 > /sys/devices/platform/omap_uart.1/power/autosuspen d_delay_ms root@beagleboard:~# root@beagleboard:~# echo -1 > /sys/devices/platform/omap_uart.2/power/autosuspen d_delay_ms root@beagleboard:~# root@beagleboard:~# echo -1 > /sys/devices/platform/omap_uart.3/power/autosuspen d_delay_ms -sh: cannot create /sys/devices/platform/omap_uart.3/power/autosuspend_delay_ms: nonexistent directory root@beagleboard:~# root@beagleboard:~# %% End retention dynamic idle UART wakeup test %% Start off-mode double suspend UART wakeup test echo 1 > /debug/pm_debug/enable_off_mode root@beagleboard:~# root@beagleboard:~# echo mem > /sys/power/state [ 62.883209] PM: Syncing filesystems ... done. [ 63.459686] Freezing user space processes ... (elapsed 0.003 seconds) done. [ 63.467498] Freezing remaining freezable tasks ... (elapsed 0.003 seconds) done. [ 63.475006] Suspending console(s) (use no_console_suspend to debug) [ 63.606079] PM: suspend of devices complete after 121.398 msecs [ 63.612670] PM: late suspend of devices complete after 6.530 msecs [ 63.619781] PM: noirq suspend of devices complete after 7.080 msecs [ 63.619812] Disabling non-boot CPUs ... [ 63.619934] Successfully put all powerdomains to target state [ 63.637939] PM: noirq resume of devices complete after 17.913 msecs [ 63.644500] PM: early resume of devices complete after 5.035 msecs [ 63.645935] omap_uart omap_uart.2: no wakeirq for uart2 [ 63.924835] PM: resume of devices complete after 280.181 msecs [ 63.961242] Restarting tasks ... done. root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# cat /debug/pm_debug/count usbhost_pwrdm (ON),OFF:38,RET:2119,INA:0,ON:2158,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 core_pwrdm (ON),OFF:1,RET:42,INA:0,ON:44,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0 per_pwrdm (ON),OFF:1,RET:53,INA:0,ON:55,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 dss_pwrdm (ON),OFF:38,RET:2119,INA:0,ON:2158,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 cam_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 neon_pwrdm (ON),OFF:38,RET:2119,INA:0,ON:2158,RET-LOGIC-OFF:0 mpu_pwrdm (ON),OFF:38,RET:2119,INA:0,ON:2158,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 iva2_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RET-MEMBANK4-OFF:0 usbhost_clkdm->usbhost_pwrdm (1) sgx_clkdm->sgx_pwrdm (0) per_clkdm->per_pwrdm (12) cam_clkdm->cam_pwrdm (0) dss_clkdm->dss_pwrdm (1) d2d_clkdm->core_pwrdm (0) iva2_clkdm->iva2_pwrdm (0) mpu_clkdm->mpu_pwrdm (0) core_l4_clkdm->core_pwrdm (21) core_l3_clkdm->core_pwrdm (1) neon_clkdm->neon_pwrdm (0) root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# echo mem > /sys/power/state [ 65.845275] PM: Syncing filesystems ... done. [ 66.567840] Freezing user space processes ... (elapsed 0.003 seconds) done. [ 66.575622] Freezing remaining freezable tasks ... (elapsed 0.003 seconds) done. [ 66.583282] Suspending console(s) (use no_console_suspend to debug) [ 66.715911] PM: suspend of devices complete after 122.985 msecs [ 66.722473] PM: late suspend of devices complete after 6.530 msecs [ 66.729583] PM: noirq suspend of devices complete after 7.110 msecs [ 66.729614] Disabling non-boot CPUs ... [ 66.729736] Successfully put all powerdomains to target state [ 66.747741] PM: noirq resume of devices complete after 17.913 msecs [ 66.754302] PM: early resume of devices complete after 5.035 msecs [ 66.755737] omap_uart omap_uart.2: no wakeirq for uart2 [ 67.034637] PM: resume of devices complete after 280.181 msecs [ 67.071014] Restarting tasks ... done. root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# cat /debug/pm_debug/count usbhost_pwrdm (ON),OFF:95,RET:2119,INA:0,ON:2215,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 core_pwrdm (ON),OFF:2,RET:42,INA:0,ON:45,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0 per_pwrdm (ON),OFF:2,RET:53,INA:0,ON:56,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 dss_pwrdm (ON),OFF:95,RET:2119,INA:0,ON:2215,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 cam_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 neon_pwrdm (ON),OFF:95,RET:2119,INA:0,ON:2215,RET-LOGIC-OFF:0 mpu_pwrdm (ON),OFF:95,RET:2119,INA:0,ON:2215,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 iva2_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RET-MEMBANK4-OFF:0 usbhost_clkdm->usbhost_pwrdm (1) sgx_clkdm->sgx_pwrdm (0) per_clkdm->per_pwrdm (12) cam_clkdm->cam_pwrdm (0) dss_clkdm->dss_pwrdm (1) d2d_clkdm->core_pwrdm (0) iva2_clkdm->iva2_pwrdm (0) mpu_clkdm->mpu_pwrdm (0) core_l4_clkdm->core_pwrdm (21) core_l3_clkdm->core_pwrdm (1) neon_clkdm->neon_pwrdm (0) root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# ./test_rootfs_access_nonexistent_file__off_susp -sh: ./test_rootfs_access_nonexistent_file__off_susp: not found root@beagleboard:~# root@beagleboard:~# %% End off-mode double suspend UART wakeup test %% Start off-mode dynamic idle UART wakeup test echo 3000 > /sys/devices/platform/omap_uart.0/power/autosusp end_delay_ms root@beagleboard:~# root@beagleboard:~# echo 3000 > /sys/devices/platform/omap_uart.1/power/autosusp end_delay_ms root@beagleboard:~# root@beagleboard:~# echo 3000 > /sys/devices/platform/omap_uart.2/power/autosusp end_delay_ms root@beagleboard:~# root@beagleboard:~# echo 3000 > /sys/devices/platform/omap_uart.3/power/autosusp end_delay_ms -sh: cannot create /sys/devices/platform/omap_uart.3/power/autosuspend_delay_ms: nonexistent directory root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# cat /debug/pm_debug/count usbhost_pwrdm (ON),OFF:274,RET:2119,INA:0,ON:2394,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 core_pwrdm (ON),OFF:30,RET:42,INA:0,ON:73,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0 per_pwrdm (ON),OFF:34,RET:53,INA:0,ON:88,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 dss_pwrdm (ON),OFF:274,RET:2119,INA:0,ON:2394,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 cam_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 neon_pwrdm (ON),OFF:274,RET:2119,INA:0,ON:2394,RET-LOGIC-OFF:0 mpu_pwrdm (ON),OFF:274,RET:2119,INA:0,ON:2394,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0 iva2_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RET-MEMBANK4-OFF:0 usbhost_clkdm->usbhost_pwrdm (1) sgx_clkdm->sgx_pwrdm (0) per_clkdm->per_pwrdm (12) cam_clkdm->cam_pwrdm (0) dss_clkdm->dss_pwrdm (1) d2d_clkdm->core_pwrdm (0) iva2_clkdm->iva2_pwrdm (0) mpu_clkdm->mpu_pwrdm (0) core_l4_clkdm->core_pwrdm (14) core_l3_clkdm->core_pwrdm (1) neon_clkdm->neon_pwrdm (0) root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# root@beagleboard:~# ./test_rootfs_access_nonexistent_file__off_dyn -sh: ./test_rootfs_access_nonexistent_file__off_dyn: not found root@beagleboard:~# root@beagleboard:~# %% End off-mode dynamic idle UART wakeup test %% End PM consolidated quick test