Re: Fail to enter retention

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tony,

When I try to do suspend from userspace, I get better results and it
seems that all domain been put to RET or OFF but on checking power
state time it still shows 0. Do you know why ?

usbhost_pwrdm (ON),OFF:0,RET:2,INA:0,ON:3,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
per_pwrdm (ON),OFF:0,RET:2,INA:0,ON:3,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
dss_pwrdm (ON),OFF:0,RET:5,INA:4,ON:9,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
cam_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
core_pwrdm (ON),OFF:0,RET:2,INA:0,ON:3,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0
neon_pwrdm (ON),OFF:0,RET:2,INA:0,ON:3,RET-LOGIC-OFF:0
mpu_pwrdm (ON),OFF:0,RET:2,INA:0,ON:3,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
iva2_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RET-MEMBANK4-OFF:0
per_clkdm->per_pwrdm (11)
usbhost_clkdm->usbhost_pwrdm (3)
cam_clkdm->cam_pwrdm (0)
dss_clkdm->dss_pwrdm (2)
core_l4_clkdm->core_pwrdm (12)
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)

Thank you,
Ran

On Mon, Nov 17, 2014 at 11:09 PM, Ran Shalit <ranshalit@xxxxxxxxx> wrote:
> Hi Tony,
>
>>Just printing the registers out in the idle loop most likely will give
>>you the info you need.
>
> Probably a dumb question... But if I try to print them won't it
> automatically wakes up the serial (by the way should the serial wakeup
> be configured to RX pin only ?)
> Another thing I don't understand... Can it be that there is some
> ongoing kernel process that also prevent me for entering retention ?
> I think maybe I should try first to suspend (instead of trying to
> enter retention in idle) , maybe it might bring better result ?
>
> Thanks very much,
> Ran
>
> On Mon, Nov 17, 2014 at 10:38 PM, Tony Lindgren <tony@xxxxxxxxxxx> wrote:
>> * Ran Shalit <ranshalit@xxxxxxxxx> [141117 11:48]:
>>> >You need to look if you have some devices blocking deeper
>>> >idle states in cm_idlest*_core and cm_idlest_per registers.
>>>
>>> >The device will automatically idle whatever it can if there
>>> >are no blockers. I believe at least EHCI still is blocking,
>>> >and MUSB if configured and cable connected.
>>>
>>> I'll check the registers value, should I then try to modify this
>>> registers in order to get into retention ?
>>
>> No, those are read-only status registers. You need idle the
>> drivers that show as blocking in those registers.
>>
>>> I will still have to disable serial right ? Maybe some kernel process
>>> which run in background prevents retention ?
>>
>> Yes otherwise the UART bits will show as blocking in those
>> registers.
>>
>>> Is there some simple way to debug this or do I need to modify these registers ?
>>
>> Just printing them out in the idle loop most likely will give
>> you the info you need.
>>
>> Regards,
>>
>> Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux