From: "Raja, Govindraj" <govindraj.raja@ti.com>
To: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>, Joe Woodward <jw@terrafix.co.uk>,
linux-omap@vger.kernel.org, Felipe Balbi <balbi@ti.com>,
neilb@suse.de, linux-serial@vger.kernel.org
Subject: Re: Suspend broken on 3.3?
Date: Thu, 12 Apr 2012 17:21:36 +0530 [thread overview]
Message-ID: <CAMrsUdLb-KUqa1ydCF3KweqHzJDftEnNF+5U67SLi=GyE-NfPg@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1204111323210.29473@utopia.booyaka.com>
On Thu, Apr 12, 2012 at 1:04 AM, Paul Walmsley <paul@pwsan.com> wrote:
> Hi
>
> a few brief comments based on a quick scan:
>
> On Wed, 11 Apr 2012, Raja, Govindraj wrote:
>
>> Here is the patch [1] to do the same.
>
> - I don't see where it affects I/O wakeups for the UART. If I/O wakeups
> are still set on the UART pads, won't that still wake the chip up from
> suspend, even if module-level wakeups are disabled?
pdata->enable_wakeup => omap_uart_enable_wakeup
was disabling both module level and pad wakeup.
omap_uart_enable_wakeup => has enabling/disabling both
module level and pad wakeup together.
>
> - The UART driver and integration code should not be reading from or
> writing to registers outside the UART IP block. PRM register reads and
> writes belong in the PRM code, which should then export a higher-level
> interface to the calling code. This is because, aside from making the
> code easier to read and debug, we're trying to move the PRM and CM code to
> drivers/.
okay.
>
> - The code to change the PM_WKEN* and test the PM_WKST* bits should
> probably be called from omap_hwmod_{enable,disable}_wakeup(), not the UART
> code directly. The UART code shouldn't need to care about the hardware
> details; it should just ask the integration layer to enable or disable
> module-level wakeups.
To implement this I plan to extend the omap_hwmod_omap2_prcm structure
like this:
(unaligned tmp code snippet)
diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h
b/arch/arm/plat-omap/include/plat/omap_hwmod.h
index 8070145..5c7711b 100644
--- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
@@ -343,6 +343,8 @@ struct omap_hwmod_class_sysconfig {
* @idlest_reg_id: IDLEST register ID (e.g., 3 for CM_IDLEST3)
* @idlest_idle_bit: register bit shift for CM_IDLEST slave idle bit
* @idlest_stdby_bit: register bit shift for CM_IDLEST master standby bit
+ * @module_wakeup_offs: PRCM register offset for PM_WKEN
+ * @module_wakeup_bit: regiter bit mask for PM_WKEN
*
* @prcm_reg_id and @module_bit are specific to the AUTOIDLE, WKST,
* WKEN, GRPSEL registers. In an ideal world, no extra information
@@ -357,6 +359,8 @@ struct omap_hwmod_omap2_prcm {
u8 idlest_reg_id;
u8 idlest_idle_bit;
u8 idlest_stdby_bit;
+ s16 module_wakeup_offs;
+ u32 module_wakeup_bit;
};
>
> As you work on these changes, please split them up into several different
> topic series - one for the PRM changes, one for hwmod code/data changes,
> and one for the UART driver/integration changes. Just note the
> dependencies in the series description E-mails. That way, we can avoid
> merge conflicts.
>
Yes fine. Since most changes will be on /mach-omap2/omap_hwmod*.c
Do you prefer the patches to be on any particular tree/branch where hwmod fixes
are already queued.
--
Thanks,
Govindraj.R
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2012-04-12 11:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <WC20120329112755.541787@terrafix.co.uk>
[not found] ` <WC20120329114024.43178C@terrafix.co.uk>
[not found] ` <CAMrsUdKR4nwbBEOx9JPeS=GLDPyioHuijK2596=q2OwJ+ARbxA@mail.gmail.com>
[not found] ` <WC20120330075339.4017FC@terrafix.co.uk>
[not found] ` <CAMrsUdKTx84_oHyS9JTCBTqtV-7907snCGFDrOXnPuNVSnvz7w@mail.gmail.com>
[not found] ` <WC20120330092609.901834@terrafix.co.uk>
[not found] ` <CAMrsUdJrJZXjYOs87xmT_J0w7S=VZyfR0tBmhhuYOFmFsOB3SA@mail.gmail.com>
[not found] ` <WC20120330110442.381887@terrafix.co.uk>
[not found] ` <CAMrsUd+AvVp3n1oAREEEmCSBaeA-m68j7gLjXEeJKimX1erfUw@mail.gmail.com>
[not found] ` <CAMrsUd+K_EwXfypgYWNyAhR7b47avTpWDemS87OTkpH81cJ6Aw@mail.gmail.com>
[not found] ` <alpine.DEB.2.00.1204040852460.8000@utopia.booyaka.com>
[not found] ` <CAMrsUd+WZcUvHGdR4WyF4uh35D17K9DXFAqpLHKBUbL1_5viDA@mail.gmail.com>
[not found] ` <alpine.DEB.2.00.1204051812320.10302@utopia.booyaka.com>
[not found] ` <87iphdeyaf.fsf@ti.com>
[not found] ` <CAMrsUdLMYVwd3rupHtrNKC0rMvx1-3B=4usOh8cwTUy8DX_hVg@mail.gmail.com>
[not found] ` <87zkalc75h.fsf@ti.com>
2012-04-09 16:01 ` Suspend broken on 3.3? Paul Walmsley
2012-04-09 17:10 ` Kevin Hilman
2012-04-10 9:26 ` Raja, Govindraj
2012-04-10 18:03 ` Kevin Hilman
2012-04-11 13:13 ` Raja, Govindraj
2012-04-11 19:34 ` Paul Walmsley
2012-04-12 11:51 ` Raja, Govindraj [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='CAMrsUdLb-KUqa1ydCF3KweqHzJDftEnNF+5U67SLi=GyE-NfPg@mail.gmail.com' \
--to=govindraj.raja@ti.com \
--cc=balbi@ti.com \
--cc=jw@terrafix.co.uk \
--cc=khilman@ti.com \
--cc=linux-omap@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=neilb@suse.de \
--cc=paul@pwsan.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).