On Sat, Jul 11, 2009 at 08:23:37AM +1000, Ben Herrenschmidt wrote: > On Fri, 2009-07-10 at 15:25 -0400, Dave Jones wrote: > > > The answer seems to be in 42d4dc3f4e1ec1396371aac89d0dccfdd977191b > > which introduced all this code to work around some failure that only happens > > on PPC... > > > > [PATCH] Add suspend method to cpufreq core > > > > In order to properly fix some issues with cpufreq vs. sleep on > > PowerBooks, I had to add a suspend callback to the pmac_cpufreq driver. > > I must force a switch to full speed before sleep and I switch back to > > previous speed on resume. > > > > > > Ben, is there something better we can do here ? > > > > I really don't want to add an #ifdef __powerpc__ to core code if we can help it. > > I'd rather we didn't call into driver guts at all from the suspend path. > > Wait a minute ... having a suspend/resume method in cpufreq is one > thing, having it muck around with SMP is another :-) The ppc code > doesn't do that. > > There's nothing fundamentally "fail" in requiring a switch to a given > frequency before suspend. I don't know what kind of major FAIL the K8 > code is doing here though :-) The fail part comes from the fact that interrupts get reenabled. And that's something that can easily happen out of our control if we call into acpi_cpufreq's ->get method for example, so powernow-k8 isn't the sole reason. > I'm happy instead of #ifdef's however to push the logic into the ppc > driver, or use a flag that the ppc driver sets to enable that logic. Cool. Dave _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm