[PATCH v2 1/1] ARM: imx: clk-pllv3: change wait method for PLL lock
peter.chen at freescale.com
Fri Jun 7 04:43:55 EDT 2013
On Fri, Jun 07, 2013 at 10:35:28AM +0200, Uwe Kleine-König wrote:
> On Fri, Jun 07, 2013 at 04:31:35PM +0800, Peter Chen wrote:
> > On Fri, Jun 07, 2013 at 10:24:57AM +0200, Uwe Kleine-König wrote:
> > > On Fri, Jun 07, 2013 at 04:19:06PM +0800, Peter Chen wrote:
> > > > For some unknown reasons, the jiffies will be updated more
> > > > than one tick at every short time. Eg, at this code:
> > > > After timeout = jiffies + msecs_to_jiffies(10),
> > > > the interrupt occurs, and the softirq updates jiffies (eg, + 2 jiffies),
> > > > then return back from interrupt, the time between above operations
> > > > are tiny, the PLL is still not locked, but the timeout condition is satisfied.
> > > >
> > > > Signed-off-by: Peter Chen <peter.chen at freescale.com>
> > > Does this mean my patch doesn't solve the issue for you?
> > Not try, but your patch just delay timeout assignment, if there
> > is jiffies update after that but before timeout check, it still
> > has problem.
> But if that large update happens because there was a long preemption the
> pll should be locked because I only start counting when the pll is
> IMHO you should try my patch as it is the better fix (assuming it fixes
> it for you).
I will try your fix, but still it just reduces the possibilities.
The problem is not the preemption takes too long, it is the jiffies
updates more than one tick at one short preemption.
More information about the linux-arm-kernel