Re: [PATCH 1/5] introduce .wakeup_event ops

Shaohua Li
2009-08-21T06:33:49Z

On Thu, Aug 20, 2009 at 03:40:51PM +0800, Matthew Garrett wrote:
> On Thu, Aug 20, 2009 at 11:24:50AM +0800, Shaohua Li wrote:
> > On Wed, Aug 19, 2009 at 07:52:10PM +0800, Matthew Garrett wrote:
> > > I'm not averse to the general concept, but I'm not entirely sold on it
> > > being necessary. All the hardware I'm aware of will send non-PME events
> > > as a notification on a specific device. Under what circumstances will we
> > > get a wakeup GPE for a non-PME device without knowing which device
> > > should be woken?
> > Below code is gotten from a laptop (samsung-x10), the PCIB is the PCI bridge.
> > We can't guarantee the device which gets a wakeup event notification is really
> > the device which invokes the wakeup event.
>
> _L0B will only be triggered if a PME is generated, so we'll be able to
> determine which device generated the wakeup by looking at the PME
> registers.
Right, but the event is sent to a bridge. The devices under the bridge invoke
wakeup event, not the bridge itself. So you must scan all devices under the
bridge to check which device has its PME registers set.
So the bridge case isn't what you said (notification always sent to a specific
device which invokes the wakeup event)

Thanks,
Shaohua