[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200902032257.54041.rjw@sisk.pl>
Date: Tue, 3 Feb 2009 22:57:53 +0100
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Jesse Barnes <jesse.barnes@...el.com>,
Andreas Schwab <schwab@...e.de>, Len Brown <lenb@...nel.org>,
Ingo Molnar <mingo@...e.hu>
Subject: Re: PCI PM: Restore standard config registers of all devices early
On Tuesday 03 February 2009, Linus Torvalds wrote:
>
> On Tue, 3 Feb 2009, Rafael J. Wysocki wrote:
> >
> > As I said, I tend to prefer the "loop of disable_irq()" approach, because it
> > would allow us to preserve the current ordering of ACPI operations. Namely,
> > if we do:
> >
> > suspend devices (normal suspend)
> > loop of disable_irq()
> > late suspend of devices
> > _PTS
> > disable nonboot CPUs
> > local_irq_disable()
> > sysdev suspend
> > enter sleep state
> > get control from the BIOS
> > sysdev resume
> > (*)
> > local_irq_enable()
> > enable nonboot CPUs
> > _WAK
> > early resume of devices
> > loop of enable_irq()
> > resume devices (normal resume)
> >
> > the ordering of _PTS with respect to putting devices into low power states and
> > disabling the nonboot CPUs will be the same as it is now and the same applies
> > to _WAK and putting devices into D0 etc. (I really _really_ wouldn't like to
> > change this ordering, since this alone is likely to break things badly).
>
> Yes.
>
> Also, make the "loop of disable/enable_irq()" phase be a helper function
> that also sets system_state to SYSTEM_SUSPENDING/SYSTEM_RUNNING
> respectively, and it should all be pretty clean, and the changes really
> should be pretty minimal.
OK
So, I'm going to implement something along these lines. We'll see how it
works out.
Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists