From: khilman@deeprootsystems.com (Kevin Hilman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] omap: pm34xx: Enable IO / IO-CHAIN wakeups for PER
Date: Thu, 22 Apr 2010 15:31:39 -0700 [thread overview]
Message-ID: <87wrvzxgok.fsf@deeprootsystems.com> (raw)
In-Reply-To: <s2y8bb80c381004211750hd8d62be8hfa0bead1dbfa8d2b@mail.gmail.com> (Mike Chan's message of "Wed\, 21 Apr 2010 17\:50\:12 -0700")
Mike Chan <mike@android.com> writes:
> On Wed, Apr 21, 2010 at 5:07 PM, Kevin Hilman
> <khilman@deeprootsystems.com> wrote:
>> Mike Chan <mike@android.com> writes:
>>
>>> IO events can also come from GPIO modules, which reside in the PER domain.
>>> It is possible for the PER to enter RET while CORE is still in ON.
>>> If GPIO 2-6 are enabled for IO-pad wakeups, the PER domain will not
>>> wakeup in this case, unless we enable it.
>>>
>>> Signed-off-by: Mike Chan <mike@android.com>
>>
>> Hi Mike,
>>
>> I'm a little puzzled on this one. ?My understanding is that the IO pad
>> is only armed when CORE is in RET or OFF.
>>
>
> The issue we are seeing is when the device is active but idle, if CORE
> is ON and PER is in RET and the omap is sitting in swfi. If the user
> presses a keypad button, IO pad doesn't wake us out of idle. Setting a
> wakeup if PER or CORE goes into RET solve this.
>
>> I need to dig a little more in the TRM on this one to clarify.
>>
>
> I was looking at 4.11.2.2 I/O Wake-Up Mechanism (pg 421)
>
Yeah, that's the right place.
After a little more digging and asking around, this looks like a good
fix, but there's a minor problem with the implementation:
In the section of the TRM you referenced the following sentence is
hiding:
"Software must wait for the I/O daisy chain to complete before it
transitions the PER domain to a nonfunctional state."
In the proposed patch, it's likely that PER could transition to
INACTIVE/RET/OFF before the IO wakeups are enabled. For example, if
nothing in PER is active except UART3, then PER will transition to an
idle state right after omap_uart_prepare_idle(2), which is before
the IO wakeups are currently enabled.
To be perfectly safe, the IO wakeups should be enabled before PER is
allowed to transition.
Kevin
next prev parent reply other threads:[~2010-04-22 22:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-15 1:41 [PATCH 1/2] omap: pm34xx: Enable IO / IO-CHAIN wakeups for PER Mike Chan
2010-04-15 1:41 ` [PATCH 2/2] omap: pm34xx: Remove PER wakeup dependency on CORE Mike Chan
2010-04-22 0:07 ` [PATCH 1/2] omap: pm34xx: Enable IO / IO-CHAIN wakeups for PER Kevin Hilman
2010-04-22 0:50 ` Mike Chan
2010-04-22 22:31 ` Kevin Hilman [this message]
2010-04-22 23:22 ` Mike Chan
2010-04-22 17:57 ` Woodruff, Richard
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=87wrvzxgok.fsf@deeprootsystems.com \
--to=khilman@deeprootsystems.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox