Suspend/Resume questions
I'm using the current PM branch (2.6.28-rc8, revision 2beb9b4b) to investigate power consumption on an OMAP35x board (Logic's LV SOM).
When I:
# mount -t vfat /dev/mmc0blkp1 /mnt/sdcard # echo mem > /sys/power/state PM: Syncing filesystems ... done. Freezing user space processes ... (elapsed 0.00 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done. omapfb omapfb: timeout waiting for FRAME DONE mmc0: card 133b removed MMC: killing requests for dead queue cpufreq: suspend failed to assert current frequency is what timing core thinks it is. Powerdomain (iva2_pwrdm) didn't enter target state 1 Powerdomain (core_pwrdm) didn't enter target state 1 Powerdomain (per_pwrdm) didn't enter target state 1 Could not enter target state in pm_suspend cpufreq: resume failed to assert current frequency is what timing core thinks it is.
eth0: link down
soc-audio soc-audio: scheduling resume work Restarting tasks ...
soc-audio soc-audio: starting resume work soc-audio soc-audio: resume work completed done.
omap3530# mmc0: new high speed SD card at address 133b
mmcblk1: mmc0:133b SD02G 1.91 GiB
mmcblk1: p1
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
omap3530# ls -l /dev/mmcblk0*
ls: /dev/mmcblk0*: No such file or directory
omap3530#
1) Is "echo mem > /sys/power/state" the proper method to put the board into suspend?
2) Why does the MMC "move" from /dev/mmcblk0 before the suspend to /dev/mmcblk1 after the suspend? (If the card is not mounted, it doesn't "move").
3) Any ideas why the iva2, core, per power domains not change states to PWRDM_POWER_RET? Any way to find out?
4) Any suggestions on how to code the power button (attached to TWL4030 PWRON pin) to wake it back up again?
Thanks in advance!
Signature · 1 line
Peter Barada <[email protected]>
Op 12 jan 2009, om 18:11 heeft Peter Barada het volgende geschreven:
Quoted 38 lines
I'm using the current PM branch (2.6.28-rc8, revision
2beb9b4b) to investigate power consumption on an OMAP35x board (Logic's LV SOM).When I:
# mount -t vfat /dev/mmc0blkp1 /mnt/sdcard # echo mem > /sys/power/state PM: Syncing filesystems ... done. Freezing user space processes ... (elapsed 0.00 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done. omapfb omapfb: timeout waiting for FRAME DONE mmc0: card 133b removed MMC: killing requests for dead queue cpufreq: suspend failed to assert current frequency is what timing core thinks it is. Powerdomain (iva2_pwrdm) didn't enter target state 1 Powerdomain (core_pwrdm) didn't enter target state 1 Powerdomain (per_pwrdm) didn't enter target state 1 Could not enter target state in pm_suspend cpufreq: resume failed to assert current frequency is what timing core thinks it is.eth0: link down
soc-audio soc-audio: scheduling resume work Restarting tasks ...
soc-audio soc-audio: starting resume work soc-audio soc-audio: resume work completed done.
omap3530# mmc0: new high speed SD card at address 133b
mmcblk1: mmc0:133b SD02G 1.91 GiB
mmcblk1: p1
eth0: link up, 100Mbps, full-duplex, lpa0x45E1omap3530# ls -l
/dev/mmcblk0*
ls:/dev/mmcblk0*: No such file or directory
omap3530#
Quoted 6 lines
1) Is "echo mem >
/sys/power/state" the proper method to put the board into suspend?2) Why does the MMC "move" from
/dev/mmcblk0before the suspend to/dev/mmcblk1after the suspend? (If the card is not mounted, it doesn't "move").
Do you have CONFIG_MMC_UNSAFE_RESUME=y in your .config? It's basically always needed if you suspend a mounted filesystem on MMC/SD.
regards,
Koen
Quoted 1 line
Quoted 44 lines · Koen Kooi
Op 12 jan 2009, om 18:11 heeft Peter Barada het volgende geschreven:
Quoted 42 lines
I'm using the current PM branch (2.6.28-rc8, revision
2beb9b4b) to investigate power consumption on an OMAP35x board (Logic's LV SOM).When I:
# mount -t vfat /dev/mmc0blkp1 /mnt/sdcard # echo mem > /sys/power/state PM: Syncing filesystems ... done. Freezing user space processes ... (elapsed 0.00 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done. omapfb omapfb: timeout waiting for FRAME DONE mmc0: card 133b removed MMC: killing requests for dead queue cpufreq: suspend failed to assert current frequency is what timing core thinks it is. Powerdomain (iva2_pwrdm) didn't enter target state 1 Powerdomain (core_pwrdm) didn't enter target state 1 Powerdomain (per_pwrdm) didn't enter target state 1 Could not enter target state in pm_suspend cpufreq: resume failed to assert current frequency is what timing core thinks it is.eth0: link down
soc-audio soc-audio: scheduling resume work Restarting tasks ...
soc-audio soc-audio: starting resume work soc-audio soc-audio: resume work completed done.
omap3530# mmc0: new high speed SD card at address 133b
mmcblk1: mmc0:133b SD02G 1.91 GiB
mmcblk1: p1
eth0: link up, 100Mbps, full-duplex, lpa0x45E1omap3530# ls -l
/dev/mmcblk0*
ls:/dev/mmcblk0*: No such file or directory
omap3530#1) Is "echo mem >
/sys/power/state" the proper method to put the board into suspend?
Quoted 6 lines
Quoted 3 lines
2) Why does the MMC "move" from
/dev/mmcblk0before the suspend to/dev/mmcblk1after the suspend? (If the card is not mounted, it doesn't "move").Do you have
CONFIG_MMC_UNSAFE_RESUME=yin your .config? It's basically always needed if you suspend a mounted filesystem on MMC/SD.
(Dang HTML encoding bounced my last message, resending in plaintext).
Well, dip me in paint and color me pink - thanks, that works great!
Any ideas on my other question (i.e. how to code to get PWRON pin of the TWL4030 to bring it out of suspend)?
Quoted 5 lines
regards,
Koen
Quoted 1 line
Signature · 1 line
Peter Barada <[email protected]>
Peter,
Some suggestions below...
Quoted 2 lines · Peter Barada
I'm using the current PM branch (2.6.28-rc8, revision
2beb9b4b) to investigate power consumption on an OMAP35x board (Logic's LV SOM).
First, thanks for testing the PM branch. Much appreciated!
Quoted 30 lines
When I:
# mount -t vfat /dev/mmc0blkp1 /mnt/sdcard # echo mem > /sys/power/state PM: Syncing filesystems ... done. Freezing user space processes ... (elapsed 0.00 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done. omapfb omapfb: timeout waiting for FRAME DONE mmc0: card 133b removed MMC: killing requests for dead queue cpufreq: suspend failed to assert current frequency is what timing core thinks it is. Powerdomain (iva2_pwrdm) didn't enter target state 1 Powerdomain (core_pwrdm) didn't enter target state 1 Powerdomain (per_pwrdm) didn't enter target state 1 Could not enter target state in pm_suspend cpufreq: resume failed to assert current frequency is what timing core thinks it is.eth0: link down
soc-audio soc-audio: scheduling resume work Restarting tasks ...
soc-audio soc-audio: starting resume work soc-audio soc-audio: resume work completed done.
omap3530# mmc0: new high speed SD card at address 133b
mmcblk1: mmc0:133b SD02G 1.91 GiB
mmcblk1: p1
eth0: link up, 100Mbps, full-duplex, lpa0x45E1
Quoted 6 lines
omap3530# ls -l
/dev/mmcblk0*
ls:/dev/mmcblk0*: No such file or directory
omap3530#1) Is "echo mem >
/sys/power/state" the proper method to put the board into suspend?
Yes.
Quoted 6 lines
2) Why does the MMC "move" from
/dev/mmcblk0before the suspend to/dev/mmcblk1after the suspend? (If the card is not mounted, it doesn't "move").3) Any ideas why the iva2, core, per power domains not change states to
PWRDM_POWER_RET? Any way to find out?
Unfortunately, there's currently no easy way other than looking through the PM registers themselves. However, in your case, I think I know what is going on.
IVA2 is not hitting RET most likely because the bootloader powers it on but the kernel doesn't do anything with it. The latest PM branch (just announced) has a patch to ensure that IVA2 is put into RET during bootup. Could you try it?
For CORE and PER these are likely because the UART clocks console are keeping these domains active. If you
# echo 1 > /sys/power/clocks_off_while_idle
then the UART clocks will be disabled in idle or suspend allowing those domains to hit retention.
If this still isn't working, can you enable CONFIG_PM_DEBUG and CONFIG_DEBUG_FS and send me the output of 'cat /debug/pm_debug/count' just after bootup.
Kevin
Quoted 11 lines
4) Any suggestions on how to code the power button (attached to TWL4030 PWRON pin) to wake it back up again?
Thanks in advance!
Signature · 5 lines
Peter Barada <[email protected]> -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html