linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: santosh.shilimkar@ti.com (Santosh Shilimkar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/9] omap4: powerdomain: Add supported INACTIVE power state
Date: Tue, 8 Feb 2011 12:11:38 +0530	[thread overview]
Message-ID: <eeb0b3adcb43ef0e79ab2ef160f2090c@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1102071801540.21991@utopia.booyaka.com>

> -----Original Message-----
> From: Paul Walmsley [mailto:paul at pwsan.com]
> Sent: Tuesday, February 08, 2011 7:02 AM
> To: Santosh Shilimkar
> Cc: linux-omap at vger.kernel.org; Kevin Hilman; Benoit Cousson;
> Rajendra Nayak; linux-arm-kernel at lists.infradead.org
> Subject: RE: [PATCH v2 1/9] omap4: powerdomain: Add supported
> INACTIVE power state
>
> On Mon, 7 Feb 2011, Santosh Shilimkar wrote:
>
> > > -----Original Message-----
> > > From: Paul Walmsley [mailto:paul at pwsan.com]
> > > Sent: Monday, February 07, 2011 2:12 AM
> > >
> > > Continuing the discussion here:
> > >
> > >    http://www.mail-archive.com/linux-
> > > omap at vger.kernel.org/msg43509.html
> > >
> > > 1. It appears that the OMAP4 powerdomain ON-ACTIVE state is a
> new
> > > state
> > > for OMAP4, and does not exist as such on previous chips (unless
> the
> > > PRM_VOLTCTRL.AUTO_* bits are all disabled)
> > >
> > Actually it's not new state but more of convention change. ON-
> ACTIVE
> > is like ON in OMAP3.
>
> Hmm, based on our earlier list mails, that seems confusing.  Setting
> an
> OMAP3 powerdomain next-power-state to 'ON' in OMAP3 allows voltage
> domain
> transitions to the SLEEP level.  But setting an OMAP4 powerdomain
> next-power-state to 'ON-ACTIVE' does not allow voltage domain
> transitions to the SLEEP level.  And setting an OMAP4 powerdomain
> next-power-state to 'ON-INACTIVE' does allow voltage domain
> transitions to
> the SLEEP level.  Is that correct?
>
You have point. And you are absolutely correct.

> If that's correct, then OMAP4 ON-ACTIVE is a functionally new
> powerdomain
> next-power-state setting, and OMAP4 ON-INACTIVE is the same state as
> OMAP3
> ON.  Unless there's something obvious that I'm missing?
>
> > > 2. It also appears that the OMAP4 powerdomain ON-INACTIVE state
> > > is equivalent to the OMAP3 powerdomain ON state (again, assuming
> > > that the
> > > PRM_VOLTCTRL.AUTO_SLEEP bit is set on OMAP3).
> > >
> > This is correct.
> >
> > > Could you please comment on whether these statements are true or
> > > false?
> > >
> >
> > Just to summarise my undertsnaing of this here.
> > On OMAP3 too, we had possibility of being in a one of the
> > Two state when programmed to PD ON state.
> > ON-ACTIVE or ON-INACTIVE. The PD status registers just
> > says INACTIVE or ON based on the clodomains states within PD.
>
> Right, but when 'ON' is written into an OMAP3 powerdomain's
> next-power-state bits, voltage domain transitions are allowed.  So
> I'm
> just trying to confirm that OMAP3 ON state is functionally
> equivalent to
> the OMAP4 ON-INACTIVE state, and not functionally equivalent to the
> OMAP4
> ON-ACTIVE state.
>
Yep. This is indeed the case.

> We have to ensure that the core code-internal meaning of the (ON,
> INACTIVE, RET, OFF) states doesn't vary across SoC types.  Otherwise
> "ON"
> on OMAP4 won't mean "ON" on OMAP3, and the goal is for the core code
> to be SoC-independent.
>
Agree.

> One way to do that would be to add a small mapping layer for the
> powerdomain set-next-power-state code to:
>
> - allow programming INACTIVE on OMAP3, by ensuring that, when all
>   powerdomains in a voltage domain are in INACTIVE, that AUTO_SLEEP
>   is set to 1, and then setting the hardware next-power-state to ON;
> and
>
> - allow programming ON on OMAP3, by ensuring that AUTO_SLEEP is set
>   to 0, and setting the hardware next-power-state to ON.
>
> On OMAP4, presumably it wouldn't be needed to mess with the
> AUTO_SLEEP
> bit.
>
> Probably to make that work cleanly, either clockdomains or
> powerdomains
> would need to be associated with voltage domains; and some kind of
> counter
> would need to be implemented in the voltage domains to indicate when
> it is
> appropriate to write to the AUTO_SLEEP bit.
>
Sounds right approach.

Regards,
Santosh

  reply	other threads:[~2011-02-08  6:41 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-04  9:58 [PATCH v2 0/9] omap4: prcm: Few dpll, clockdomain and powerdomain updates Santosh Shilimkar
2011-02-04  9:58 ` [PATCH v2 1/9] omap4: powerdomain: Add supported INACTIVE power state Santosh Shilimkar
2011-02-06 20:42   ` Paul Walmsley
2011-02-07  7:03     ` Santosh Shilimkar
2011-02-08  1:32       ` Paul Walmsley
2011-02-08  6:41         ` Santosh Shilimkar [this message]
2011-02-04  9:58 ` [PATCH v2 2/9] omap4: prcm: Fix the CPUx clockdomain offsets Santosh Shilimkar
2011-02-08  4:55   ` Paul Walmsley
2011-02-25 20:07   ` Paul Walmsley
2011-02-04  9:58 ` [PATCH v2 3/9] omap4: powerdomain: Use intended PWRSTS_* flags instead of values Santosh Shilimkar
2011-02-08  1:45   ` Paul Walmsley
2011-02-08  6:37     ` Santosh Shilimkar
2011-02-25 20:10       ` Paul Walmsley
2011-02-04  9:58 ` [PATCH v2 4/9] omap: clocks: Add checks to see if enable/disable ops are supported Santosh Shilimkar
2011-02-08  1:48   ` Paul Walmsley
2011-02-08  3:25     ` Rajendra Nayak
2011-02-04  9:59 ` [PATCH v2 5/9] omap: clocks: Add allow_idle/deny_idle support in clkops Santosh Shilimkar
2011-02-04  9:59 ` [PATCH v2 6/9] omap: dpll: Add allow_idle/deny_idle support for all DPLL's Santosh Shilimkar
2011-02-08  2:57   ` Paul Walmsley
2011-02-08  3:28     ` Rajendra Nayak
2011-02-08  3:40       ` Paul Walmsley
2011-02-08  4:17         ` Rajendra Nayak
2011-02-08  4:16     ` Paul Walmsley
2011-02-04  9:59 ` [PATCH v2 7/9] omap4: dpll: Add dpll api to control GATE_CTRL Santosh Shilimkar
2011-02-04  9:59 ` [PATCH v2 8/9] omap4: dpll: Enable auto gate control for all MX postdividers Santosh Shilimkar
2011-02-04  9:59 ` [PATCH v2 9/9] omap4: clockdomain: Fix the CPUx domain name Santosh Shilimkar
2011-02-08  4:58   ` Paul Walmsley

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=eeb0b3adcb43ef0e79ab2ef160f2090c@mail.gmail.com \
    --to=santosh.shilimkar@ti.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;
as well as URLs for NNTP newsgroup(s).