public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
To: ext Paul Walmsley <paul@pwsan.com>
Cc: linux-omap@vger.kernel.org, khilman@deeprootsystems.com
Subject: Re: Bug in linux omap clock framework?
Date: Tue, 09 Dec 2008 15:58:06 +0200	[thread overview]
Message-ID: <1228831086.31061.9.camel@tubuntu> (raw)
In-Reply-To: <alpine.DEB.2.00.0812080218190.5902@utopia.booyaka.com>

Hi,

On Mon, 2008-12-08 at 02:24 -0700, ext Paul Walmsley wrote:
> Hi Tomi,
> 
> On Mon, 8 Dec 2008, Tomi Valkeinen wrote:
> 
> > On Sat, 2008-12-06 at 16:51 -0700, ext Paul Walmsley wrote:
> > > Hi Tomi,
> > > 
> > > nice test case.
> > > 
> > > On Fri, 5 Dec 2008, Tomi.Valkeinen@nokia.com wrote:
> > > 
> > > > I have had strange clk_enable() crashes with DSS2, and now I managed to
> > > > isolate it. With the included patch, on OMAP3 SDP board, with default
> > > > kernel config, I always get the crash below. In this example case it
> > > > happens at specific time on boot, but with DSS2 it happens randomly at
> > > > runtime, when I enable the DSS clocks.
> > > 
> 
> At this point my guess would be that it is a DSS driver problem, but I 
> don't think it is clear yet.
> 

I don't know much about power and clock domains, but I believe I found
the reason and fix for this. At least this should point to the right
direction.

It looks to me that when I do clk_enable() to a clock which is inside a
turned off powerdomain, clk_enable() function will return before the
powerdomain is fully turned on. Reading PM_PWSTST_DSS shows that the
powerdomain is still in transition state.

The following change waits until the powerdomain has finished the
transition. At least it fixed the problem for me, and other things seem
to be still working =).


diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c
index fa62f14..f713d0b 100644
--- a/arch/arm/mach-omap2/clockdomain.c
+++ b/arch/arm/mach-omap2/clockdomain.c
@@ -567,6 +567,8 @@ int omap2_clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk)
        else
                omap2_clkdm_wakeup(clkdm);
 
+       pwrdm_wait_transition(clkdm->pwrdm.ptr);
+
        return 0;
 }



  parent reply	other threads:[~2008-12-09 13:58 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-05 14:49 Bug in linux omap clock framework? Tomi.Valkeinen
2008-12-05 18:23 ` Kevin Hilman
2008-12-08  7:59   ` Tomi Valkeinen
2008-12-06 23:51 ` Paul Walmsley
2008-12-08  8:59   ` Tomi Valkeinen
2008-12-08  9:24     ` Paul Walmsley
2008-12-08  9:36       ` Tomi Valkeinen
2008-12-09 13:58       ` Tomi Valkeinen [this message]
2008-12-09 23:14         ` Paul Walmsley
2008-12-10  3:04           ` Igor Stoppa
2008-12-10  7:02             ` Paul Walmsley
2008-12-10  7:37         ` Högander Jouni
2008-12-10  7:59           ` Tomi Valkeinen
2008-12-10  8:44             ` Högander Jouni
2008-12-10  8:57               ` Tomi Valkeinen
2008-12-10 10:44                 ` Högander Jouni
2008-12-10 11:53                   ` Tomi Valkeinen
2008-12-11  9:19         ` Högander Jouni
2008-12-11 16:17           ` Paul Walmsley
2008-12-12  7:48             ` Tomi Valkeinen
2008-12-09  9:15   ` Tomi Valkeinen

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=1228831086.31061.9.camel@tubuntu \
    --to=tomi.valkeinen@nokia.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-omap@vger.kernel.org \
    --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