* [PATCH 0/2] ARM: OMAP4: powerdomain: Misc powerdomain fix and associated cleanup
@ 2012-03-12 14:34 Santosh Shilimkar
2012-03-12 14:34 ` [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() Santosh Shilimkar
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Santosh Shilimkar @ 2012-03-12 14:34 UTC (permalink / raw)
To: linux-arm-kernel
Paul,
Can you please have at this series ?
First patch is the bug fix and second one is the cleanup which you proposed some
time back.
Santosh Shilimkar (2):
ARM: OMAP: powerdomain: Wait for powerdomain transition in
pwrdm_state_switch()
ARM: OMAP: powerdomain: Get rid off duplicate
pwrdm_clkdm_state_switch() API
arch/arm/mach-omap2/clock.c | 2 +-
arch/arm/mach-omap2/clockdomain.c | 7 +++----
arch/arm/mach-omap2/powerdomain.c | 14 +++++---------
arch/arm/mach-omap2/powerdomain.h | 1 -
4 files changed, 9 insertions(+), 15 deletions(-)
--
1.7.4.1
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() 2012-03-12 14:34 [PATCH 0/2] ARM: OMAP4: powerdomain: Misc powerdomain fix and associated cleanup Santosh Shilimkar @ 2012-03-12 14:34 ` Santosh Shilimkar 2012-03-15 17:32 ` Paul Walmsley 2012-04-03 23:54 ` Paul Walmsley 2012-03-12 14:34 ` [PATCH 2/2] ARM: OMAP: powerdomain: Get rid off duplicate pwrdm_clkdm_state_switch() API Santosh Shilimkar 2012-03-12 14:39 ` [PATCH 0/2] ARM: OMAP4: powerdomain: Misc powerdomain fix and associated cleanup Shilimkar, Santosh 2 siblings, 2 replies; 12+ messages in thread From: Santosh Shilimkar @ 2012-03-12 14:34 UTC (permalink / raw) To: linux-arm-kernel Commit b1cbdb00d{OMAP: clockdomain: Wait for powerdomain to be ON when using clockdomain force wakeup} was assuming that pwrdm_state_switch() does wait for the powerdomain transition which is not the case. Fix this API by adding the pwrdm_wait_transition(). Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> CC: Rajendra Nayak <rnayak@ti.com> CC: Paul Walmsley <paul@pwsan.com> --- arch/arm/mach-omap2/powerdomain.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c index 8a18d1b..96ad3dbe 100644 --- a/arch/arm/mach-omap2/powerdomain.c +++ b/arch/arm/mach-omap2/powerdomain.c @@ -972,7 +972,13 @@ int pwrdm_wait_transition(struct powerdomain *pwrdm) int pwrdm_state_switch(struct powerdomain *pwrdm) { - return _pwrdm_state_switch(pwrdm, PWRDM_STATE_NOW); + int ret; + + ret = pwrdm_wait_transition(pwrdm); + if (!ret) + ret = _pwrdm_state_switch(pwrdm, PWRDM_STATE_NOW); + + return ret; } int pwrdm_clkdm_state_switch(struct clockdomain *clkdm) -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() 2012-03-12 14:34 ` [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() Santosh Shilimkar @ 2012-03-15 17:32 ` Paul Walmsley 2012-03-15 17:51 ` Tony Lindgren 2012-04-03 23:54 ` Paul Walmsley 1 sibling, 1 reply; 12+ messages in thread From: Paul Walmsley @ 2012-03-15 17:32 UTC (permalink / raw) To: linux-arm-kernel On Mon, 12 Mar 2012, Santosh Shilimkar wrote: > Commit b1cbdb00d{OMAP: clockdomain: Wait for powerdomain to be ON > when using clockdomain force wakeup} was assuming that pwrdm_state_switch() > does wait for the powerdomain transition which is not the case. > > Fix this API by adding the pwrdm_wait_transition(). > > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> > CC: Rajendra Nayak <rnayak@ti.com> > CC: Paul Walmsley <paul@pwsan.com> Acked-by: Paul Walmsley <paul@pwsan.com> Sounds like this fixes a major kernel oops bug for Tony so this should go in ASAP to v3.3-rc series. - Paul ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() 2012-03-15 17:32 ` Paul Walmsley @ 2012-03-15 17:51 ` Tony Lindgren 2012-03-15 23:01 ` Paul Walmsley 0 siblings, 1 reply; 12+ messages in thread From: Tony Lindgren @ 2012-03-15 17:51 UTC (permalink / raw) To: linux-arm-kernel * Paul Walmsley <paul@pwsan.com> [120315 10:35]: > On Mon, 12 Mar 2012, Santosh Shilimkar wrote: > > > Commit b1cbdb00d{OMAP: clockdomain: Wait for powerdomain to be ON > > when using clockdomain force wakeup} was assuming that pwrdm_state_switch() > > does wait for the powerdomain transition which is not the case. > > > > Fix this API by adding the pwrdm_wait_transition(). > > > > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> > > CC: Rajendra Nayak <rnayak@ti.com> > > CC: Paul Walmsley <paul@pwsan.com> > > Acked-by: Paul Walmsley <paul@pwsan.com> > > Sounds like this fixes a major kernel oops bug for Tony so this should go > in ASAP to v3.3-rc series. Got a random oops with this one applied still, just happened to take longer this time :( Regards, Tony ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() 2012-03-15 17:51 ` Tony Lindgren @ 2012-03-15 23:01 ` Paul Walmsley 2012-03-15 23:22 ` Tony Lindgren 0 siblings, 1 reply; 12+ messages in thread From: Paul Walmsley @ 2012-03-15 23:01 UTC (permalink / raw) To: linux-arm-kernel On Thu, 15 Mar 2012, Tony Lindgren wrote: > * Paul Walmsley <paul@pwsan.com> [120315 10:35]: > > On Mon, 12 Mar 2012, Santosh Shilimkar wrote: > > > > > Commit b1cbdb00d{OMAP: clockdomain: Wait for powerdomain to be ON > > > when using clockdomain force wakeup} was assuming that pwrdm_state_switch() > > > does wait for the powerdomain transition which is not the case. > > > > > > Fix this API by adding the pwrdm_wait_transition(). > > > > > > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> > > > CC: Rajendra Nayak <rnayak@ti.com> > > > CC: Paul Walmsley <paul@pwsan.com> > > > > Acked-by: Paul Walmsley <paul@pwsan.com> > > > > Sounds like this fixes a major kernel oops bug for Tony so this should go > > in ASAP to v3.3-rc series. > > Got a random oops with this one applied still, just happened > to take longer this time :( Oh well. Will queue it for v3.4-rc1 then... - Paul ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() 2012-03-15 23:01 ` Paul Walmsley @ 2012-03-15 23:22 ` Tony Lindgren 2012-03-15 23:34 ` Paul Walmsley 0 siblings, 1 reply; 12+ messages in thread From: Tony Lindgren @ 2012-03-15 23:22 UTC (permalink / raw) To: linux-arm-kernel * Paul Walmsley <paul@pwsan.com> [120315 16:04]: > On Thu, 15 Mar 2012, Tony Lindgren wrote: > > > * Paul Walmsley <paul@pwsan.com> [120315 10:35]: > > > On Mon, 12 Mar 2012, Santosh Shilimkar wrote: > > > > > > > Commit b1cbdb00d{OMAP: clockdomain: Wait for powerdomain to be ON > > > > when using clockdomain force wakeup} was assuming that pwrdm_state_switch() > > > > does wait for the powerdomain transition which is not the case. > > > > > > > > Fix this API by adding the pwrdm_wait_transition(). > > > > > > > > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> > > > > CC: Rajendra Nayak <rnayak@ti.com> > > > > CC: Paul Walmsley <paul@pwsan.com> > > > > > > Acked-by: Paul Walmsley <paul@pwsan.com> > > > > > > Sounds like this fixes a major kernel oops bug for Tony so this should go > > > in ASAP to v3.3-rc series. > > > > Got a random oops with this one applied still, just happened > > to take longer this time :( > > Oh well. Will queue it for v3.4-rc1 then... It seems that I need this patch plus need to undo the wrong serial muxing in commit 7496ba30 (ARM: OMAP2+: UART: Add default mux for all uarts) to make my zoom3 boot reliably. Regards, Tony ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() 2012-03-15 23:22 ` Tony Lindgren @ 2012-03-15 23:34 ` Paul Walmsley 2012-03-15 23:40 ` Tony Lindgren 0 siblings, 1 reply; 12+ messages in thread From: Paul Walmsley @ 2012-03-15 23:34 UTC (permalink / raw) To: linux-arm-kernel On Thu, 15 Mar 2012, Tony Lindgren wrote: > It seems that I need this patch plus need to undo the wrong > serial muxing in commit 7496ba30 (ARM: OMAP2+: UART: Add default mux > for all uarts) to make my zoom3 boot reliably. Okay. Well want to take the powerdomain patch for the v3.3-rc series then? - Paul ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() 2012-03-15 23:34 ` Paul Walmsley @ 2012-03-15 23:40 ` Tony Lindgren 0 siblings, 0 replies; 12+ messages in thread From: Tony Lindgren @ 2012-03-15 23:40 UTC (permalink / raw) To: linux-arm-kernel * Paul Walmsley <paul@pwsan.com> [120315 16:36]: > On Thu, 15 Mar 2012, Tony Lindgren wrote: > > > It seems that I need this patch plus need to undo the wrong > > serial muxing in commit 7496ba30 (ARM: OMAP2+: UART: Add default mux > > for all uarts) to make my zoom3 boot reliably. > > Okay. Well want to take the powerdomain patch for the v3.3-rc series > then? Uhh now got a random issue of "BUG: bad unlock balance detected".. Random oopses seem less common now, but still not booting reliably. Regards, Tony ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() 2012-03-12 14:34 ` [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() Santosh Shilimkar 2012-03-15 17:32 ` Paul Walmsley @ 2012-04-03 23:54 ` Paul Walmsley 1 sibling, 0 replies; 12+ messages in thread From: Paul Walmsley @ 2012-04-03 23:54 UTC (permalink / raw) To: linux-arm-kernel On Mon, 12 Mar 2012, Santosh Shilimkar wrote: > Commit b1cbdb00d{OMAP: clockdomain: Wait for powerdomain to be ON > when using clockdomain force wakeup} was assuming that pwrdm_state_switch() > does wait for the powerdomain transition which is not the case. > > Fix this API by adding the pwrdm_wait_transition(). > > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> > CC: Rajendra Nayak <rnayak@ti.com> > CC: Paul Walmsley <paul@pwsan.com> Thanks, queued for 3.4-rc. - Paul ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] ARM: OMAP: powerdomain: Get rid off duplicate pwrdm_clkdm_state_switch() API 2012-03-12 14:34 [PATCH 0/2] ARM: OMAP4: powerdomain: Misc powerdomain fix and associated cleanup Santosh Shilimkar 2012-03-12 14:34 ` [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() Santosh Shilimkar @ 2012-03-12 14:34 ` Santosh Shilimkar 2012-04-03 23:58 ` Paul Walmsley 2012-03-12 14:39 ` [PATCH 0/2] ARM: OMAP4: powerdomain: Misc powerdomain fix and associated cleanup Shilimkar, Santosh 2 siblings, 1 reply; 12+ messages in thread From: Santosh Shilimkar @ 2012-03-12 14:34 UTC (permalink / raw) To: linux-arm-kernel With patch 'ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch()', the pwrdm_clkdm_state_switch() API becomes duplicate of pwrdm_state_switch(). Get rid off duplicate pwrdm_clkdm_state_switch() and update the users of it with pwrdm_state_switch() Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> CC: Rajendra Nayak <rnayak@ti.com> CC: Paul Walmsley <paul@pwsan.com> --- arch/arm/mach-omap2/clock.c | 2 +- arch/arm/mach-omap2/clockdomain.c | 7 +++---- arch/arm/mach-omap2/powerdomain.c | 10 ---------- arch/arm/mach-omap2/powerdomain.h | 1 - 4 files changed, 4 insertions(+), 16 deletions(-) diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c index f57ed5b..77db067 100644 --- a/arch/arm/mach-omap2/clock.c +++ b/arch/arm/mach-omap2/clock.c @@ -439,7 +439,7 @@ void omap2_clk_disable_unused(struct clk *clk) clk->ops->disable(clk); } if (clk->clkdm != NULL) - pwrdm_clkdm_state_switch(clk->clkdm); + pwrdm_state_switch(clk->clkdm->pwrdm.ptr); } #endif diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c index ad07689..8664f5a 100644 --- a/arch/arm/mach-omap2/clockdomain.c +++ b/arch/arm/mach-omap2/clockdomain.c @@ -840,7 +840,7 @@ void clkdm_allow_idle(struct clockdomain *clkdm) spin_lock_irqsave(&clkdm->lock, flags); clkdm->_flags |= _CLKDM_FLAG_HWSUP_ENABLED; arch_clkdm->clkdm_allow_idle(clkdm); - pwrdm_clkdm_state_switch(clkdm); + pwrdm_state_switch(clkdm->pwrdm.ptr); spin_unlock_irqrestore(&clkdm->lock, flags); } @@ -924,8 +924,7 @@ static int _clkdm_clk_hwmod_enable(struct clockdomain *clkdm) spin_lock_irqsave(&clkdm->lock, flags); arch_clkdm->clkdm_clk_enable(clkdm); - pwrdm_wait_transition(clkdm->pwrdm.ptr); - pwrdm_clkdm_state_switch(clkdm); + pwrdm_state_switch(clkdm->pwrdm.ptr); spin_unlock_irqrestore(&clkdm->lock, flags); pr_debug("clockdomain: clkdm %s: enabled\n", clkdm->name); @@ -950,7 +949,7 @@ static int _clkdm_clk_hwmod_disable(struct clockdomain *clkdm) spin_lock_irqsave(&clkdm->lock, flags); arch_clkdm->clkdm_clk_disable(clkdm); - pwrdm_clkdm_state_switch(clkdm); + pwrdm_state_switch(clkdm->pwrdm.ptr); spin_unlock_irqrestore(&clkdm->lock, flags); pr_debug("clockdomain: clkdm %s: disabled\n", clkdm->name); diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c index 96ad3dbe..9611490 100644 --- a/arch/arm/mach-omap2/powerdomain.c +++ b/arch/arm/mach-omap2/powerdomain.c @@ -981,16 +981,6 @@ int pwrdm_state_switch(struct powerdomain *pwrdm) return ret; } -int pwrdm_clkdm_state_switch(struct clockdomain *clkdm) -{ - if (clkdm != NULL && clkdm->pwrdm.ptr != NULL) { - pwrdm_wait_transition(clkdm->pwrdm.ptr); - return pwrdm_state_switch(clkdm->pwrdm.ptr); - } - - return -EINVAL; -} - int pwrdm_pre_transition(void) { pwrdm_for_each(_pwrdm_pre_transition_cb, NULL); diff --git a/arch/arm/mach-omap2/powerdomain.h b/arch/arm/mach-omap2/powerdomain.h index 0d72a8a..8f88d65 100644 --- a/arch/arm/mach-omap2/powerdomain.h +++ b/arch/arm/mach-omap2/powerdomain.h @@ -213,7 +213,6 @@ bool pwrdm_has_hdwr_sar(struct powerdomain *pwrdm); int pwrdm_wait_transition(struct powerdomain *pwrdm); int pwrdm_state_switch(struct powerdomain *pwrdm); -int pwrdm_clkdm_state_switch(struct clockdomain *clkdm); int pwrdm_pre_transition(void); int pwrdm_post_transition(void); int pwrdm_set_lowpwrstchange(struct powerdomain *pwrdm); -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] ARM: OMAP: powerdomain: Get rid off duplicate pwrdm_clkdm_state_switch() API 2012-03-12 14:34 ` [PATCH 2/2] ARM: OMAP: powerdomain: Get rid off duplicate pwrdm_clkdm_state_switch() API Santosh Shilimkar @ 2012-04-03 23:58 ` Paul Walmsley 0 siblings, 0 replies; 12+ messages in thread From: Paul Walmsley @ 2012-04-03 23:58 UTC (permalink / raw) To: linux-arm-kernel On Mon, 12 Mar 2012, Santosh Shilimkar wrote: > With patch 'ARM: OMAP: powerdomain: Wait for powerdomain transition > in pwrdm_state_switch()', the pwrdm_clkdm_state_switch() API becomes > duplicate of pwrdm_state_switch(). > > Get rid off duplicate pwrdm_clkdm_state_switch() and update the > users of it with pwrdm_state_switch() > > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> > CC: Rajendra Nayak <rnayak@ti.com> > CC: Paul Walmsley <paul@pwsan.com> Thanks, queued for 3.5. - Paul ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 0/2] ARM: OMAP4: powerdomain: Misc powerdomain fix and associated cleanup 2012-03-12 14:34 [PATCH 0/2] ARM: OMAP4: powerdomain: Misc powerdomain fix and associated cleanup Santosh Shilimkar 2012-03-12 14:34 ` [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() Santosh Shilimkar 2012-03-12 14:34 ` [PATCH 2/2] ARM: OMAP: powerdomain: Get rid off duplicate pwrdm_clkdm_state_switch() API Santosh Shilimkar @ 2012-03-12 14:39 ` Shilimkar, Santosh 2 siblings, 0 replies; 12+ messages in thread From: Shilimkar, Santosh @ 2012-03-12 14:39 UTC (permalink / raw) To: linux-arm-kernel On Mon, Mar 12, 2012 at 8:04 PM, Santosh Shilimkar <santosh.shilimkar@ti.com> wrote: > Paul, > Can you please have at this series ? > First patch is the bug fix and second one is the cleanup which you proposed some > time back. > In $subject s/OMAP4/OMAP Regards Santosh ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2012-04-03 23:58 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-03-12 14:34 [PATCH 0/2] ARM: OMAP4: powerdomain: Misc powerdomain fix and associated cleanup Santosh Shilimkar 2012-03-12 14:34 ` [PATCH 1/2] ARM: OMAP: powerdomain: Wait for powerdomain transition in pwrdm_state_switch() Santosh Shilimkar 2012-03-15 17:32 ` Paul Walmsley 2012-03-15 17:51 ` Tony Lindgren 2012-03-15 23:01 ` Paul Walmsley 2012-03-15 23:22 ` Tony Lindgren 2012-03-15 23:34 ` Paul Walmsley 2012-03-15 23:40 ` Tony Lindgren 2012-04-03 23:54 ` Paul Walmsley 2012-03-12 14:34 ` [PATCH 2/2] ARM: OMAP: powerdomain: Get rid off duplicate pwrdm_clkdm_state_switch() API Santosh Shilimkar 2012-04-03 23:58 ` Paul Walmsley 2012-03-12 14:39 ` [PATCH 0/2] ARM: OMAP4: powerdomain: Misc powerdomain fix and associated cleanup Shilimkar, Santosh
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).