From: Kevin Hilman <khilman@deeprootsystems.com>
To: Benoit Cousson <b-cousson@ti.com>
Cc: paul@pwsan.com, linux-omap@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Rajendra Nayak <rnayak@ti.com>,
Santosh Shilimkar <santosh.shilimkar@ti.com>
Subject: Re: [PATCH 1/5] OMAP4: PM: Use the lowpwrstatechange feature on OMAP4
Date: Tue, 14 Dec 2010 11:51:52 -0800 [thread overview]
Message-ID: <87zks8rv3b.fsf@deeprootsystems.com> (raw)
In-Reply-To: <1292276969-29733-2-git-send-email-b-cousson@ti.com> (Benoit Cousson's message of "Mon, 13 Dec 2010 22:49:25 +0100")
Benoit Cousson <b-cousson@ti.com> writes:
> From: Rajendra Nayak <rnayak@ti.com>
>
> For pwrdm's which support lowperstatechange, do not try waking
> up the domain to put it back to deeper sleep state.
>
> Signed-off-by: Rajendra Nayak <rnayak@ti.com>
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Acked-by: Benoit Cousson <b-cousson@ti.com>
Re: $SUBJECT, the rather than using the cryptic lowpwrstchange name from the
pwrdm API, just use the more readable "low-power state change"
Also, readability/flow, I have some questions/comments...
> ---
> arch/arm/mach-omap2/pm.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
> index cf1c4c9..dc68044 100644
> --- a/arch/arm/mach-omap2/pm.c
> +++ b/arch/arm/mach-omap2/pm.c
> @@ -114,6 +114,14 @@ int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state)
> return ret;
>
> if (pwrdm_read_pwrst(pwrdm) < PWRDM_POWER_ON) {
> + if ((pwrdm_read_pwrst(pwrdm) > state) &&
> + (pwrdm->flags & PWRDM_HAS_LOWPOWERSTATECHANGE)) {
> + ret = pwrdm_set_next_pwrst(pwrdm, state);
> + pwrdm_set_lowpwrstchange(pwrdm);
> + pwrdm_wait_transition(pwrdm);
> + pwrdm_state_switch(pwrdm);
> + return ret;
Personally, I'd prefer if this function flowed through better instead of
the early return in order to emphasize the common code.
Rather than the return here, can you just set the low-power state change
bit here (and put the clkdm_wakeup + sleep_switch = 1 into the else
clause?
Or, does the next state have to be set before the low-power state change
bit?
Basically, what I'm getting at is this should be a single function with
common flow. The conditional code based on low-power state change
should be isolated instead of having a special path.
Kevin
> + }
> omap2_clkdm_wakeup(pwrdm->pwrdm_clkdms[0]);
> sleep_switch = 1;
> pwrdm_wait_transition(pwrdm);
WARNING: multiple messages have this Message-ID (diff)
From: khilman@deeprootsystems.com (Kevin Hilman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/5] OMAP4: PM: Use the lowpwrstatechange feature on OMAP4
Date: Tue, 14 Dec 2010 11:51:52 -0800 [thread overview]
Message-ID: <87zks8rv3b.fsf@deeprootsystems.com> (raw)
In-Reply-To: <1292276969-29733-2-git-send-email-b-cousson@ti.com> (Benoit Cousson's message of "Mon, 13 Dec 2010 22:49:25 +0100")
Benoit Cousson <b-cousson@ti.com> writes:
> From: Rajendra Nayak <rnayak@ti.com>
>
> For pwrdm's which support lowperstatechange, do not try waking
> up the domain to put it back to deeper sleep state.
>
> Signed-off-by: Rajendra Nayak <rnayak@ti.com>
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Acked-by: Benoit Cousson <b-cousson@ti.com>
Re: $SUBJECT, the rather than using the cryptic lowpwrstchange name from the
pwrdm API, just use the more readable "low-power state change"
Also, readability/flow, I have some questions/comments...
> ---
> arch/arm/mach-omap2/pm.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
> index cf1c4c9..dc68044 100644
> --- a/arch/arm/mach-omap2/pm.c
> +++ b/arch/arm/mach-omap2/pm.c
> @@ -114,6 +114,14 @@ int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state)
> return ret;
>
> if (pwrdm_read_pwrst(pwrdm) < PWRDM_POWER_ON) {
> + if ((pwrdm_read_pwrst(pwrdm) > state) &&
> + (pwrdm->flags & PWRDM_HAS_LOWPOWERSTATECHANGE)) {
> + ret = pwrdm_set_next_pwrst(pwrdm, state);
> + pwrdm_set_lowpwrstchange(pwrdm);
> + pwrdm_wait_transition(pwrdm);
> + pwrdm_state_switch(pwrdm);
> + return ret;
Personally, I'd prefer if this function flowed through better instead of
the early return in order to emphasize the common code.
Rather than the return here, can you just set the low-power state change
bit here (and put the clkdm_wakeup + sleep_switch = 1 into the else
clause?
Or, does the next state have to be set before the low-power state change
bit?
Basically, what I'm getting at is this should be a single function with
common flow. The conditional code based on low-power state change
should be isolated instead of having a special path.
Kevin
> + }
> omap2_clkdm_wakeup(pwrdm->pwrdm_clkdms[0]);
> sleep_switch = 1;
> pwrdm_wait_transition(pwrdm);
next prev parent reply other threads:[~2010-12-14 19:51 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-13 21:49 [PATCH 0/5] OMAP3&4: Fixes in setup/suspend/powerdomain Benoit Cousson
2010-12-13 21:49 ` Benoit Cousson
2010-12-13 21:49 ` [PATCH 1/5] OMAP4: PM: Use the lowpwrstatechange feature on OMAP4 Benoit Cousson
2010-12-13 21:49 ` Benoit Cousson
2010-12-14 19:51 ` Kevin Hilman [this message]
2010-12-14 19:51 ` Kevin Hilman
2010-12-15 15:17 ` Rajendra Nayak
2010-12-15 15:17 ` Rajendra Nayak
2010-12-15 23:40 ` Kevin Hilman
2010-12-15 23:40 ` Kevin Hilman
2010-12-13 21:49 ` [PATCH 2/5] OMAP4: PM: Do not assume clkdm supports hw transitions Benoit Cousson
2010-12-13 21:49 ` Benoit Cousson
2010-12-14 19:52 ` Kevin Hilman
2010-12-14 19:52 ` Kevin Hilman
2010-12-13 21:49 ` [PATCH 3/5] OMAP4: powerdomain: l4per pwrdm does not support OFF Benoit Cousson
2010-12-13 21:49 ` Benoit Cousson
2010-12-13 21:49 ` [PATCH 4/5] OMAP4: powerdomain: Remove L3INIT_PD OFF state Benoit Cousson
2010-12-13 21:49 ` Benoit Cousson
2010-12-13 21:49 ` [PATCH 5/5] OMAP4: clock data: Keep L3INSTR clock domain modulemode under HW control Benoit Cousson
2010-12-13 21:49 ` Benoit Cousson
2010-12-14 6:43 ` [PATCH 0/5] OMAP3&4: Fixes in setup/suspend/powerdomain Paul Walmsley
2010-12-14 6:43 ` Paul Walmsley
2010-12-14 19:53 ` Kevin Hilman
2010-12-14 19:53 ` Kevin Hilman
2010-12-22 3:43 ` Paul Walmsley
2010-12-22 3:43 ` Paul Walmsley
2010-12-22 3:45 ` Paul Walmsley
2010-12-22 3:45 ` Paul Walmsley
2010-12-22 3:44 ` Paul Walmsley
2010-12-22 3:44 ` Paul Walmsley
2010-12-22 11:42 ` Santosh Shilimkar
2010-12-22 11:42 ` Santosh Shilimkar
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=87zks8rv3b.fsf@deeprootsystems.com \
--to=khilman@deeprootsystems.com \
--cc=b-cousson@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.com \
--cc=rnayak@ti.com \
--cc=santosh.shilimkar@ti.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.