none
System suspends immediatly after resume RRS feed

  • Question

  • Hi,

    I am testing power management on iMX51 platform.

    Once I boot the board with NK image, system goes in to suspend mode. On giving touch event, system resumes and again goes back in to suspend mode.

    Below is the log attached for the same.

    ªÖÕµ•Q¡É•…‘Aɽé resume event signaled
    +PlatformResumeSystem: suspend flag is 1
    +PowerStateManager::PlatformResumeSystem: suspend flag is 1
    ActivityTimerFindByWakeSource: search for 21 (0x15) returning 0x00000000
    PowerStateManager::PlatformResumeSystem: assuming user activity
    ActivityTimersThreadProc: resume event set
    ActivityTimersThreadProc: waiting 65535000 (0x03e7fc18) ms for next event, wait interval was 6420
    ActivityTimersThreadProc: timer 'UserActivity' reset
    ActivityTimersThreadProc: waiting 65534992 (0x03e7fc10) ms for next event, wait interval was 8
    ActivityTimersThreadProc: timer 'SystemActivity' reset
    ActivityTimersThreadProc: waiting 65534992 (0x03e7fc10) ms for next event, wait interval was 8
    -PowerStateManager::PlatformResumeSystem
    -PlatformResumeSystem
    +PmSetSystemPowerState: name <NULL>, hint 0x00200000, options 0x00001000
    +PowerStateManager::SendSystemPowerState: name <NULL>, hint 0x00200000, options 0x00001000, fInternal -805021920
    ReadSystemPowerState: state 'on' devices max is D0, flags 0x12010000
    ReadSystemPowerState: state 'useridle' devices max is D1, flags 0x11000000
    ReadSystemPowerState: state 'suspend' devices max is D3, flags 0x00200000
    ReadSystemPowerState: state 'reboot' devices max is D4, flags 0x00800000
    ReadSystemPowerState: state 'coldreboot' devices max is D4, flags 0x00800000
    DefaultPowerStateManager::PlatformMapPowerStateHint: returning state "suspend"
    +PowerStateManager::SendSystemPowerState: name "suspend", hint 0x00200000, options 0x00001000, fInternal 0xd0045720
    PlatformSetSystemPowerState: back from PowerOffSystem()
    -PmSetSystemPowerState_I: returning dwStatus 0
    PowerStateManager::SetSystemState: state change from "suspend" to "resuming"
    +PmSetSystemPowerState_I: name resuming, hint 0x00000000, options 0x00000000, fInternal 0x1
    ReadSystemPowerState: state 'resuming' devices max is D2, flags 0x00000000
    RegReadClassDeviceRestrictions: reading information for class {a32942b7-920c-486b-b0e6-92a702a99b35}
    RegReadClassDeviceRestrictions: skipping flags 0x00000000
    RegReadClassDeviceRestrictions: device 'Default' restricted to D2
    GenerateNotifications: sending type 1 notifications (30 bytes)
    SendNotification: sending notification to 0xd3a3be00 (owner 0x00400002)
    GenerateNotifications: done sending type 1 notifications
    PlatformSetSystemPowerState: resuming - notifying block drivers
    DeviceStateAddRef: refcnt for 0xd37a0380 set to 2
    UpdateDeviceState: new state for 'dsk2:' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 2)
    MapDevicePowerState: mapping D2 to D2
    SetDevicePower: setting 'dsk2:' to D2 (mapped to D2), fForceSet is 0
    SetDevicePower: device is already at D2
    UpdateDeviceState: updated state for 'dsk2:' is current 3, req 0, set -1, floor 4, ceiling 2, actual 2
    DeviceStateDecRef: refcnt for 0xd37a0380 set to 1
    DeviceStateAddRef: refcnt for 0xd0047f20 set to 2
    UpdateDeviceState: new state for 'dsk1:' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 3)
    MapDevicePowerState: mapping D2 to D2
    SetDevicePower: setting 'dsk1:' to D2 (mapped to D2), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x01130003) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x01130003 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'dsk1:' is current 2, req 0, set -1, floor 4, ceiling 2, actual 2
    DeviceStateDecRef: refcnt for 0xd0047f20 set to 1
    PlatformSetSystemPowerState: resuming - notifying block drivers
    DeviceStateAddRef: refcnt for 0xd350b460 set to 2
    UpdateDeviceState: new state for 'dvf2:' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 4)
    MapDevicePowerState: mapping D2 to D2
    SetDevicePower: setting 'dvf2:' to D2 (mapped to D2), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x041d0003) wRemoveDevice: removing 'dsk2:' from 8dd679ce-8ab4-43c8-a14a-ea4963faa715
    DeviceStateAddRef: refcnt for 0xd37a0380 set to 2
    DeviceStateRemList: removing 0xd37a0380 ('dsk2:') from list 0xd00454c0
    DeviceStateDecRef: refcnt for 0xd37a0380 set to 1
    DeviceStateDecRef: refcnt for 0xd37a0380 set to 0
    DeviceStateDestroy: deleting 0xd37a0380
    CloseStreamDevice: closing 0x0441000f
    / request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x041d0003 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'dvf2:' is current 2, req 0, set -1, floor 4, ceiling 2, actual 2
    DeviceStateDecRef: refcnt for 0xd350b460 set to 1
    DeviceStateAddRef: refcnt for 0xd350b0a0 set to 2
    UpdateDeviceState: new state for 'dvf1:' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 4)
    MapDevicePowerState: mapping D2 to D2
    SetDevicePower: setting 'dvf1:' to D2 (mapped to D2), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x04190003) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x04190003 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'dvf1:' is current 2, req 0, set -1, floor 4, ceiling 2, actual 2
    DeviceStateDecRef: refcnt for 0xd350b0a0 set to 1
    DeviceStateAddRef: refcnt for 0xd31b2160 set to 3
    UpdateDeviceState: new state for 'nds0:' is 2 (current 0, req 0, set -1, floor 4, ceiling 2, actual 0)
    MapDevicePowerState: mapping D2 to D0
    SetDevicePower: setting 'nds0:' to D2 (mapped to D0), fForceSet is 0
    SetDevicePower: device is already at D0
    UpdateDeviceState: updated state for 'nds0:' is current 0, req 0, set -1, floor 4, ceiling 2, actual 0
    DeviceStateDecRef: refcnt for 0xd31b2160 set to 2
    DeviceStateAddRef: refcnt for 0xd00e7280 set to 2
    UpdateDeviceState: new state for 'wav2:' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 4)
    MapDevicePowerState: mapping D2 to D0
    SetDevicePower: setting 'wav2:' to D2 (mapped to D0), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x017c000b) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x017c000b failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'wav2:' is current 2, req 0, set -1, floor 4, ceiling 2, actual 0
    DeviceStateDecRef: refcnt for 0xd00e7280 set to 1
    DeviceStateAddRef: refcnt for 0xd00e6ec0 set to 2
    UpdateDeviceState: new state for 'vpu1:' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 4)
    MapDevicePowerState: mapping D2 to D0
    SetDevicePower: setting 'vpu1:' to D2 (mapped to D0), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x01db0007) w/ request 3280904 ('IOCTL_POWER_SET')
    AddDevice: adding 'dsk2:', pdsParent 0x00000000, pCaps 0x00000000 to class 8dd679ce-8ab4-43c8-a14a-ea4963faa715
    DeviceStateCreate: created 0xd37a2ac0 (name 'dsk2:'), refcnt is 1
    DeviceStateAddList: adding 0xd37a2ac0 ('dsk2:') to list 0xd00454c0
    DeviceStateAddRef: refcnt for 0xd37a2ac0 set to 2
    OpenStreamDevice: handle to 'dsk2:' on behalf of 'dsk2:' is 0x04f6000f
    RequestStreamDevice: calling DeviceIoControl(0x04f6000f) w/ request 3280896 ('IOCTL_POWER_CAPABILITIES')
    RequestStreamDevice: DeviceIoControl(3280896) to 0x04f6000f failed 0 (0x00000000)
    OpenStreamDevice: handle to 'dsk2:' on behalf of 'dsk2:' is 0x04ff000f
    CloseStreamDevice: closing 0x04ff000f
    UpdateDeviceState: new state for 'dsk2:' is 2 (current 0, req 0, set -1, floor 4, ceiling 2, actual 0)
    MapDevicePowerState: mapping D2 to D2
    SetDevicePower: setting 'dsk2:' to D2 (mapped to D2), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x04f6000f) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x04f6000f failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'dsk2:' is current 2, req 0, set -1, floor 4, ceiling 2, actRequestStreamDevice: DeviceIoControl(3280904) to 0x01db0007 failed 0 (0x000000
    00)
    ual 2
    DeviceStateDecRef: refcnt for 0xd37a2ac0 set to 1
    UpdateDeviceState: updated state for 'vpu1:' is current 2, req 0, set -1, floor 4, ceiling 2, actual 0
    DeviceStateDecRef: refcnt for 0xd00e6ec0 set to 1
    DeviceStateAddRef: refcnt for 0xd00e6a60 set to 2
    UpdateDeviceState: new state for 'bkl1:' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 4)
    MapDevicePowerState: mapping D2 to D0
    SetDevicePower: setting 'bkl1:' to D2 (mapped to D0), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x017b0007) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x017b0007 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'bkl1:' is current 2, req 0, set -1, floor 4, ceiling 2, actual 0
    DeviceStateDecRef: refcnt for 0xd00e6a60 set to 1
    DeviceStateAddRef: refcnt for 0xd00e62a0 set to 2
    UpdateDeviceState: new state for 'pmi1:' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 4)
    MapDevicePowerState: mapping D2 to D0
    SetDevicePower: setting 'pmi1:' to D2 (mapped to D0), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x014e0007) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x014e0007 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'pmi1:' is current 2, req 0, set -1, floor 4, ceiling 2, actual 0
    DeviceStateDecRef: refcnt for 0xd00e62a0 set to 1
    DeviceStateAddRef: refcnt for 0xd00e5c40 set to 2
    UpdateDeviceState: new state for 'i2c2:' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 4)
    MapDevicePowerState: mapping D2 to D1
    SetDevicePower: setting 'i2c2:' to D2 (mapped to D1), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x01140007) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x01140007 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'i2c2:' is current 2, req 0, set -1, floor 4, ceiling 2, actual 1
    DeviceStateDecRef: refcnt for 0xd00e5c40 set to 1
    DeviceStateAddRef: refcnt for 0xd00e55e0 set to 2
    UpdateDeviceState: new state for 'i2c1:' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 4)
    MapDevicePowerState: mapping D2 to D1
    SetDevicePower: setting 'i2c1:' to D2 (mapped to D1), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x00f60007) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x00f60007 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'i2c1:' is current 2, req 0, set -1, floor 4, ceiling 2, actual 1
    DeviceStateDecRef: refcnt for 0xd00e55e0 set to 1
    DeviceStateAddRef: refcnt for 0xd00e4e40 set to 2
    UpdateDeviceState: new state for 'spi1:' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 4)
    MapDevicePowerState: mapping D2 to D1
    SetDevicePower: setting 'spi1:' to D2 (mapped to D1), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x01fb0003) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x01fb0003 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'spi1:' is current 2, req 0, set -1, floor 4, ceiling 2, actual 1
    DeviceStateDecRef: refcnt for 0xd00e4e40 set to 1
    DeviceStateAddRef: refcnt for 0xd350dda0 set to 2
    UpdateDeviceState: new state for '\windows\ddraw_ipu.dll' is 2 (current 3, req 0, set -1, floor 4, ceiling 2, actual 4)
    MapDevicePowerState: mapping D2 to D0
    SetDevicePower: setting '\windows\ddraw_ipu.dll' to D2 (mapped to D0), fForceSet is 0
    RequestDisplayDevice: calling ExtEscape(0x0002002e) w/ request 3280904 ('IOCTL_POWER_SET')
    UpdateDeviceState: updated state for '\windows\ddraw_ipu.dll' is current 2, req 0, set -1, floor 4, ceiling 2, actual 0
    DeviceStateDecRef: refcnt for 0xd350dda0 set to 1
    DeviceStateAddRef: refcnt for 0xd31b4660 set to 2
    UpdateDeviceState: new state for 'fec1' is 2 (current 4, req 0, set -1, floor 4, ceiling 2, actual 4)
    MapDevicePowerState: mapping D2 to D0
    SetDevicePower: setting 'fec1' to D2 (mapped to D0), fForceSet is 0
    SetDevicePower: parent of 'fec1' is 'nds0:'
    RequestStreamDevice: calling DeviceIoControl(0x03100003) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x03100003 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'fec1' is current 2, req 0, set -1, floor 4, ceiling 2, actual 0
    DeviceStateDecRef: refcnt for 0xd31b4660 set to 1
    GenerateNotifications: sending type 2 notifications (16 bytes)
    SendNotification: sending notification to 0xd3a3be00 (owner 0x00400002)
    SendNotification: sending notification to 0xd3508280 (owner 0x00400002)
    SendNotification: sending notification to 0xd35097a0 (owner 0x00400002)
    GenerateNotifications: done sending type 2 notifications
    -PmSetSystemPowerState_I: returning dwStatus 0
    PowerStateManager::ThreadRun: activityEvent = 12 

     

     

    +PmSetSystemPowerState_I: name suspend, hint 0x00000000, options 0x00000000, fInternal 0x1
    ReadSystemPowerState: state 'suspend' devices max is D3, flags 0x00200000
    RegReadClassDeviceRestrictions: reading information for class {98c5250d-c29a-4985-ae5f-afe5367e5006}
    RegReadClassDeviceRestrictions: device 'Default' restricted to D4
    RegReadClassDeviceRestrictions: reading information for class {a32942b7-920c-486b-b0e6-92a702a99b35}
    RegReadClassDeviceRestrictions: skipping flags 0x00200000
    RegReadClassDeviceRestrictions: device 'Default' restricted to D3
    GenerateNotifications: sending type 1 notifications (28 bytes)
    SendNotification: sending notification to 0xd3a3be00 (owner 0x00400002)
    GenerateNotifications: done sending type 1 notifications
    PlatformSetSystemPowerState: suspending - notifying non-block drivers
    DeviceStateAddRef: refcnt for 0xd350b460 set to 2
    UpdateDeviceState: new state for 'dvf2:' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 2)
    MapDevicePowerState: mapping D3 to D4
    SetDevicePower: setting 'dvf2:' to D3 (mapped to D4), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x041d0003) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x041d0003 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'dvf2:' is current 3, req 0, set -1, floor 4, ceiling 3, actual 4
    DeviceStateDecRef: refcnt for 0xd350b460 set to 1
    DeviceStateAddRef: refcnt for 0xd350b0a0 set to 2
    UpdateDeviceState: new state for 'dvf1:' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 2)
    MapDevicePowerState: mapping D3 to D4
    SetDevicePower: setting 'dvf1:' to D3 (mapped to D4), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x04190003) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x04190003 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'dvf1:' is current 3, req 0, set -1, floor 4, ceiling 3, actual 4
    DeviceStateDecRef: refcnt for 0xd350b0a0 set to 1
    DeviceStateAddRef: refcnt for 0xd31b2160 set to 3
    UpdateDeviceState: new state for 'nds0:' is 3 (current 0, req 0, set -1, floor 4, ceiling 3, actual 0)
    MapDevicePowerState: mapping D3 to D0
    SetDevicePower: setting 'nds0:' to D3 (mapped to D0), fForceSet is 0
    SetDevicePower: device is already at D0
    UpdateDeviceState: updated state for 'nds0:' is current 0, req 0, set -1, floor 4, ceiling 3, actual 0
    DeviceStateDecRef: refcnt for 0xd31b2160 set to 2
    DeviceStateAddRef: refcnt for 0xd00e7280 set to 2
    UpdateDeviceState: new state for 'wav2:' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 0)
    MapDevicePowerState: mapping D3 to D4
    SetDevicePower: setting 'wav2:' to D3 (mapped to D4), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x017c000b) w/ request 3280904 ('IOCTL_POWER_SET')
    -PmSetSystemPowerState: returning <--- dwStatus 0
    +PmSetSystemPowerState: name <NULL>, hint 0x00010000, options 0x00001000
    +PowerStateManager::SendSystemPowerState: name <NULL>, hint 0x00010000, options 0x00001000, fInternal -805021920
    ReadSystemPowerState: state 'on' devices max is D0, flags 0x12010000
    ReadSystemPowerState: state 'useridle' devices max is D1, flags 0x11000000
    ReadSystemPowerState: state 'suspend' devices max is D3, flags 0x00200000
    ReadSystemPowerState: state 'reboot' devices max is D4, flags 0x00800000
    ReadSystemPowerState: state 'coldreboot' devices max is D4, flags 0x00800000
    DefaultPowerStateManager::PlatformMapPowerStateHint: returning state "on"
    +PowerStateManager::SendSystemPowerState: name "on", hint 0x00010000, options 0x00001000, fInternal 0xd0045720
    +PmGetSystemPowerState: buf 0xd366fa18, size 260, pflags 0xd366fa10
    -PmGetSystemPowerState: returning 0
    RequestStreamDevice: DeviceIoControl(3280904) to 0x017c000b failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'wav2:' is current 3, req 0, set -1, floor 4, ceiling 3, actual 4
    DeviceStateDecRef: refcnt for 0xd00e7280 set to 1
    DeviceStateAddRef: refcnt for 0xd00e6ec0 set to 2
    UpdateDeviceState: new state for 'vpu1:' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 0)
    MapDevicePowerState: mapping D3 to D4
    SetDevicePower: setting 'vpu1:' to D3 (mapped to D4), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x01db0007) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x01db0007 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'vpu1:' is current 3, req 0, set -1, floor 4, ceiling 3, actual 4
    DeviceStateDecRef: refcnt for 0xd00e6ec0 set to 1
    DeviceStateAddRef: refcnt for 0xd00e6a60 set to 2
    UpdateDeviceState: new state for 'bkl1:' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 0)
    MapDevicePowerState: mapping D3 to D4
    SetDevicePower: setting 'bkl1:' to D3 (mapped to D4), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x017b0007) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x017b0007 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'bkl1:' is current 3, req 0, set -1, floor 4, ceiling 3, actual 4
    DeviceStateDecRef: refcnt for 0xd00e6a60 set to 1
    DeviceStateAddRef: refcnt for 0xd00e62a0 set to 2
    UpdateDeviceState: new state for 'pmi1:' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 0)
    MapDevicePowerState: mapping D3 to D4
    SetDevicePower: setting 'pmi1:' to D3 (mapped to D4), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x014e0007) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x014e0007 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'pmi1:' is current 3, req 0, set -1, floor 4, ceiling 3, actual 4
    DeviceStateDecRef: refcnt for 0xd00e62a0 set to 1
    DeviceStateAddRef: refcnt for 0xd00e5c40 set to 2
    UpdateDeviceState: new state for 'i2c2:' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 1)
    MapDevicePowerState: mapping D3 to D4
    SetDevicePower: setting 'i2c2:' to D3 (mapped to D4), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x01140007) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x01140007 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'i2c2:' is current 3, req 0, set -1, floor 4, ceiling 3, actual 4
    DeviceStateDecRef: refcnt for 0xd00e5c40 set to 1
    DeviceStateAddRef: refcnt for 0xd00e55e0 set to 2
    UpdateDeviceState: new state for 'i2c1:' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 1)
    MapDevicePowerState: mapping D3 to D4
    SetDevicePower: setting 'i2c1:' to D3 (mapped to D4), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x00f60007) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x00f60007 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'i2c1:' is current 3, req 0, set -1, floor 4, ceiling 3, actual 4
    DeviceStateDecRef: refcnt for 0xd00e55e0 set to 1
    DeviceStateAddRef: refcnt for 0xd00e4e40 set to 2
    UpdateDeviceState: new state for 'spi1:' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 1)
    MapDevicePowerState: mapping D3 to D4
    SetDevicePower: setting 'spi1:' to D3 (mapped to D4), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x01fb0003) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x01fb0003 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'spi1:' is current 3, req 0, set -1, floor 4, ceiling 3, actual 4
    DeviceStateDecRef: refcnt for 0xd00e4e40 set to 1
    DeviceStateAddRef: refcnt for 0xd350dda0 set to 2
    UpdateDeviceState: new state for '\windows\ddraw_ipu.dll' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 0)
    MapDevicePowerState: mapping D3 to D4
    SetDevicePower: setting '\windows\ddraw_ipu.dll' to D3 (mapped to D4), fForceSet is 0
    RequestDisplayDevice: calling ExtEscape(0x0002002e) w/ request 3280904 ('IOCTL_POWER_SET')
    UpdateDeviceState: updated state for '\windows\ddraw_ipu.dll' is current 3, req 0, set -1, floor 4, ceiling 3, actual 4
    DeviceStateDecRef: refcnt for 0xd350dda0 set to 1
    DeviceStateAddRef: refcnt for 0xd31b4660 set to 2
    UpdateDeviceState: new state for 'fec1' is 4 (current 2, req 0, set -1, floor 4, ceiling 4, actual 0)
    MapDevicePowerState: mapping D4 to D4
    SetDevicePower: setting 'fec1' to D4 (mapped to D4), fForceSet is 0
    SetDevicePower: parent of 'fec1' is 'nds0:'
    RequestStreamDevice: calling DeviceIoControl(0x03100003) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x03100003 failed 0 (0x00000000)
    UpdateDeviceState: updated state for 'fec1' is current 4, req 0, set -1, floor 4, ceiling 4, actual 4
    DeviceStateDecRef: refcnt for 0xd31b4660 set to 1
    PlatformSetSystemPowerState: calling KernelIoControl(IOCTL_HAL_PRESUSPEND)
    PlatformSetSystemPowerState: suspending - notifying block drivers
    DeviceStateAddRef: refcnt for 0xd37a2ac0 set to 2
    UpdateDeviceState: new state for 'dsk2:' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 2)
    MapDevicePowerState: mapping D3 to D2
    SetDevicePower: setting 'dsk2:' to D3 (mapped to D2), fForceSet is 0
    SetDevicePower: device is already at D2
    UpdateDeviceState: updated state for 'dsk2:' is current 2, req 0, set -1, floor 4, ceiling 3, actual 2
    DeviceStateDecRef: refcnt for 0xd37a2ac0 set to 1
    DeviceStateAddRef: refcnt for 0xd0047f20 set to 2
    UpdateDeviceState: new state for 'dsk1:' is 3 (current 2, req 0, set -1, floor 4, ceiling 3, actual 2)
    MapDevicePowerState: mapping D3 to D3
    SetDevicePower: setting 'dsk1:' to D3 (mapped to D3), fForceSet is 0
    RequestStreamDevice: calling DeviceIoControl(0x01130003) w/ request 3280904 ('IOCTL_POWER_SET')
    RequestStreamDevice: DeviceIoControl(3280904) to 0x01130003 failed 50 (0x00000032)
    UpdateDeviceState: updated state for 'dsk1:' is current 3, req 0, set -1, floor 4, ceiling 3, actual 3
    DeviceStateDecRef: refcnt for 0xd0047f20 set to 1
    PlatformSetSystemPowerState: calling PowerOffSystem()

     

    Activitytimer values are set to 0xffff.

    I am not executing any application related to power management and system is running on external power.

    Please help me to locate the caller of PmSetSystemPowerState(SUSPEND) function.

     

    Thanks...

    Tuesday, February 1, 2011 11:35 AM

