linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* SYS_OFF_MODE signaling and CORE domain Transition to OFF Mode
@ 2010-09-22 22:18 Laine Walker-Avina
  2010-09-23 18:05 ` Kevin Hilman
  0 siblings, 1 reply; 3+ messages in thread
From: Laine Walker-Avina @ 2010-09-22 22:18 UTC (permalink / raw)
  To: linux-omap

Hi all,

I'm having some troubles putting my OMAP3503(the one without the DSP
or SGX modules) board to sleep. I'm using the current master on the
l-o git repository.

This is the output from dmesg and the count file after suspending
twice. The first time it wakes immediately after going down, and the
second time stays asleep but says that the core domain didn't enter
OFF mode. In either case, the SYS_OFF_MODE signal never asserts. I
added some debug code into  map_sram_idle() to capture CM_CORE_IDLEST1
and 3 right before it jumps to the final sleep code in SRAM.

root@spark:~$ echo mem > /sys/power/state
[  530.299621] PM: Syncing filesystems ... done.
[  530.307556] PM: Preparing system for mem sleep
[  530.313995] PM: Adding info for No Bus:vcs63
[  530.317504] PM: Adding info for No Bus:vcsa63
[  530.353698] mmc0: card bed5 removed
[  530.357238] PM: Removing info for mmc:mmc0:bed5
[  530.369903] PM: Removing info for No Bus:mmcblk0p2
[  530.401275] PM: Removing info for No Bus:mmcblk0p1
[  530.409484] PM: Removing info for No Bus:179:0
[  530.445098] PM: Removing info for No Bus:mmcblk0
[  530.488220] ------------[ cut here ]------------
[  530.493255] WARNING: at drivers/regulator/core.c:1357
_regulator_disable+0x54/0x164()
[  530.501312] unbalanced disables for vMMC
[  530.505279] Modules linked in:
[  530.508605] [<c0237960>] (unwind_backtrace+0x0/0xf0) from
[<c025ae10>] (warn_slowpath_common+0x4c/0x64)
[  530.518310] [<c025ae10>] (warn_slowpath_common+0x4c/0x64) from
[<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c)
[  530.528167] [<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c) from
[<c03b9b40>] (_regulator_disable+0x54/0x164)
[  530.537902] [<c03b9b40>] (_regulator_disable+0x54/0x164) from
[<c03b9d3c>] (regulator_disable+0x20/0x34)
[  530.547668] [<c03b9d3c>] (regulator_disable+0x20/0x34) from
[<c042d158>] (omap_hsmmc_1_set_power+0x64/0xa0)
[  530.557678] [<c042d158>] (omap_hsmmc_1_set_power+0x64/0xa0) from
[<c042bd00>] (omap_hsmmc_set_ios+0x70/0x410)
[  530.567840] [<c042bd00>] (omap_hsmmc_set_ios+0x70/0x410) from
[<c0422144>] (mmc_power_off+0x50/0x54)
[  530.577270] [<c0422144>] (mmc_power_off+0x50/0x54) from
[<c0422b88>] (mmc_detach_bus+0x74/0xbc)
[  530.586212] [<c0422b88>] (mmc_detach_bus+0x74/0xbc) from
[<c04231d4>] (mmc_pm_notify+0x90/0xd8)
[  530.595184] [<c04231d4>] (mmc_pm_notify+0x90/0xd8) from
[<c0277954>] (notifier_call_chain+0x2c/0x70)
[  530.604614] [<c0277954>] (notifier_call_chain+0x2c/0x70) from
[<c0277db0>] (__blocking_notifier_call_chain+0x48/0x5c)
[  530.615509] [<c0277db0>] (__blocking_notifier_call_chain+0x48/0x5c)
from [<c0277dd8>] (blocking_notifier_call_chain+0x14/0x18)
[  530.627197] [<c0277dd8>] (blocking_notifier_call_chain+0x14/0x18)
from [<c028ec1c>] (pm_notifier_call_chain+0x14/0x2c)
[  530.638183] [<c028ec1c>] (pm_notifier_call_chain+0x14/0x2c) from
[<c028f448>] (enter_state+0x7c/0x120)
[  530.647766] [<c028f448>] (enter_state+0x7c/0x120) from [<c028eb80>]
(state_store+0xa0/0xbc)
[  530.656402] [<c028eb80>] (state_store+0xa0/0xbc) from [<c0393e08>]
(kobj_attr_store+0x18/0x1c)
[  530.665283] [<c0393e08>] (kobj_attr_store+0x18/0x1c) from
[<c0309244>] (sysfs_write_file+0x10c/0x140)
[  530.674774] [<c0309244>] (sysfs_write_file+0x10c/0x140) from
[<c02c09e4>] (vfs_write+0xac/0x134)
[  530.683837] [<c02c09e4>] (vfs_write+0xac/0x134) from [<c02c0b18>]
(sys_write+0x3c/0x68)
[  530.692077] [<c02c0b18>] (sys_write+0x3c/0x68) from [<c0231f40>]
(ret_fast_syscall+0x0/0x3c)
[  530.700744] ---[ end trace 7a172f77f33931a3 ]---
[  530.814514] Freezing user space processes ... (elapsed 0.01 seconds) done.
[  530.839202] Freezing remaining freezable tasks ... (elapsed 0.02
seconds) done.
[  530.870666] PM: Entering mem sleep
[  530.874908] Suspending console(s) (use no_console_suspend to debug)
[  530.881652] platform reg-dummy: preparing suspend
[  530.881866] omapdss omapdss: preparing suspend
[  530.881927] reg-fixed-voltage reg-fixed-voltage.1: preparing suspend
[  530.881988] nop_usb_xceiv nop_usb_xceiv: preparing suspend
[  530.882049] serial8250 serial8250.0: preparing suspend
[  530.882110] serial8250 serial8250.1: preparing suspend
[  530.882141] serial8250 serial8250.2: preparing suspend
[  530.882202] musb_hdrc musb_hdrc: preparing suspend
[  530.882263] mmci-omap-hs mmci-omap-hs.0: preparing suspend
[  530.882324] mmci-omap-hs mmci-omap-hs.1: preparing suspend
[  530.882354] platform arm-pmu.0: preparing suspend
[  530.882415] omapfb omapfb: preparing suspend
[  530.884063] platform mpu.0: preparing suspend
[  530.884124] platform iva.0: preparing suspend
[  530.884185] platform l3_main.0: preparing suspend
[  530.884277] serial8250 serial8250: preparing suspend
[  530.885833] mmcblk mmc1:0001: legacy suspend
[  530.887176] serial8250 serial8250: suspend
[  530.887298] platform l3_main.0: suspend
[  530.887390] platform iva.0: suspend
[  530.887451] platform mpu.0: suspend
[  530.889007] omapfb omapfb: suspend
[  530.889068] platform arm-pmu.0: suspend
[  530.889129] mmci-omap-hs mmci-omap-hs.1: suspend
[  530.890258] ------------[ cut here ]------------
[  530.890350] WARNING: at drivers/regulator/core.c:1357
_regulator_disable+0x54/0x164()
[  530.890350] unbalanced disables for dummy
[  530.890380] Modules linked in:
[  530.890472] [<c0237960>] (unwind_backtrace+0x0/0xf0) from
[<c025ae10>] (warn_slowpath_common+0x4c/0x64)
[  530.890502] [<c025ae10>] (warn_slowpath_common+0x4c/0x64) from
[<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c)
[  530.890563] [<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c) from
[<c03b9b40>] (_regulator_disable+0x54/0x164)
[  530.890625] [<c03b9b40>] (_regulator_disable+0x54/0x164) from
[<c03b9d3c>] (regulator_disable+0x20/0x34)
[  530.890655] [<c03b9d3c>] (regulator_disable+0x20/0x34) from
[<c042d0b8>] (omap_hsmmc_23_set_power+0xb4/0xf0)
[  530.890686] [<c042d0b8>] (omap_hsmmc_23_set_power+0xb4/0xf0) from
[<c042bd00>] (omap_hsmmc_set_ios+0x70/0x410)
[  530.890930] [<c042bd00>] (omap_hsmmc_set_ios+0x70/0x410) from
[<c0422144>] (mmc_power_off+0x50/0x54)
[  530.890991] [<c0422144>] (mmc_power_off+0x50/0x54) from
[<c0422ad0>] (mmc_suspend_host+0x128/0x134)
[  530.891052] [<c0422ad0>] (mmc_suspend_host+0x128/0x134) from
[<c042b69c>] (omap_hsmmc_suspend+0x60/0x108)
[  530.891113] [<c042b69c>] (omap_hsmmc_suspend+0x60/0x108) from
[<c03dd21c>] (platform_pm_suspend+0x2c/0x54)
[  530.891143] [<c03dd21c>] (platform_pm_suspend+0x2c/0x54) from
[<c03df918>] (pm_op+0x4c/0xb4)
[  530.891204] [<c03df918>] (pm_op+0x4c/0xb4) from [<c03e0490>]
(__device_suspend+0x140/0x1c0)
[  530.891235] [<c03e0490>] (__device_suspend+0x140/0x1c0) from
[<c03e08c4>] (dpm_suspend_start+0x368/0x49c)
[  530.891296] [<c03e08c4>] (dpm_suspend_start+0x368/0x49c) from
[<c028f214>] (suspend_devices_and_enter+0x48/0x200)
[  530.891357] [<c028f214>] (suspend_devices_and_enter+0x48/0x200)
from [<c028f488>] (enter_state+0xbc/0x120)
[  530.891387] [<c028f488>] (enter_state+0xbc/0x120) from [<c028eb80>]
(state_store+0xa0/0xbc)
[  530.891448] [<c028eb80>] (state_store+0xa0/0xbc) from [<c0393e08>]
(kobj_attr_store+0x18/0x1c)
[  530.891479] [<c0393e08>] (kobj_attr_store+0x18/0x1c) from
[<c0309244>] (sysfs_write_file+0x10c/0x140)
[  530.891540] [<c0309244>] (sysfs_write_file+0x10c/0x140) from
[<c02c09e4>] (vfs_write+0xac/0x134)
[  530.891571] [<c02c09e4>] (vfs_write+0xac/0x134) from [<c02c0b18>]
(sys_write+0x3c/0x68)
[  530.891632] [<c02c0b18>] (sys_write+0x3c/0x68) from [<c0231f40>]
(ret_fast_syscall+0x0/0x3c)
[  530.891662] ---[ end trace 7a172f77f33931a4 ]---
[  530.891815] mmci-omap-hs mmci-omap-hs.0: suspend
[  530.892517] musb_hdrc musb_hdrc: suspend
[  530.892852] serial8250 serial8250.2: suspend
[  530.893707] serial8250 serial8250.1: suspend
[  530.893829] serial8250 serial8250.0: suspend
[  530.893920] nop_usb_xceiv nop_usb_xceiv: suspend
[  530.893981] reg-fixed-voltage reg-fixed-voltage.1: suspend
[  530.894042] omapdss omapdss: suspend
[  530.907653] ------------[ cut here ]------------
[  530.907745] WARNING: at drivers/regulator/core.c:1357
_regulator_disable+0x54/0x164()
[  530.907745] unbalanced disables for dummy
[  530.907775] Modules linked in:
[  530.907836] [<c0237960>] (unwind_backtrace+0x0/0xf0) from
[<c025ae10>] (warn_slowpath_common+0x4c/0x64)
[  530.907897] [<c025ae10>] (warn_slowpath_common+0x4c/0x64) from
[<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c)
[  530.907958] [<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c) from
[<c03b9b40>] (_regulator_disable+0x54/0x164)
[  530.907989] [<c03b9b40>] (_regulator_disable+0x54/0x164) from
[<c03b9d3c>] (regulator_disable+0x20/0x34)
[  530.908050] [<c03b9d3c>] (regulator_disable+0x20/0x34) from
[<c03b2060>] (omapdss_dpi_display_disable+0x2c/0x3c)
[  530.908111] [<c03b2060>] (omapdss_dpi_display_disable+0x2c/0x3c)
from [<c03b769c>] (generic_panel_suspend+0xc/0x1c)
[  530.908142] [<c03b769c>] (generic_panel_suspend+0xc/0x1c) from
[<c03af0c0>] (dss_suspend_device+0x44/0x54)
[  530.908203] [<c03af0c0>] (dss_suspend_device+0x44/0x54) from
[<c03dbaa8>] (bus_for_each_dev+0x48/0x84)
[  530.908233] [<c03dbaa8>] (bus_for_each_dev+0x48/0x84) from
[<c03af21c>] (dss_suspend_all_devices+0x18/0x30)
[  530.908294] [<c03af21c>] (dss_suspend_all_devices+0x18/0x30) from
[<c03dd238>] (platform_pm_suspend+0x48/0x54)
[  530.908325] [<c03dd238>] (platform_pm_suspend+0x48/0x54) from
[<c03df918>] (pm_op+0x4c/0xb4)
[  530.908386] [<c03df918>] (pm_op+0x4c/0xb4) from [<c03e0490>]
(__device_suspend+0x140/0x1c0)
[  530.908416] [<c03e0490>] (__device_suspend+0x140/0x1c0) from
[<c03e08c4>] (dpm_suspend_start+0x368/0x49c)
[  530.908477] [<c03e08c4>] (dpm_suspend_start+0x368/0x49c) from
[<c028f214>] (suspend_devices_and_enter+0x48/0x200)
[  530.908538] [<c028f214>] (suspend_devices_and_enter+0x48/0x200)
from [<c028f488>] (enter_state+0xbc/0x120)
[  530.908569] [<c028f488>] (enter_state+0xbc/0x120) from [<c028eb80>]
(state_store+0xa0/0xbc)
[  530.908599] [<c028eb80>] (state_store+0xa0/0xbc) from [<c0393e08>]
(kobj_attr_store+0x18/0x1c)
[  530.908660] [<c0393e08>] (kobj_attr_store+0x18/0x1c) from
[<c0309244>] (sysfs_write_file+0x10c/0x140)
[  530.908721] [<c0309244>] (sysfs_write_file+0x10c/0x140) from
[<c02c09e4>] (vfs_write+0xac/0x134)
[  530.908752] [<c02c09e4>] (vfs_write+0xac/0x134) from [<c02c0b18>]
(sys_write+0x3c/0x68)
[  530.908782] [<c02c0b18>] (sys_write+0x3c/0x68) from [<c0231f40>]
(ret_fast_syscall+0x0/0x3c)
[  530.908813] ---[ end trace 7a172f77f33931a5 ]---
[  530.909088] platform reg-dummy: suspend
[  530.909393] PM: suspend of devices complete after 23.890 msecs
[  530.910949] serial8250 serial8250: LATE suspend
[  530.910980] platform l3_main.0: LATE suspend
[  530.911010] platform iva.0: LATE suspend
[  530.911041] platform mpu.0: LATE suspend
[  530.911132] omapfb omapfb: LATE suspend
[  530.911163] platform arm-pmu.0: LATE suspend
[  530.911163] mmci-omap-hs mmci-omap-hs.1: LATE suspend
[  530.911193] mmci-omap-hs mmci-omap-hs.0: LATE suspend
[  530.911224] musb_hdrc musb_hdrc: LATE suspend
[  530.911224] serial8250 serial8250.2: LATE suspend
[  530.911254] serial8250 serial8250.1: LATE suspend
[  530.911285] serial8250 serial8250.0: LATE suspend
[  530.911285] nop_usb_xceiv nop_usb_xceiv: LATE suspend
[  530.911315] reg-fixed-voltage reg-fixed-voltage.1: LATE suspend
[  530.911346] omapdss omapdss: LATE suspend
[  530.911376] platform reg-dummy: LATE suspend
[  530.911407] PM: late suspend of devices complete after 1.983 msecs
[  530.918731] sdrc_pwr before:00000009 now:00000129
[  530.918792] core idlest1:ffffffbd idlest3:0000000d
[  530.918823] Successfully put all powerdomains to target state
[  530.919464] platform reg-dummy: EARLY resume
[  530.919555] omapdss omapdss: EARLY resume
[  530.919616] reg-fixed-voltage reg-fixed-voltage.1: EARLY resume
[  530.919647] nop_usb_xceiv nop_usb_xceiv: EARLY resume
[  530.919677] serial8250 serial8250.0: EARLY resume
[  530.919708] serial8250 serial8250.1: EARLY resume
[  530.919738] serial8250 serial8250.2: EARLY resume
[  530.919769] musb_hdrc musb_hdrc: EARLY resume
[  530.920104] mmci-omap-hs mmci-omap-hs.0: EARLY resume
[  530.920166] mmci-omap-hs mmci-omap-hs.1: EARLY resume
[  530.920196] platform arm-pmu.0: EARLY resume
[  530.920227] omapfb omapfb: EARLY resume
[  530.920440] platform mpu.0: EARLY resume
[  530.920471] platform iva.0: EARLY resume
[  530.920501] platform l3_main.0: EARLY resume
[  530.920562] serial8250 serial8250: EARLY resume
[  530.920745] PM: early resume of devices complete after 1.342 msecs
[  530.920898] irqstatus 00000200
[  530.921783] platform reg-dummy: resume
[  530.922119] omapdss omapdss: resume
[  530.924804] reg-fixed-voltage reg-fixed-voltage.1: resume
[  530.924926] nop_usb_xceiv nop_usb_xceiv: resume
[  530.925048] serial8250 serial8250.0: resume
[  530.925201] serial8250 serial8250.1: resume
[  530.925354] serial8250 serial8250.2: resume
[  530.929779] musb_hdrc musb_hdrc: resume
[  530.929901] mmci-omap-hs mmci-omap-hs.0: resume
[  530.930389] mmci-omap-hs mmci-omap-hs.1: resume
[  530.954437] sdrc_pwr before:00000129 now:00000169
[  530.954467] core idlest1:fcffff9d idlest3:0000000d
[  530.954772] irqstatus 00000001
[  530.977600] sdrc_pwr before:00000169 now:00000169
[  530.977630] core idlest1:fcffff9d idlest3:0000000d
[  530.977935] irqstatus 00000001
[  530.985565] sdrc_pwr before:00000169 now:00000129
[  530.985595] core idlest1:fcffff9d idlest3:0000000d
[  531.008850] sdrc_pwr before:00000129 now:00000169
[  531.008880] core idlest1:fcffff9d idlest3:0000000d
[  531.009185] irqstatus 00000001
[  531.013275] sdrc_pwr before:00000169 now:00000129
[  531.013336] core idlest1:fcffff9d idlest3:0000000d
[  531.032196] sdrc_pwr before:00000129 now:00000169
[  531.032257] core idlest1:fcffff9d idlest3:0000000d
[  531.032562] irqstatus 00000001
[  531.036834] sdrc_pwr before:00000169 now:00000129
[  531.036895] core idlest1:fdffff9d idlest3:0000000d
[  531.040924] sdrc_pwr before:00000129 now:00000129
[  531.040954] core idlest1:fdffff9d idlest3:0000000d
[  531.045043] sdrc_pwr before:00000129 now:00000129
[  531.045074] core idlest1:fdffff9d idlest3:0000000d
[  531.049133] sdrc_pwr before:00000129 now:00000129
[  531.049163] core idlest1:fdffff9d idlest3:0000000d
[  531.053253] sdrc_pwr before:00000129 now:00000129
[  531.053283] core idlest1:fdffff9d idlest3:0000000d
[  531.057312] sdrc_pwr before:00000129 now:00000129
[  531.057342] core idlest1:fdffff9d idlest3:0000000d
[  531.071166] sdrc_pwr before:00000129 now:00000169
[  531.071228] core idlest1:fdffff9d idlest3:0000000d
[  531.071533] irqstatus 00000001
[  531.075683] sdrc_pwr before:00000169 now:00000129
[  531.075744] core idlest1:fdffff9d idlest3:0000000d
[  531.076324] platform arm-pmu.0: resume
[  531.076477] omapfb omapfb: resume
[  531.078826] platform mpu.0: resume
[  531.078948] platform iva.0: resume
[  531.079040] platform l3_main.0: resume
[  531.079193] serial8250 serial8250: resume
[  531.080657] mmcblk mmc1:0001: legacy resume
[  531.081298] PM: resume of devices complete after 160.002 msecs
[  531.082885] serial8250 serial8250: completing resume
[  531.083007] platform l3_main.0: completing resume
[  531.083099] platform iva.0: completing resume
[  531.083160] platform mpu.0: completing resume
[  531.085083] omapfb omapfb: completing resume
[  531.085144] platform arm-pmu.0: completing resume
[  531.085235] mmci-omap-hs mmci-omap-hs.1: completing resume
[  531.085296] mmci-omap-hs mmci-omap-hs.0: completing resume
[  531.085388] musb_hdrc musb_hdrc: completing resume
[  531.085784] serial8250 serial8250.2: completing resume
[  531.085906] serial8250 serial8250.1: completing resume
[  531.085998] serial8250 serial8250.0: completing resume
[  531.086059] nop_usb_xceiv nop_usb_xceiv: completing resume
[  531.086151] reg-fixed-voltage reg-fixed-voltage.1: completing resume
[  531.086212] omapdss omapdss: completing resume
[  531.086486] platform reg-dummy: completing resume
[  532.160278] PM: Finishing wakeup.
[  532.163970] Restarting tasks ... done.
root@spark:~$ [  532.402130] mmc0: host does not support reading
read-only switch. assuming write-enable.
[  532.410980] mmc0: new SD card at address bed5
[  532.416748] PM: Adding info for mmc:mmc0:bed5
[  532.430267] mmcblk0: mmc0:bed5 SU02G 1.84 GiB
[  532.436187] PM: Adding info for No Bus:mmcblk0
[  532.453125]  mmcblk0: p1 p2
[  532.457611] PM: Adding info for No Bus:mmcblk0p1
[  532.464080] PM: Adding info for No Bus:mmcblk0p2
[  532.503845] PM: Adding info for No Bus:179:0
root@spark:~$ devmem 0x48307260
0x0000000C
root@spark:~$ echo mem > /sys/power/state
[  558.495269] PM: Syncing filesystems ... done.
[  558.500610] PM: Preparing system for mem sleep
[  558.506378] mmc0: card bed5 removed
[  558.510253] PM: Removing info for mmc:mmc0:bed5
[  558.516632] PM: Removing info for No Bus:mmcblk0p2
[  558.526306] PM: Removing info for No Bus:mmcblk0p1
[  558.547790] PM: Removing info for No Bus:179:0
[  558.579101] PM: Removing info for No Bus:mmcblk0
[  558.620605] ------------[ cut here ]------------
[  558.625854] WARNING: at drivers/regulator/core.c:1357
_regulator_disable+0x54/0x164()
[  558.634063] unbalanced disables for vMMC
[  558.638031] Modules linked in:
[  558.641540] [<c0237960>] (unwind_backtrace+0x0/0xf0) from
[<c025ae10>] (warn_slowpath_common+0x4c/0x64)
[  558.651397] [<c025ae10>] (warn_slowpath_common+0x4c/0x64) from
[<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c)
[  558.661407] [<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c) from
[<c03b9b40>] (_regulator_disable+0x54/0x164)
[  558.671386] [<c03b9b40>] (_regulator_disable+0x54/0x164) from
[<c03b9d3c>] (regulator_disable+0x20/0x34)
[  558.681304] [<c03b9d3c>] (regulator_disable+0x20/0x34) from
[<c042d158>] (omap_hsmmc_1_set_power+0x64/0xa0)
[  558.691467] [<c042d158>] (omap_hsmmc_1_set_power+0x64/0xa0) from
[<c042bd00>] (omap_hsmmc_set_ios+0x70/0x410)
[  558.701782] [<c042bd00>] (omap_hsmmc_set_ios+0x70/0x410) from
[<c0422144>] (mmc_power_off+0x50/0x54)
[  558.711364] [<c0422144>] (mmc_power_off+0x50/0x54) from
[<c0422b88>] (mmc_detach_bus+0x74/0xbc)
[  558.720550] [<c0422b88>] (mmc_detach_bus+0x74/0xbc) from
[<c04231d4>] (mmc_pm_notify+0x90/0xd8)
[  558.729705] [<c04231d4>] (mmc_pm_notify+0x90/0xd8) from
[<c0277954>] (notifier_call_chain+0x2c/0x70)
[  558.739318] [<c0277954>] (notifier_call_chain+0x2c/0x70) from
[<c0277db0>] (__blocking_notifier_call_chain+0x48/0x5c)
[  558.750396] [<c0277db0>] (__blocking_notifier_call_chain+0x48/0x5c)
from [<c0277dd8>] (blocking_notifier_call_chain+0x14/0x18)
[  558.762237] [<c0277dd8>] (blocking_notifier_call_chain+0x14/0x18)
from [<c028ec1c>] (pm_notifier_call_chain+0x14/0x2c)
[  558.773406] [<c028ec1c>] (pm_notifier_call_chain+0x14/0x2c) from
[<c028f448>] (enter_state+0x7c/0x120)
[  558.783142] [<c028f448>] (enter_state+0x7c/0x120) from [<c028eb80>]
(state_store+0xa0/0xbc)
[  558.791931] [<c028eb80>] (state_store+0xa0/0xbc) from [<c0393e08>]
(kobj_attr_store+0x18/0x1c)
[  558.800994] [<c0393e08>] (kobj_attr_store+0x18/0x1c) from
[<c0309244>] (sysfs_write_file+0x10c/0x140)
[  558.810638] [<c0309244>] (sysfs_write_file+0x10c/0x140) from
[<c02c09e4>] (vfs_write+0xac/0x134)
[  558.819854] [<c02c09e4>] (vfs_write+0xac/0x134) from [<c02c0b18>]
(sys_write+0x3c/0x68)
[  558.828277] [<c02c0b18>] (sys_write+0x3c/0x68) from [<c0231f40>]
(ret_fast_syscall+0x0/0x3c)
[  558.837097] ---[ end trace 7a172f77f33931a6 ]---
[  558.945281] Freezing user space processes ... (elapsed 0.01 seconds) done.
[  558.971588] Freezing remaining freezable tasks ... (elapsed 0.02
seconds) done.
[  559.002960] PM: Entering mem sleep
[  559.006591] Suspending console(s) (use no_console_suspend to debug)
[  559.013366] platform reg-dummy: preparing suspend
[  559.013641] omapdss omapdss: preparing suspend
[  559.013732] reg-fixed-voltage reg-fixed-voltage.1: preparing suspend
[  559.013824] nop_usb_xceiv nop_usb_xceiv: preparing suspend
[  559.013916] serial8250 serial8250.0: preparing suspend
[  559.013977] serial8250 serial8250.1: preparing suspend
[  559.014068] serial8250 serial8250.2: preparing suspend
[  559.014129] musb_hdrc musb_hdrc: preparing suspend
[  559.014221] mmci-omap-hs mmci-omap-hs.0: preparing suspend
[  559.014282] mmci-omap-hs mmci-omap-hs.1: preparing suspend
[  559.014373] platform arm-pmu.0: preparing suspend
[  559.014465] omapfb omapfb: preparing suspend
[  559.016632] platform mpu.0: preparing suspend
[  559.016723] platform iva.0: preparing suspend
[  559.016815] platform l3_main.0: preparing suspend
[  559.016937] serial8250 serial8250: preparing suspend
[  559.018707] mmcblk mmc1:0001: legacy suspend
[  559.020141] serial8250 serial8250: suspend
[  559.020324] platform l3_main.0: suspend
[  559.020416] platform iva.0: suspend
[  559.020538] platform mpu.0: suspend
[  559.022460] omapfb omapfb: suspend
[  559.022552] platform arm-pmu.0: suspend
[  559.022644] mmci-omap-hs mmci-omap-hs.1: suspend
[  559.023406] ------------[ cut here ]------------
[  559.023498] WARNING: at drivers/regulator/core.c:1357
_regulator_disable+0x54/0x164()
[  559.023559] unbalanced disables for dummy
[  559.023559] Modules linked in:
[  559.023712] [<c0237960>] (unwind_backtrace+0x0/0xf0) from
[<c025ae10>] (warn_slowpath_common+0x4c/0x64)
[  559.023773] [<c025ae10>] (warn_slowpath_common+0x4c/0x64) from
[<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c)
[  559.023834] [<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c) from
[<c03b9b40>] (_regulator_disable+0x54/0x164)
[  559.023895] [<c03b9b40>] (_regulator_disable+0x54/0x164) from
[<c03b9d3c>] (regulator_disable+0x20/0x34)
[  559.023956] [<c03b9d3c>] (regulator_disable+0x20/0x34) from
[<c042d0b8>] (omap_hsmmc_23_set_power+0xb4/0xf0)
[  559.024017] [<c042d0b8>] (omap_hsmmc_23_set_power+0xb4/0xf0) from
[<c042bd00>] (omap_hsmmc_set_ios+0x70/0x410)
[  559.024078] [<c042bd00>] (omap_hsmmc_set_ios+0x70/0x410) from
[<c0422144>] (mmc_power_off+0x50/0x54)
[  559.024139] [<c0422144>] (mmc_power_off+0x50/0x54) from
[<c0422ad0>] (mmc_suspend_host+0x128/0x134)
[  559.024200] [<c0422ad0>] (mmc_suspend_host+0x128/0x134) from
[<c042b69c>] (omap_hsmmc_suspend+0x60/0x108)
[  559.024261] [<c042b69c>] (omap_hsmmc_suspend+0x60/0x108) from
[<c03dd21c>] (platform_pm_suspend+0x2c/0x54)
[  559.024322] [<c03dd21c>] (platform_pm_suspend+0x2c/0x54) from
[<c03df918>] (pm_op+0x4c/0xb4)
[  559.024383] [<c03df918>] (pm_op+0x4c/0xb4) from [<c03e0490>]
(__device_suspend+0x140/0x1c0)
[  559.024414] [<c03e0490>] (__device_suspend+0x140/0x1c0) from
[<c03e08c4>] (dpm_suspend_start+0x368/0x49c)
[  559.024505] [<c03e08c4>] (dpm_suspend_start+0x368/0x49c) from
[<c028f214>] (suspend_devices_and_enter+0x48/0x200)
[  559.024566] [<c028f214>] (suspend_devices_and_enter+0x48/0x200)
from [<c028f488>] (enter_state+0xbc/0x120)
[  559.024627] [<c028f488>] (enter_state+0xbc/0x120) from [<c028eb80>]
(state_store+0xa0/0xbc)
[  559.024688] [<c028eb80>] (state_store+0xa0/0xbc) from [<c0393e08>]
(kobj_attr_store+0x18/0x1c)
[  559.024780] [<c0393e08>] (kobj_attr_store+0x18/0x1c) from
[<c0309244>] (sysfs_write_file+0x10c/0x140)
[  559.024841] [<c0309244>] (sysfs_write_file+0x10c/0x140) from
[<c02c09e4>] (vfs_write+0xac/0x134)
[  559.024902] [<c02c09e4>] (vfs_write+0xac/0x134) from [<c02c0b18>]
(sys_write+0x3c/0x68)
[  559.024963] [<c02c0b18>] (sys_write+0x3c/0x68) from [<c0231f40>]
(ret_fast_syscall+0x0/0x3c)
[  559.024993] ---[ end trace 7a172f77f33931a7 ]---
[  559.025268] mmci-omap-hs mmci-omap-hs.0: suspend
[  559.026031] musb_hdrc musb_hdrc: suspend
[  559.026245] serial8250 serial8250.2: suspend
[  559.026611] serial8250 serial8250.1: suspend
[  559.026794] serial8250 serial8250.0: suspend
[  559.026947] nop_usb_xceiv nop_usb_xceiv: suspend
[  559.027038] reg-fixed-voltage reg-fixed-voltage.1: suspend
[  559.027130] omapdss omapdss: suspend
[  559.033630] ------------[ cut here ]------------
[  559.033752] WARNING: at drivers/regulator/core.c:1357
_regulator_disable+0x54/0x164()
[  559.033782] unbalanced disables for dummy
[  559.033782] Modules linked in:
[  559.033935] [<c0237960>] (unwind_backtrace+0x0/0xf0) from
[<c025ae10>] (warn_slowpath_common+0x4c/0x64)
[  559.034027] [<c025ae10>] (warn_slowpath_common+0x4c/0x64) from
[<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c)
[  559.034088] [<c025aea8>] (warn_slowpath_fmt+0x2c/0x3c) from
[<c03b9b40>] (_regulator_disable+0x54/0x164)
[  559.034149] [<c03b9b40>] (_regulator_disable+0x54/0x164) from
[<c03b9d3c>] (regulator_disable+0x20/0x34)
[  559.034240] [<c03b9d3c>] (regulator_disable+0x20/0x34) from
[<c03b2060>] (omapdss_dpi_display_disable+0x2c/0x3c)
[  559.034301] [<c03b2060>] (omapdss_dpi_display_disable+0x2c/0x3c)
from [<c03b769c>] (generic_panel_suspend+0xc/0x1c)
[  559.034362] [<c03b769c>] (generic_panel_suspend+0xc/0x1c) from
[<c03af0c0>] (dss_suspend_device+0x44/0x54)
[  559.034423] [<c03af0c0>] (dss_suspend_device+0x44/0x54) from
[<c03dbaa8>] (bus_for_each_dev+0x48/0x84)
[  559.034454] [<c03dbaa8>] (bus_for_each_dev+0x48/0x84) from
[<c03af21c>] (dss_suspend_all_devices+0x18/0x30)
[  559.034515] [<c03af21c>] (dss_suspend_all_devices+0x18/0x30) from
[<c03dd238>] (platform_pm_suspend+0x48/0x54)
[  559.034576] [<c03dd238>] (platform_pm_suspend+0x48/0x54) from
[<c03df918>] (pm_op+0x4c/0xb4)
[  559.034637] [<c03df918>] (pm_op+0x4c/0xb4) from [<c03e0490>]
(__device_suspend+0x140/0x1c0)
[  559.034698] [<c03e0490>] (__device_suspend+0x140/0x1c0) from
[<c03e08c4>] (dpm_suspend_start+0x368/0x49c)
[  559.034790] [<c03e08c4>] (dpm_suspend_start+0x368/0x49c) from
[<c028f214>] (suspend_devices_and_enter+0x48/0x200)
[  559.034851] [<c028f214>] (suspend_devices_and_enter+0x48/0x200)
from [<c028f488>] (enter_state+0xbc/0x120)
[  559.034912] [<c028f488>] (enter_state+0xbc/0x120) from [<c028eb80>]
(state_store+0xa0/0xbc)
[  559.034973] [<c028eb80>] (state_store+0xa0/0xbc) from [<c0393e08>]
(kobj_attr_store+0x18/0x1c)
[  559.035034] [<c0393e08>] (kobj_attr_store+0x18/0x1c) from
[<c0309244>] (sysfs_write_file+0x10c/0x140)
[  559.035125] [<c0309244>] (sysfs_write_file+0x10c/0x140) from
[<c02c09e4>] (vfs_write+0xac/0x134)
[  559.035156] [<c02c09e4>] (vfs_write+0xac/0x134) from [<c02c0b18>]
(sys_write+0x3c/0x68)
[  559.035217] [<c02c0b18>] (sys_write+0x3c/0x68) from [<c0231f40>]
(ret_fast_syscall+0x0/0x3c)
[  559.035278] ---[ end trace 7a172f77f33931a8 ]---
[  559.035675] platform reg-dummy: suspend
[  559.035919] PM: suspend of devices complete after 17.486 msecs
[  559.037841] serial8250 serial8250: LATE suspend
[  559.037902] platform l3_main.0: LATE suspend
[  559.037933] platform iva.0: LATE suspend
[  559.037963] platform mpu.0: LATE suspend
[  559.038177] omapfb omapfb: LATE suspend
[  559.038208] platform arm-pmu.0: LATE suspend
[  559.038238] mmci-omap-hs mmci-omap-hs.1: LATE suspend
[  559.038269] mmci-omap-hs mmci-omap-hs.0: LATE suspend
[  559.038269] musb_hdrc musb_hdrc: LATE suspend
[  559.038299] serial8250 serial8250.2: LATE suspend
[  559.038330] serial8250 serial8250.1: LATE suspend
[  559.038360] serial8250 serial8250.0: LATE suspend
[  559.038391] nop_usb_xceiv nop_usb_xceiv: LATE suspend
[  559.038421] reg-fixed-voltage reg-fixed-voltage.1: LATE suspend
[  559.038452] omapdss omapdss: LATE suspend
[  559.038848] platform reg-dummy: LATE suspend
[  559.038940] PM: late suspend of devices complete after 2.960 msecs
[  568.066253] sdrc_pwr before:00000129 now:00000169
[  568.066284] core idlest1:ffffffbd idlest3:0000000d
[  568.066345] Powerdomain (core_pwrdm) didn't enter target state 0
[  568.066375] Could not enter target state in pm_suspend
[  568.066711] platform reg-dummy: EARLY resume
[  568.066802] omapdss omapdss: EARLY resume
[  568.066833] reg-fixed-voltage reg-fixed-voltage.1: EARLY resume
[  568.066864] nop_usb_xceiv nop_usb_xceiv: EARLY resume
[  568.066894] serial8250 serial8250.0: EARLY resume
[  568.066925] serial8250 serial8250.1: EARLY resume
[  568.066955] serial8250 serial8250.2: EARLY resume
[  568.066986] musb_hdrc musb_hdrc: EARLY resume
[  568.067077] mmci-omap-hs mmci-omap-hs.0: EARLY resume
[  568.067108] mmci-omap-hs mmci-omap-hs.1: EARLY resume
[  568.067138] platform arm-pmu.0: EARLY resume
[  568.067169] omapfb omapfb: EARLY resume
[  568.067382] platform mpu.0: EARLY resume
[  568.067413] platform iva.0: EARLY resume
[  568.067443] platform l3_main.0: EARLY resume
[  568.067474] serial8250 serial8250: EARLY resume
[  568.067687] PM: early resume of devices complete after 1.007 msecs
[  568.067810] irqstatus 00000200
[  568.068420] platform reg-dummy: resume
[  568.068725] omapdss omapdss: resume
[  568.071411] reg-fixed-voltage reg-fixed-voltage.1: resume
[  568.071533] nop_usb_xceiv nop_usb_xceiv: resume
[  568.071624] serial8250 serial8250.0: resume
[  568.071807] serial8250 serial8250.1: resume
[  568.071929] serial8250 serial8250.2: resume
[  568.074096] musb_hdrc musb_hdrc: resume
[  568.074218] mmci-omap-hs mmci-omap-hs.0: resume
[  568.074707] mmci-omap-hs mmci-omap-hs.1: resume
[  568.098571] sdrc_pwr before:00000169 now:00000169
[  568.098602] core idlest1:fcffff9d idlest3:0000000d
[  568.098907] irqstatus 00000001
[  568.121948] sdrc_pwr before:00000169 now:00000169
[  568.121978] core idlest1:fcffff9d idlest3:0000000d
[  568.122314] irqstatus 00000001
[  568.129913] sdrc_pwr before:00000169 now:00000129
[  568.129974] core idlest1:fcffff9d idlest3:0000000d
[  568.153228] sdrc_pwr before:00000129 now:00000169
[  568.153259] core idlest1:fcffff9d idlest3:0000000d
[  568.153594] irqstatus 00000001
[  568.157714] sdrc_pwr before:00000169 now:00000129
[  568.157745] core idlest1:fcffff9d idlest3:0000000d
[  568.176605] sdrc_pwr before:00000129 now:00000169
[  568.176635] core idlest1:fcffff9d idlest3:0000000d
[  568.176940] irqstatus 00000001
[  568.181243] sdrc_pwr before:00000169 now:00000129
[  568.181274] core idlest1:fdffff9d idlest3:0000000d
[  568.185333] sdrc_pwr before:00000129 now:00000129
[  568.185363] core idlest1:fdffff9d idlest3:0000000d
[  568.189422] sdrc_pwr before:00000129 now:00000129
[  568.189453] core idlest1:fdffff9d idlest3:0000000d
[  568.193511] sdrc_pwr before:00000129 now:00000129
[  568.193542] core idlest1:fdffff9d idlest3:0000000d
[  568.197631] sdrc_pwr before:00000129 now:00000129
[  568.197692] core idlest1:fdffff9d idlest3:0000000d
[  568.201721] sdrc_pwr before:00000129 now:00000129
[  568.201751] core idlest1:fdffff9d idlest3:0000000d
[  568.205932] sdrc_pwr before:00000129 now:00000129
[  568.205963] core idlest1:fdffff9d idlest3:0000000d
[  568.206787] platform arm-pmu.0: resume
[  568.206939] omapfb omapfb: resume
[  568.208923] platform mpu.0: resume
[  568.209014] platform iva.0: resume
[  568.209106] platform l3_main.0: resume
[  568.209259] serial8250 serial8250: resume
[  568.210693] mmcblk mmc1:0001: legacy resume
[  568.211395] PM: resume of devices complete after 143.188 msecs
[  568.212982] serial8250 serial8250: completing resume
[  568.213134] platform l3_main.0: completing resume
[  568.213226] platform iva.0: completing resume
[  568.213287] platform mpu.0: completing resume
[  568.215515] omapfb omapfb: completing resume
[  568.215637] platform arm-pmu.0: completing resume
[  568.215698] mmci-omap-hs mmci-omap-hs.1: completing resume
[  568.215789] mmci-omap-hs mmci-omap-hs.0: completing resume
[  568.215881] musb_hdrc musb_hdrc: completing resume
[  568.215942] serial8250 serial8250.2: completing resume
[  568.216033] serial8250 serial8250.1: completing resume
[  568.216125] serial8250 serial8250.0: completing resume
[  568.216186] nop_usb_xceiv nop_usb_xceiv: completing resume
[  568.216247] reg-fixed-voltage reg-fixed-voltage.1: completing resume
[  568.216339] omapdss omapdss: completing resume
[  568.216583] platform reg-dummy: completing resume
[  569.282806] PM: Finishing wakeup.
[  569.286468] Restarting tasks ... done.
root@spark:~$ [  569.522857] mmc0: host does not support reading
read-only switch. assuming write-enable.
[  569.531677] mmc0: new SD card at address bed5
[  569.537506] PM: Adding info for mmc:mmc0:bed5
[  569.551300] mmcblk0: mmc0:bed5 SU02G 1.84 GiB
[  569.557250] PM: Adding info for No Bus:mmcblk0
[  569.574157]  mmcblk0: p1 p2
[  569.578369] PM: Adding info for No Bus:mmcblk0p1
[  569.584808] PM: Adding info for No Bus:mmcblk0p2
[  569.624908] PM: Adding info for No Bus:179:0

root@spark:~$ cat /debug/pm_debug/count
usbhost_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:0,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
per_pwrdm (ON),OFF:11,RET:0,INA:0,ON:12,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
dss_pwrdm (ON),OFF:2,RET:3,INA:4,ON:9,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
cam_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
core_pwrdm (ON),OFF:1,RET:0,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0
neon_pwrdm (ON),OFF:11,RET:0,INA:0,ON:12,RET-LOGIC-OFF:0
mpu_pwrdm (ON),OFF:11,RET:0,INA:0,ON:12,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
iva2_pwrdm (OFF),OFF:1,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
per_clkdm->per_pwrdm (9)
usbhost_clkdm->usbhost_pwrdm (0)
cam_clkdm->cam_pwrdm (0)
dss_clkdm->dss_pwrdm (2)
core_l4_clkdm->core_pwrdm (9)
core_l3_clkdm->core_pwrdm (5)
d2d_clkdm->core_pwrdm (0)
sgx_clkdm->sgx_pwrdm (0)
iva2_clkdm->iva2_pwrdm (0)
neon_clkdm->neon_pwrdm (0)
mpu_clkdm->mpu_pwrdm (0)
prm_clkdm->wkup_pwrdm (0)
cm_clkdm->core_pwrdm (0)

Any ideas?

-- 
Laine Walker-Avina
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: SYS_OFF_MODE signaling and CORE domain Transition to OFF Mode
  2010-09-22 22:18 SYS_OFF_MODE signaling and CORE domain Transition to OFF Mode Laine Walker-Avina
@ 2010-09-23 18:05 ` Kevin Hilman
  2010-09-24 16:48   ` Laine Walker-Avina
  0 siblings, 1 reply; 3+ messages in thread
From: Kevin Hilman @ 2010-09-23 18:05 UTC (permalink / raw)
  To: Laine Walker-Avina; +Cc: linux-omap

Laine Walker-Avina <lwalkera@pasco.com> writes:

> I'm having some troubles putting my OMAP3503(the one without the DSP
> or SGX modules) board to sleep. I'm using the current master on the
> l-o git repository.

Looks like you're wanting to use off-mode.  There are many drivers that
do not yet support off mode, as they need to do context save/restore in 
their suspend/resume paths in order to support off mode.

In particular, MMC in l-o master does not yet have this support, so you
should not expect MMC to work after an off mode transition.

This is why off-mode is disabled by default, it has to be manually
enabled by: echo 1 > /debug/pm_debug/enable_off_mode.

Do things work as expected if you leave off-mode disabled?

> This is the output from dmesg and the count file after suspending
> twice. The first time it wakes immediately after going down, and the
> second time stays asleep but says that the core domain didn't enter
> OFF mode. 

This is not easy to debug with the current kernel dump.

The way I suggest debugging this is by first getting to a minimal kernel
that can suspend/resume as you expect.  Then you add in the drivers to
see which one is causing the problem, or keeping the system away.

Clearly the MMC driver has some problems in it's suspend/resume hooks
with unbalanced regulator enable/disables, so for starters, I'd suggest
disabling MMC.  I'd also suggest disabling musb, but basically the best
way is to disable everything except a minimal kernel, and then work back
up to the config you want.

You might try using my PM branch (link below) which comes with a minimal
kernel config for this purpose: omap3_pm_defconfig.

> In either case, the SYS_OFF_MODE signal never asserts. I added some
> debug code into map_sram_idle() to capture CM_CORE_IDLEST1 and 3 right
> before it jumps to the final sleep code in SRAM.

For looking at the idlest regs, you might want to try the patch from my
pm-debug branch (included in my pm branch) which takes a snapshot of all
the PM registers just before SRAM idle and right after resume.  You can
then see the registers using debugfs.  This is documented on the OMAP PM
wiki:

      http://elinux.org/OMAP_Power_Management

Hope that helps a little,

Kevin

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: SYS_OFF_MODE signaling and CORE domain Transition to OFF Mode
  2010-09-23 18:05 ` Kevin Hilman
@ 2010-09-24 16:48   ` Laine Walker-Avina
  0 siblings, 0 replies; 3+ messages in thread
From: Laine Walker-Avina @ 2010-09-24 16:48 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, Nimmagadda, Padmaja

On Thu, Sep 23, 2010 at 11:05 AM, Kevin Hilman
<khilman@deeprootsystems.com> wrote:
> Laine Walker-Avina <lwalkera@pasco.com> writes:
>
>> I'm having some troubles putting my OMAP3503(the one without the DSP
>> or SGX modules) board to sleep. I'm using the current master on the
>> l-o git repository.
>
> Looks like you're wanting to use off-mode.  There are many drivers that
> do not yet support off mode, as they need to do context save/restore in
> their suspend/resume paths in order to support off mode.
>
> In particular, MMC in l-o master does not yet have this support, so you
> should not expect MMC to work after an off mode transition.
>
> This is why off-mode is disabled by default, it has to be manually
> enabled by: echo 1 > /debug/pm_debug/enable_off_mode.
>
> Do things work as expected if you leave off-mode disabled?
>
>> This is the output from dmesg and the count file after suspending
>> twice. The first time it wakes immediately after going down, and the
>> second time stays asleep but says that the core domain didn't enter
>> OFF mode.
>
> This is not easy to debug with the current kernel dump.
>
> The way I suggest debugging this is by first getting to a minimal kernel
> that can suspend/resume as you expect.  Then you add in the drivers to
> see which one is causing the problem, or keeping the system away.
>
> Clearly the MMC driver has some problems in it's suspend/resume hooks
> with unbalanced regulator enable/disables, so for starters, I'd suggest
> disabling MMC.  I'd also suggest disabling musb, but basically the best
> way is to disable everything except a minimal kernel, and then work back
> up to the config you want.
>
> You might try using my PM branch (link below) which comes with a minimal
> kernel config for this purpose: omap3_pm_defconfig.
>
>> In either case, the SYS_OFF_MODE signal never asserts. I added some
>> debug code into map_sram_idle() to capture CM_CORE_IDLEST1 and 3 right
>> before it jumps to the final sleep code in SRAM.
>
> For looking at the idlest regs, you might want to try the patch from my
> pm-debug branch (included in my pm branch) which takes a snapshot of all
> the PM registers just before SRAM idle and right after resume.  You can
> then see the registers using debugfs.  This is documented on the OMAP PM
> wiki:
>
>      http://elinux.org/OMAP_Power_Management
>
> Hope that helps a little,
>
> Kevin
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Hi Kevin,

Thanks for the help. :)

I recompiled the kernel without anything but UART support like you
said. I applied the debug patch and the results follow. The processor
seems to go into OFF mode according the dmesg output, but the
SYS_OFF_MODE pin doesn't change state. Any thoughts?
Also, is the MMC driver being worked on to make it suspend/resume
compliant? I recall that I was able to at least go into retention with
the MMC as the root FS earlier.

root@spark:/debug/pm_debug$ echo mem > /sys/power/state
[  209.520324] PM: Syncing filesystems ... done.
[  209.525787] PM: Preparing system for mem sleep
[  209.530944] Freezing user space processes ... (elapsed 0.02 seconds) done.
[  209.559204] Freezing remaining freezable tasks ... (elapsed 0.02
seconds) done.
[  209.590545] PM: Entering mem sleep
[  209.594177] Suspending console(s) (use no_console_suspend to debug)
[  209.600982] platform reg-dummy: preparing suspend
[  209.601318] platform omapdss: preparing suspend
[  209.601409] reg-fixed-voltage reg-fixed-voltage.1: preparing suspend
[  209.601501] platform nop_usb_xceiv: preparing suspend
[  209.601623] serial8250 serial8250.0: preparing suspend
[  209.601715] serial8250 serial8250.1: preparing suspend
[  209.601806] serial8250 serial8250.2: preparing suspend
[  209.601898] platform arm-pmu.0: preparing suspend
[  209.604217] platform mpu.0: preparing suspend
[  209.604339] platform iva.0: preparing suspend
[  209.604461] platform l3_main.0: preparing suspend
[  209.604583] serial8250 serial8250: preparing suspend
[  209.607818] serial8250 serial8250: suspend
[  209.608001] platform l3_main.0: suspend
[  209.608123] platform iva.0: suspend
[  209.608245] platform mpu.0: suspend
[  209.611083] platform arm-pmu.0: suspend
[  209.611236] serial8250 serial8250.2: suspend
[  209.611663] serial8250 serial8250.1: suspend
[  209.611846] serial8250 serial8250.0: suspend
[  209.612030] platform nop_usb_xceiv: suspend
[  209.612152] reg-fixed-voltage reg-fixed-voltage.1: suspend
[  209.612274] platform omapdss: suspend
[  209.612609] platform reg-dummy: suspend
[  209.612854] PM: suspend of devices complete after 6.778 msecs
[  209.614685] serial8250 serial8250: LATE suspend
[  209.614746] platform l3_main.0: LATE suspend
[  209.614776] platform iva.0: LATE suspend
[  209.614807] platform mpu.0: LATE suspend
[  209.615020] platform arm-pmu.0: LATE suspend
[  209.615051] serial8250 serial8250.2: LATE suspend
[  209.615081] serial8250 serial8250.1: LATE suspend
[  209.615112] serial8250 serial8250.0: LATE suspend
[  209.615142] platform nop_usb_xceiv: LATE suspend
[  209.615173] reg-fixed-voltage reg-fixed-voltage.1: LATE suspend
[  209.615203] platform omapdss: LATE suspend
[  209.615264] platform reg-dummy: LATE suspend
[  209.615325] PM: late suspend of devices complete after 2.412 msecs
[  220.011688] sdrc_pwr before:00000129 now:00000129
[  220.011749] Successfully put all powerdomains to target state
[  220.012115] platform reg-dummy: EARLY resume
[  220.012176] platform omapdss: EARLY resume
[  220.012207] reg-fixed-voltage reg-fixed-voltage.1: EARLY resume
[  220.012237] platform nop_usb_xceiv: EARLY resume
[  220.012268] serial8250 serial8250.0: EARLY resume
[  220.012298] serial8250 serial8250.1: EARLY resume
[  220.012329] serial8250 serial8250.2: EARLY resume
[  220.012359] platform arm-pmu.0: EARLY resume
[  220.012573] platform mpu.0: EARLY resume
[  220.012603] platform iva.0: EARLY resume
[  220.012634] platform l3_main.0: EARLY resume
[  220.012664] serial8250 serial8250: EARLY resume
[  220.012847] PM: early resume of devices complete after 0.793 msecs
[  220.012969] irqstatus 00000200
[  220.013488] platform reg-dummy: resume
[  220.013793] platform omapdss: resume
[  220.013885] reg-fixed-voltage reg-fixed-voltage.1: resume
[  220.014007] platform nop_usb_xceiv: resume
[  220.014099] serial8250 serial8250.0: resume
[  220.014617] serial8250 serial8250.1: resume
[  220.014801] serial8250 serial8250.2: resume
[  220.022766] platform arm-pmu.0: resume
[  220.024688] platform mpu.0: resume
[  220.024780] platform iva.0: resume
[  220.024871] platform l3_main.0: resume
[  220.024993] serial8250 serial8250: resume
[  220.026458] PM: resume of devices complete after 13.128 msecs
[  220.027740] serial8250 serial8250: completing resume
[  220.027862] platform l3_main.0: completing resume
[  220.027954] platform iva.0: completing resume
[  220.028045] platform mpu.0: completing resume
[  220.029785] platform arm-pmu.0: completing resume
[  220.029907] serial8250 serial8250.2: completing resume
[  220.029998] serial8250 serial8250.1: completing resume
[  220.030426] serial8250 serial8250.0: completing resume
[  220.030548] platform nop_usb_xceiv: completing resume
[  220.030639] reg-fixed-voltage reg-fixed-voltage.1: completing resume
[  220.030731] platform omapdss: completing resume
[  220.031005] platform reg-dummy: completing resume
[  220.393035] PM: Finishing wakeup.
[  220.396423] Restarting tasks ... done.
root@spark:/debug/pm_debug$ cat registers/1
MOD: CM_IVA2 (48014000)
  04 => 00000011  20 => 00000001  34 => 00000001  40 => 00080000
  44 => 00000001  48 => 00000003
MOD: CM_OCP (48004800)
  00 => 00000010  10 => 00000001
MOD: CM_MPU (48004900)
  04 => 00000077  24 => 00000001  34 => 00000001  40 => 0010fa05
  44 => 00000001  48 => 00000003  4c => 00000001
MOD: CM_CORE (48004a00)
  10 => 00000042  20 => ffffffbd  24 => 0000001f  28 => 0000000d
  30 => fffffed9  34 => 0000001f  38 => 0000000c  40 => 0000030a
  48 => 0000003f  4c => 00000003
MOD: CM_SGX (48004b00)

MOD: CM_WKUP (48004c00)
  10 => 0000000e  20 => 000002f1  30 => 0000003f  40 => 00000015
MOD: CM_CCR (48004d00)
  00 => 00770007  04 => 00000011  20 => 00000003  30 => 00000001
  34 => 00000001  40 => 08a60500  44 => 0000d805  48 => 00000009
  4c => 00003204  50 => 00000001  70 => 00000092
MOD: CM_DSS (48004e00)
  20 => 00000003  30 => 00000001  40 => 00001009  48 => 00000003
MOD: CM_CAM (48004f00)
  20 => 00000001  30 => 00000001  40 => 00000004  48 => 00000003
MOD: CM_PER (48005000)
  10 => 0003e000  20 => 00001fff  30 => 0003ffff  40 => 000000ff
  44 => 00000006  48 => 00000003  4c => 00000001
MOD: CM_EMU (48005100)
  40 => 03020a50  48 => 00000001
MOD: CM_NEON (48005300)
  48 => 00000003
MOD: CM_USB (48005400)
  20 => 00000003  30 => 00000001  48 => 00000003
MOD: PRM_IVA2 (48316000)
  50 => 00000007  e0 => 00ff0f04  f8 => 00000002
MOD: PRM_OCP (48306800)
  04 => 00000010  14 => 00000001  18 => 00000010  1c => 00000201
MOD: PRM_MPU (48306900)
  58 => 0000000c  d4 => 00000012  e0 => 00030104  e4 => 000000c7
  e8 => 000000c7
MOD: PRM_CORE (48306a00)
  58 => 00000304  a0 => c33f9e18  a4 => c33ffe18  e0 => 000f0314
  e4 => 000000f7  e8 => 000000f7  f0 => 00000004  f8 => 00000004
MOD: PRM_SGX (48306b00)

MOD: PRM_WKUP (48306c00)
  a0 => 0001010b  a4 => 0000010b  b0 => 00010000
MOD: PRM_CCR (48306d00)
  70 => 00000080
MOD: PRM_DSS (48306e00)
  a0 => 00000001  e0 => 00030104
MOD: PRM_CAM (48306f00)
  e0 => 00030104
MOD: PRM_PER (48307000)
  58 => 0000000c  a0 => 0003e007  a4 => 0003e807  c8 => 00000006
  e0 => 00030104  e4 => 00000007  e8 => 00000007
MOD: PRM_EMU (48307100)
  58 => 00000004  e4 => 00000100
MOD: PRM_GLBL (48307200)
  38 => 00000018  54 => 00001006  58 => 00000001  60 => 0000000c
  64 => 00000050  70 => 00000049  9c => 00000002  c4 => 00000001
  e4 => 00000001
MOD: PRM_NEON (48307300)
  58 => 0000000c  c8 => 00000002  e0 => 00000004  e4 => 00000003
  e8 => 00000003
MOD: PRM_USB (48307400)
  58 => 00000008  a0 => 00000001  a4 => 00000001  a8 => 00000001
  e0 => 00030104
root@spark:/debug/pm_debug$ cat registers/2
MOD: CM_IVA2 (48014000)
  04 => 00000011  20 => 00000001  40 => 00080000  44 => 00000001
MOD: CM_OCP (48004800)
  00 => 00000010  10 => 00000001
MOD: CM_MPU (48004900)
  04 => 00000077  24 => 00000001  34 => 00000001  40 => 0010fa05
  44 => 00000001  4c => 00000001
MOD: CM_CORE (48004a00)
  10 => 0000004a  20 => ffffffbd  24 => 0000001f  28 => 0000000d
  30 => 00000008  40 => 0000030a  4c => 00000003
MOD: CM_SGX (48004b00)

MOD: CM_WKUP (48004c00)
  20 => 000002ff  40 => 00000015
MOD: CM_CCR (48004d00)
  00 => 00770007  04 => 00000011  20 => 00000003  30 => 00000001
  40 => 08a60500  44 => 0000d805  48 => 00000009  50 => 00000001
  70 => 00000003
MOD: CM_DSS (48004e00)
  20 => 00000003  40 => 00001010
MOD: CM_CAM (48004f00)
  20 => 00000001  40 => 00000010
MOD: CM_PER (48005000)
  20 => 0003ffff
MOD: CM_EMU (48005100)
  40 => 10100a50  48 => 00000002  4c => 00000001
MOD: CM_NEON (48005300)

MOD: CM_USB (48005400)
  20 => 00000003
MOD: PRM_IVA2 (48316000)
  50 => 00000007  e0 => 00ff0f04  f8 => 00000002
MOD: PRM_OCP (48306800)
  04 => 00000010  14 => 00000001  18 => 00000210  1c => 00000201
MOD: PRM_MPU (48306900)
  58 => 0000000c  d4 => 00000012  e0 => 00030104  e4 => 000000c7
MOD: PRM_CORE (48306a00)
  58 => 00000304  a0 => c33f9e18  a4 => c33ffe18  e0 => 000f0314
  e4 => 000000f7  f0 => 00000004  f8 => 00000004
MOD: PRM_SGX (48306b00)

MOD: PRM_WKUP (48306c00)
  a0 => 0000010b  a4 => 0000010b  b0 => 00010100
MOD: PRM_CCR (48306d00)
  70 => 00000080
MOD: PRM_DSS (48306e00)
  a0 => 00000001  e0 => 00030104
MOD: PRM_CAM (48306f00)
  e0 => 00030104
MOD: PRM_PER (48307000)
  58 => 0000000c  a0 => 0003e007  a4 => 0003e807  c8 => 00000006
  e0 => 00030104
MOD: PRM_EMU (48307100)
  58 => 00000004  e4 => 00000103
MOD: PRM_GLBL (48307200)
  38 => 00000018  54 => 00001006  58 => 00000001  60 => 0000000c
  64 => 00000050  70 => 00000049  9c => 00000002  c4 => 00000001
  e4 => 00000001
MOD: PRM_NEON (48307300)
  58 => 0000000c  c8 => 00000002  e0 => 00000004  e4 => 00000003
MOD: PRM_USB (48307400)
  58 => 00000008  a0 => 00000001  a4 => 00000001  a8 => 00000001
  e0 => 00030104
root@spark:/debug/pm_debug$ cat registers/current
MOD: CM_IVA2 (48014000)
  04 => 00000011  20 => 00000001  34 => 00000001  40 => 00080000
  44 => 00000001  48 => 00000003
MOD: CM_OCP (48004800)
  00 => 00000010  10 => 00000001
MOD: CM_MPU (48004900)
  04 => 00000077  24 => 00000001  34 => 00000001  40 => 0010fa05
  44 => 00000001  48 => 00000003  4c => 00000001
MOD: CM_CORE (48004a00)
  00 => 00006000  10 => 00006042  20 => ffff9fbd  24 => 0000001f
  28 => 0000000d  30 => fffffed9  34 => 0000001f  38 => 0000000c
  40 => 0000030a  48 => 0000003f  4c => 00000003
MOD: CM_SGX (48004b00)

MOD: CM_WKUP (48004c00)
  10 => 0000000e  20 => 000002f1  30 => 0000003f  40 => 00000015
MOD: CM_CCR (48004d00)
  00 => 00770007  04 => 00000011  20 => 0000020b  30 => 00000001
  34 => 00000001  40 => 08a60500  44 => 0000d805  48 => 00000009
  4c => 00003204  50 => 00000001  70 => 00000092
MOD: CM_DSS (48004e00)
  20 => 00000003  30 => 00000001  40 => 00001009  48 => 00000003
MOD: CM_CAM (48004f00)
  20 => 00000001  30 => 00000001  40 => 00000004  48 => 00000003
MOD: CM_PER (48005000)
  00 => 00000800  10 => 0003e800  20 => 000017ff  30 => 0003ffff
  40 => 000000ff  44 => 00000006  48 => 00000003  4c => 00000001
MOD: CM_EMU (48005100)
  40 => 03020a50  48 => 00000001
MOD: CM_NEON (48005300)
  48 => 00000003
MOD: CM_USB (48005400)
  20 => 00000003  30 => 00000001  48 => 00000003
MOD: PRM_IVA2 (48316000)
  50 => 00000007  e0 => 00ff0f04  f8 => 00000002
MOD: PRM_OCP (48306800)
  04 => 00000010  14 => 00000001  18 => 00000010  1c => 00000201
MOD: PRM_MPU (48306900)
  58 => 0000000c  d4 => 00000012  e0 => 00030104  e4 => 000000c7
MOD: PRM_CORE (48306a00)
  58 => 00000304  a0 => c33f9e18  a4 => c33ffe18  e0 => 000f0314
  e4 => 000000f7  f0 => 00000004  f8 => 00000004
MOD: PRM_SGX (48306b00)

MOD: PRM_WKUP (48306c00)
  a0 => 0000000b  a4 => 0000010b
MOD: PRM_CCR (48306d00)
  70 => 00000080
MOD: PRM_DSS (48306e00)
  a0 => 00000001  e0 => 00030104
MOD: PRM_CAM (48306f00)
  e0 => 00030104
MOD: PRM_PER (48307000)
  58 => 0000000c  a0 => 0003e007  a4 => 0003e807  c8 => 00000006
  e0 => 00030104  e4 => 00000007
MOD: PRM_EMU (48307100)
  58 => 00000004  e4 => 00000100
MOD: PRM_GLBL (48307200)
  38 => 00000018  54 => 00001006  58 => 00000001  60 => 0000000c
  64 => 00000050  70 => 00000049  9c => 00000002  c4 => 00000001
  e4 => 00000001
MOD: PRM_NEON (48307300)
  58 => 0000000c  c8 => 00000002  e0 => 00000004  e4 => 00000003
MOD: PRM_USB (48307400)
  58 => 00000008  a0 => 00000001  a4 => 00000001  a8 => 00000001
  e0 => 00030104
root@spark:/debug/pm_debug$ cat count
usbhost_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:0,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
per_pwrdm (ON),OFF:3,RET:0,INA:0,ON:4,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
dss_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
cam_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
core_pwrdm (ON),OFF:3,RET:0,INA:0,ON:4,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0
neon_pwrdm (ON),OFF:3,RET:0,INA:0,ON:4,RET-LOGIC-OFF:0
mpu_pwrdm (ON),OFF:3,RET:0,INA:0,ON:4,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
iva2_pwrdm (OFF),OFF:1,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
per_clkdm->per_pwrdm (9)
usbhost_clkdm->usbhost_pwrdm (0)
cam_clkdm->cam_pwrdm (0)
dss_clkdm->dss_pwrdm (0)
core_l4_clkdm->core_pwrdm (7)
core_l3_clkdm->core_pwrdm (4)
d2d_clkdm->core_pwrdm (0)
sgx_clkdm->sgx_pwrdm (0)
iva2_clkdm->iva2_pwrdm (0)
neon_clkdm->neon_pwrdm (0)
mpu_clkdm->mpu_pwrdm (0)
prm_clkdm->wkup_pwrdm (0)
cm_clkdm->core_pwrdm (0)

Thanks,
-- 
Laine Walker-Avina
Firmware Engineer
PASCO scientific
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-09-24 16:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-22 22:18 SYS_OFF_MODE signaling and CORE domain Transition to OFF Mode Laine Walker-Avina
2010-09-23 18:05 ` Kevin Hilman
2010-09-24 16:48   ` Laine Walker-Avina

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).