Re: [RFC][PATCH update] ACPI / PM: Allow PCI root bridges to wake up the system

Rafael J. Wysocki
2009-09-01T19:03:19Z

On Tuesday 01 September 2009, Matthew Garrett wrote:
> On Mon, Aug 31, 2009 at 11:24:20PM +0200, Rafael J. Wysocki wrote:
>
> > Updated patch is appended, but there's a problem with it. Namely, when the
> > root bridge GPE is shared with other devices, those devices are also enabled
> > to wake up and they may be kind of "interesting" (on one of my test boxes they
> > include the ethernet and audio adapters). I'm not sure what to do about that.
>
> Perhaps only enable it if a child device is enabled?

Well, the problem is that we have to enable the devices that share the GPE to
wake up together, but the child device we _really_ want to wake-up need not
be any of them.

Also, the child device may be enabled to wake up after we've run the "glue"
code.

Well, perhaps it's better to rework pci_enable_wake() so that it, if the device
doesn't have an ACPI handle and is not PCIe, it will go and enable the root
bridge to wake up as well?

I wonder what about the bridges between the desired wake-up device and the
root bridge. I guess they also should be enabled to wake-up, so that they can
forward the PME# in case the system is designed this way.

Thoughts?

> This is difficult with the current code - the refcounted GPE stuff I'm
> working on ought to make it easier.

Ah, I think that's going to be useful.

Thanks,
Rafael