Thus wrote Adam Belay: > > Note also that there are very few explicit calls to pci_enable_wake() in > > the whole tree. Linux doesn't set the PME-Enable bit properly, which > > apparently results in WOL either working or not working. My understanding > > is that the final outcome depends on what BIOS does to the card during > > POST. Please see http://bugme.osdl.org/show_bug.cgi?id=3801 for a weird > > example. > I'm in the process of overhauling the PCI layer's power management event > support. Basically, I'd like to catch ACPI GPE events and then walk the > device tree in thier corresponding location to see if PME is set. If so
Ouch. Registering a notify handler against the device's node is not enough? AFAIR, the spec requires devices that triggered wake-up to be notified and most DSDTs I've seen do it in one way or another (usually through _WAK). > a function like ->wake() will be called for the device driver that owns > the triggered device. This should allow for even runtime PME usage. I'm > expecting to have a patch available for the PCI end of these changes soon. What point is calling this when we're already up? Obviously, I haven't seen the whole picture, but from what I know we already have a .enable_wake callback that is ignored by both the core code and the drivers. Perhaps extending this callback with platform hooks to enable the corresponding GPE (die, /proc/acpi/wakeup, die!) and making sure it actually is called would suffice? Best regards, -- Karol 'sziwan' Kozimor [EMAIL PROTECTED] - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
