On Thursday, 3 of February 2005 15:22, Pavel Machek wrote:
> Hi!
> 
> > > > So, would it be acceptable to check in _suspend() if the state is S4
> > > > and drop the frequency in that case or do nothing otherwise?
> > > 
> > > No. The point is that this is _very_ system-specific. Some systems resume
> > > always at full speed, some always at low speed; for S4 the behaviour may 
> > > be
> > > completely unpredictable. And in fact I wouldn't want my desktop P4 drop 
> > > th
> > > 12.5 % frequency if I ask it to suspend to disk, too. "Ignoring" the 
> > > warning
> > > seems to be the best thing to me. The good thing is, after all, that 
> > > cpufreq
> > > detected this situation and tries to correct for it.
> > 
> > Well, the warning is not a big problem, as far as I'm concerned.  The 
> > problem is
> > that the box often reboots when it's woken up on batteries and this 
> > certainly
> > is related to cpufreq (ie it does not happen if cpufreq is not compiled in).
> > 
> > Pavel has suggested that it may happen when the frequency of
> > the CPU is too high on resume, so I'm trying to verify if this is the case. 
> >  If so,
> > which I'm not entirely convinced about yet, I'll be going to provide a fix
> > for it, but I wouldn't like to do anything that's not acceptable from the
> > start.
> 
> Well, try to force your machine to 2GHz while it is on battery. If it
> crashes, you have verified it is indeed the problem. [Insert standard
> disclaimer about exploding batteries here.]

Instead of trying to blow up the battery I used the patch that forces the CPU
to 800 MHz and it apparently survives resuming on batteries - at least 3
times out of 3 attempts (I'll try some times more tomorrow).

It seems to boot at 1800 MHz, though, every time, according to
cpufreq_resume().


> > I'm currently thinking that the proper approach may be to add a ->suspend()
> > routine to struct cpufreq_driver and call the driver-specific ->suspend()
> > (if one is defined) from cpufreq_suspend().  Then, it'll be possible to do
> > whatever-is-necessary on a per-driver basis.  Just a thought. :-)
> 
> Yes, that seems like right solution.

Then I'll try to do something along this line.

Greets,
Rafael


-- 
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
                -- Lewis Carroll "Alice's Adventures in Wonderland"
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to