Answers

  • Finally solved power management related issue.

    Culprit was PowerButton driver. Eventhough I have excluded PWRBTN driver from build, driver was compiling.

    As I said before, there is no power button support in my board, but driver was calling suspend continuously.

    This happens because iMX51 BSP dirs file include all the folders in a directory. In case of iMX27 dirs file has selective drivers.

    After including BSP_NOPWRBTN in environmental variable solved my issue.

    Thanks for the support.

    • Marked as answer by shivaprasad85 Wednesday, February 2, 2011 1:00 PM
    Wednesday, February 2, 2011 12:50 PM

All replies

  • Enable the KITL and kernel debugger , put the breakpoint on PmSetSystemPowerState() function and see the call stack window to trace the process who call this function.

    What is the value that you have set in the following registry for suspend?

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\Timeouts]

    "ACSuspend"

    "BattSuspend"


    Vinoth.R http://vinoth-vinothblog.blogspot.com http://www.e-consystems.com
    Tuesday, February 1, 2011 11:43 AM
  • System is not booting with KITL + PM enabled. Either one of these need to be disabled for booting the system.

    ACSuspend, BattSuspend values are set to zero.

     

    Tuesday, February 1, 2011 1:03 PM
  • How would you put your system into suspend?  If you are doing it by responding to a hardware event (interrupt) then you should review that code to make sure that it is correct - if you have it reversed it could cause this problem.


    Bruce Eitman (eMVP)
    Senior Engineer
    Bruce.Eitman AT Eurotech DOT com
    My BLOG http://geekswithblogs.net/bruceeitman

    Eurotech Inc.
    www.Eurotech.com
    Tuesday, February 1, 2011 2:10 PM
    Moderator
  • I purposefully avoided pminit() by deleting registry entry \SYSTEM\CurrentControlSet\Control\Power, to check PmSetSystemPowerState() call is from Power management or from outside.

    Still I am continuously getting PmSetSystemPowerState() call. Call is repeating for every 1sec.

    Below is the log.

    +PmSetSystemPowerState: name <NULL>, hint 0x00200000, options 0x00001000
    +PowerStateManager::SendSystemPowerState: name <NULL>, hint 0x00200000, options 0x00001000, fInternal -805019488
    ReadSystemPowerState: RegOpenKeyEx('on') failed
    ReadSystemPowerState: RegOpenKeyEx('useridle') failed
    ReadSystemPowerState: RegOpenKeyEx('suspend') failed
    ReadSystemPowerState: RegOpenKeyEx('reboot') failed
    ReadSystemPowerState: RegOpenKeyEx('coldreboot') failed
    DefaultPowerStateManager::PlatformMapPowerStateHint: returning 2
    +PowerStateManager::SendSystemPowerState: name "", hint 0x00200000, options 0x00001000, fInternal 0xd00460a0
    -PmSetSystemPowerState: returning <--- dwStatus 2
    +PmGetSystemPowerState: buf 0xd368fa18, size 260, pflags 0xd368fa10
    -PmGetSystemPowerState: returning 0
    +PmSetSystemPowerState: name <NULL>, hint 0x00200000, options 0x00001000
    +PowerStateManager::SendSystemPowerState: name <NULL>, hint 0x00200000, options 0x00001000, fInternal -805019488
    ReadSystemPowerState: RegOpenKeyEx('on') failed
    ReadSystemPowerState: RegOpenKeyEx('useridle') failed
    ReadSystemPowerState: RegOpenKeyEx('suspend') failed
    ReadSystemPowerState: RegOpenKeyEx('reboot') failed
    ReadSystemPowerState: RegOpenKeyEx('coldreboot') failed
    DefaultPowerStateManager::PlatformMapPowerStateHint: returning 2
    +PowerStateManager::SendSystemPowerState: name "", hint 0x00200000, options 0x00001000, fInternal 0xd00460a0

     

    hint 0x00200000 indicates it is suspend activity.

    Call is failing because PM initialization is failed.

    How can I locate the caller of PmSetSystemPowerState() function. I cannot use KITL, it is not working.

    Is there any method available to print process ID of application in driver API's.

    Thanks,

    Wednesday, February 2, 2011 5:44 AM
  • The first caller up the stack from PmSetSystemPowerState will certainly be the kernel process.  You should be able to use GetThreadCallStack to dump the info on multiple stack frames to determine where the call originated.  Clearly, though, your job would be much simpler if you got KITL working.
    Tom Gensel PTG Systems, LLC
    http://www.ptgsystems.com
    Wednesday, February 2, 2011 6:36 AM
  • Can you try this :

     

    ;
    ; The system enters this state when it resumes and determines whether to turn on
    ; devices or go back to sleep.
    ;
    [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\Resuming]
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\Resuming]
        "Default"=dword:0           ; D2
        "Flags"=dword:0               ;10000000      ; POWER_STATE_PASSWORD
        ;"bkl1:"=dword:4             ; backlight off

    [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\Resuming\{EB91C7C9-8BF6-4a2d-9AB8-69724EED97D1}]
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\Resuming\{EB91C7C9-8BF6-4a2d-9AB8-69724EED97D1}]
        "Default"=dword:0           ; D4

     

    Regards,

    Misbah

    Wednesday, February 2, 2011 9:18 AM
  • Hi,

    PmSetSystemPowerState() call is tracked back to PM_SetSystemPowerState() in PRIVATE/WINCEOS/COREOS/DEVICE/PMIF/pmif.c.

    PM_SetSystemPowerState() function is registered as an API set inside PRIVATE/WINCEOS/COREOS/DEVICE/DEVCORE/devicecore.c

     

    PM_SetSystemPowerState(SUSPEND) function is called repeatedly. Does it mean that any application(eg:taskbar) layer is calling suspend?

    1. My system is not executing any user applications.

    2. There is no power button support for switch on/off or suspend/resume functionality

    3. System is running on AC power

    4. Activity Timers are not expiring, but still system is suspending continuously.

    What are the other events which may cause system suspend.

     

    Wednesday, February 2, 2011 10:56 AM
  • Finally solved power management related issue.

    Culprit was PowerButton driver. Eventhough I have excluded PWRBTN driver from build, driver was compiling.

    As I said before, there is no power button support in my board, but driver was calling suspend continuously.

    This happens because iMX51 BSP dirs file include all the folders in a directory. In case of iMX27 dirs file has selective drivers.

    After including BSP_NOPWRBTN in environmental variable solved my issue.

    Thanks for the support.

    • Marked as answer by shivaprasad85 Wednesday, February 2, 2011 1:00 PM
    Wednesday, February 2, 2011 12:50 PM