lkml.org 
[lkml]   [2009]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.6.31-rc2+: Interrupts enabled after cpufreq_suspend
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



\
 
 \ /
  Last update: 2009-07-11 01:51    [from the cache]
©2003-2011 Jasper Spaans. Advertise on this site