Hello,
I've complied the kernel from source code which downloaded from freescale's i.mx51 web site. compiled using ltib, striped the kernel down only to the essentials ( +included all the power management parts).
It seems to work fine,
but when I switch to STOP mode by using : echo mem > /sys/power/state
or WAIT mode by using : echo standby > /sys/power/state
and then pressing the power button to return to RUN mode, I'm getting times which are much higher then expected
for RUN -> STOP -> RUN
"
root@freescale /home/user$ echo mem > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
keup
PM: suspend of devices complete after 2.787 msecs
PM: late suspend of devices complete after 0.871 msecs
PM: early resume of devices complete after 0.890 msecs
<6>PWR key pressed
PM: resume of devices complete after 284.410 msecs
Restarting tasks ... done.
"
for RUN -> WAIT -> RUN
"
root@freescale /home/user$ echo standby > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
keup
PM: suspend of devices complete after 2.760 msecs
PM: late suspend of devices complete after 0.872 msecs
PM: early resume of devices complete after 0.691 msecs
<6>PWR key pressed
PM: resume of devices complete after 185.325 msecs
Restarting tasks ... done.
"
According to "i.MX51 EVK Supply Current Measurements" page 17 ("Comparison between Power Consumption and Exit Time in Low Power Modes") the times should be around 115 micro second (and not mili second).
P.S
I found this while searching : [PATCHv2 1/2] ARM: mx51: Implement code to allow mx51 to enter WFI
The subject was different, but this guy got completely different results then I me when returning to RUN from STOP...
I was wondering what might have caused this huge time difference and how could I achieve a return to active time which is in the micro second and not mili second...
Many thanks in advance,
Hi, bergo
The hardware flow of enter/exit STOP/WAIT mode should be serverl micro seconds only, I guess the most time delay is caused by module resume, so can you try to dump each modules resume time? See below command, I tried it on v3.0.35 i.MX6DL, not sure whether old linux kernel have same option, but it is no harm to try it, after adding below command before you echo mem or standby into /sys/power/state, it will print out all the module that resume takes more than the threshold we set, below command is to set the threshold to 10us.
echo 10 > /sys/power/device_suspend_time_threshold
echo mem > /sys/power/state
Hi Ragan & Grant,
The results I was getting are while using i.mx51 EVK ("babbage")...
I didn't succeed in getting better times then what I posted back then, you guys have any similar experience or input?
hello i am using i.mx53qsb to i.mx53board also touchscreen calibration is not coming touch is not working
after booting on the console i am able to see
request_suspend_state: mem (0->3) at 76191492451 (1970-01-02 00:01:06.947905323 UTC)
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
after this message screen completely not showing what is the problem
Are you using the EVK or a different board? Do you get the same results with the default config?
Bergo, any more input and did you fix your problem?