From: Vivek Kutal <vivek.kutal@celunite.com>
To: Tuukka.Tikkanen@elektrobit.com
Cc: linux-omap-open-source@linux.omap.com
Subject: Re: Problem in omap_pm_idle()
Date: Mon, 24 Sep 2007 12:48:03 +0530 [thread overview]
Message-ID: <46F764AB.7040400@celunite.com> (raw)
In-Reply-To: <3E32F84CD6CB95498A35B353CA3B930C06731E@fioues08.ebgroup.elektrobit.com>
Tuukka.Tikkanen@elektrobit.com wrote:
> From: linux-omap-open-source-bounces@linux.omap.com
> [mailto:linux-omap-open-source-bounces@linux.omap.com] On Behalf Of
> Vivek Kutal
>
>> Tuukka.Tikkanen@elektrobit.com wrote:
>>
>>> From: Vivek Kutal
>>> Subject: Problem in omap_pm_idle()
>>>
>>>
>>>> Hi ,
>>>> I was looking at omap_pm_idle() in omap1/pm.c , at the end
>>>> there is a call to omap_sram_suspend , shouldn't it be
>>>> omap_sram_idle() ? and if CONFIG_OMAP_MPU_TIMER is set it sets
>>>> use_idlect1 = use_idlect1 & ~(1 << 9) , but it does not go into
>>>> wait for interrupt.
>>>> Can anyone please explain this ?
>>>>
>>>>
>>> The only real difference between suspend and idle sleep on omap1 is
>>>
> that
>
>>> for suspend peripheral devices are forcibly shut down. Also the idle
>>> sleep avoids turning off certain clock in some special cases. If
>>>
> there
>
>>> is no user or application activity, when everything is working as
>>> intended the hardware ends up into suspend-like state in idle sleep
>>>
> to
>
>>> conserve battery (with very quick recovery however), so the call is
>>> correct.
>>>
>>>
>>>
>> So we should probably remove the omap_sram_push calls for
>>
> omap_sram_idle
>
>> from omap_pm_init , and its code from sleep.S...right ?
>>
>> and what about the CONFIG_OMAP_MPU_TIMER problem ?
>> it should at least go in Wait for interrupt when mpu timer is
>> used...right now it just exits from omap_pm_idle().
>>
>
> Yes, it seems the conditional compilation directives are wrong. I'd say
> the #endif on line 178 should be on line 150. (Assuming the 1<<9 bit in
> idlect1 is the one controlling the clock source used by the system timer
> in cases where 32kHz source is not used. I dont have TRM access any
> more, so I can't be certain.) Additionally the do_sleep variable should
> be unconditionally declared and the initial value should be moved from
> line 138 outside the conditional area.
>
> Functionality should be verified after such changes, of course.
> Particular attention should be paid to the system time potentially
> slowing down. Should there be any issues then additional idlect bits
> need to be masked. Key issue is to make sure the timer still gets
> functional clock feed under all circumstances.
>
>
>
I'll do the changes and see if there is any time issue.
and I'll also send a patch for removing the code related to
omap_sram_idle in pm_init.
--
Thanks
Vivek
prev parent reply other threads:[~2007-09-24 7:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-18 14:22 Problem in omap_pm_idle() Vivek Kutal
2007-09-18 16:58 ` Tony Lindgren
2007-09-19 12:58 ` Tuukka.Tikkanen
2007-09-20 12:32 ` Vivek Kutal
2007-09-21 14:43 ` Tuukka.Tikkanen
2007-09-24 7:18 ` Vivek Kutal [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46F764AB.7040400@celunite.com \
--to=vivek.kutal@celunite.com \
--cc=Tuukka.Tikkanen@elektrobit.com \
--cc=linux-omap-open-source@linux.omap.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.