Re: [ANNOUNCE] new PM branch: pm-20081119

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

 



Hi,
  On OMAP3EVM, with a minimum config. All domains are hitting RET.
Only SGX domain hits  OFF. No other domain hits OFF.

  I tried doing a echo 1 > /sys/power/enable_off_mode.

  Powertop shows Sleep States upto C4.  Has anyone seen Sleep States
upto C6 with this kernel?

 dont know why MPU/CORE not hitting OFF even though the clocks are off.

With the most of the PM support (Suspend/Resume, Power Domains, CPU
Idle)  up with minimum config.

What else remains to be supported?

CPU freq, constraint frame work and individual drivers support to
enable power domain transition to OFF/RET?
Is this all? do these cover all the pm features of omap3?

Is the constraints framework embedded within the TI SRF or is it
independently usable?

I havent seen too many drivers which specify constraints in the TI
sources though.


Regards,
sriram

On Mon, Nov 24, 2008 at 1:02 PM, Högander Jouni
<jouni.hogander@xxxxxxxxx> wrote:
> "ext Sriram V" <vshrirama@xxxxxxxxx> writes:
>
>> Kevin,
>>
>> On Fri, Nov 21, 2008 at 9:35 PM, Kevin Hilman
>> <khilman@xxxxxxxxxxxxxxxxxxx> wrote:
>>> "Premi, Sanjeev" <premi@xxxxxx> writes:
>>>
>>>>> -----Original Message-----
>>>>> From: Kevin Hilman [mailto:khilman@xxxxxxxxxxxxxxxxxxx]
>>>>> Sent: Thursday, November 20, 2008 11:10 PM
>>>>> To: Premi, Sanjeev
>>>>> Cc: Peter Reid; linux-omap@xxxxxxxxxxxxxxx
>>>>> Subject: Re: [ANNOUNCE] new PM branch: pm-20081119
>>>>>
>>>>> "Premi, Sanjeev" <premi@xxxxxx> writes:
>>>>>
>>>>> > These are my observations on OMAP3EVM:
>>>>> >
>>>>> > 1) Very frequently I see these messages:
>>>>> >
>>>>> > <4>__ratelimit: 6736 callbacks suppressed
>>>>> > __ratelimit: 6736 callbacks suppressed <3>omapfb omapfb: irq error
>>>>> > status 00c2 omapfb omapfb: irq error status 00c2 <3>omapfb
>>>>> omapfb: irq
>>>>> > error status 0060 omapfb omapfb: irq error status 0060 <3>omapfb
>>>>> > omapfb: irq error status 00c2 omapfb omapfb: irq error status 00c2
>>>>> > <3>omapfb omapfb: irq error status 0060 omapfb omapfb: irq error
>>>>> > status 0060 <3>omapfb omapfb: irq error status 00e2 omapfb
>>>>> omapfb: irq
>>>>> > error status 00e2 <3>omapfb omapfb: irq error status 00c2 omapfb
>>>>> > omapfb: irq error status 00c2 <3>omapfb omapfb: irq error
>>>>> status 0060
>>>>> > omapfb omapfb: irq error status 0060 <3>omapfb omapfb: irq error
>>>>> > status 00e2 omapfb omapfb: irq error status 00e2 <3>omapfb
>>>>> omapfb: irq
>>>>> > error status 00c2 omapfb omapfb: irq error status 00c2 <3>omapfb
>>>>> > omapfb: irq error status 0060 omapfb omapfb: irq error status 0060
>>>>>
>>>>> Sanjeev,
>>>>>
>>>>> For starters can you try with a minimal kernel (no drivers,
>>>>> no framebuffer, etc.)
>>>>>
>>>>> The first goal is to hit retention and off with no drivers
>>>>> than start moving out to address driver issues from there.
>>>>>
>>>>> Kevin
>>>>>
>>>>
>>>> Here is what I was able to see with the minimal config (attached).
>>>>
>>>> [root@OMAP3EVM /]# echo mem > /sys/power/state
>>>> <6>PM: Syncing filesystems ... PM: Syncing filesystems ... done.
>>>> done.
>>>> Freezing user space processes ... Freezing user space processes ... (elapsed 0.00 seconds) (elapsed 0.00 seconds) done.
>>>> done.
>>>> Freezing remaining freezable tasks ... Freezing remaining freezable tasks ... (elapsed 0.01 seconds) (elapsed 0.01 seconds) done.done.
>>>>
>>>> Suspending console(s) (use no_console_suspend to debug)
>>>> Suspending console(s) (use no_console_suspend to debug)
>>>>
>>>> <snip>un-printable characters<snip>
>>>>
>>>> Powerdomain (per_pwrdm) didn't enter target state 1
>>>> Could not enter target state in pm_suspend
>>>> Restarting tasks ... Restarting tasks ... done.
>>>> done.
>>>
>>> This is what I see on Beagle as well (PER is not entering retention.)
>>>
>>
>>> At this point, the current PM debug code doesn't help further in
>>> determining exactly why a powerdomain did not hit its target state.
>>> Some device in the domain may still have its clocks enabled, or its
>>> idle state not set correctly.  Or, a given module may have been
>>> initialized by the bootloader in a way which prevents it from going
>>> idle.
>>>
>>
>>   True. I have observed on omap3evm with minimum configuration, and
>> booting out of ramdisk:
>>           with nand booting:  only per powerdomain does not enter retention
>>           with mmc boot:  core and per dont enter retention
>>
>>    it could do with clocks set the bootloaders that is preventing it from
>>    entering ret/off.
>
> To tackle this you should have CONFIG_OMAP_RESET_CLOCKS enabled in
> config.
>
>>    what do you mean by idle state not set correctly? are you referring
>> to auto-idle bit?
>
> Not sure what Kevin meant there, but if the problem was in the
> autoidle bit in *_SYSCONFIG, I would expect also CORE pwrdm to
> fail. Anyway it's also worth of checking the statuses of PER modules
> *_SYSCONFIG registers.
>
>>
>>
>>> We need some improved PM debug capabilities in the kernel to pinpoint
>>> exactly the module that is causing the problem.
>>>
>>
>>    Apart from PM debug, are you using any other module/methods to
>>    debug?
>
> State of PRCM registers can be quickly checked from
> /sys/kernel/debug/pm_debug/registers/current (assuming you have mount
> debugfs in /sys/kernel/debug and PM_DEBUG is enabled in config).
>
> --
> Jouni Högander
>
>
--
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