Hi Scott Wood, Thanks for your response 在 2009-09-09三的 13:43 -0500,Scott Wood写道: > On Wed, Sep 09, 2009 at 01:16:07PM +0200, Kenneth Johansson wrote: > > On Tue, 2009-09-08 at 13:48 +0800, Li Tao-B22598 wrote: > > > Dear all, > > > > > > I have a problem in MPC5121 sleep mode. As you know MPC5121 use e300c4 > > > core. When I make the e300c4 core into sleep mode, it will return to > > > full power mode when the“decrementer interrupt” occurred. > > > > > > But in the e300 core reference manual said that the “decrementer > > > interrupt”have no effect when e300 core in sleep mode, because the > > > time > > > base and decrementer are disabled while the core is in sleep mode. > > > Can anybody explain about this procedure ? > > I'm not specifically familiar with MPC5121, but I'll answer from the > perspective of MPC83xx which has a similar core: > > The decrementer stops ticking when the core goes to sleep. However, if a > decrementer was already pending (but masked with MSR[EE]) before you > enter sleep mode, it will cause a wakeup. > > To avoid this, the decrementer is set to a very large value prior to and > after disabling interrupts. See generic_suspend_disable_irqs() in > arch/powerpc/kernel/time.c. Is this not happening for you? Which kernel > version are you using, and what mechanism are you using to go to sleep? I use 2.6.24 kernel. The PM driver code have set decrementer to 0x7fffffff before go to sleep mode. The driver set HID0[10]=1, then set MSR POW bit. PMCCR = 00111. > > > > I'm a bit irritated that it's not as the "solution" can mean hardware > > changes an thus it's potentially expensive. > > What sort of hardware changes? > > -Scott
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev