On Thursday 20 August 2009, Alan Stern wrote: > On Thu, 20 Aug 2009, Matthew Garrett wrote: > > > > If the wakeup signal isn't squelched at the source, as part of the > > > event handling, will we get an interrupt storm? Will the uhci-hcd > > > resume routine be able to handle this or does it need to be done > > > earlier? In other words, do we need special-purpose code in the PCI > > > layer to handler it? > > > > No, nothing special needs to be done at the PCI level. It seems that > > (for Intel at least) there's no need to do anything special at the UHCI > > level either. > > This contradicts what Shaohua wrote: > > "The only case is UHCI in my mind. Because UHCI has non-standard wakeup > event register. If BIOS doesn't handle it correctly (for example, not > clear the wakeup event after a GPE), we will keep see the wakeup > event." I'm not sure what the phrase "we will keep see the wakeup event" is supposed to mean. For us to "see" any events there has to be a GPE set up or PCIe PME enabled on the right root port. Otherwise I don't see how we can receive the event at all. The bus type wakeup code won't know how to clear the register to acknowledge the wakeup, but the driver's ->runtime_resume() callback surely can do that. > What code would be responsible for setting and clearing the > non-standard wakeup register? Are you assuming that ACPI will always > handle it? I guess that's a reasonable assumption -- if ACPI wasn't > aware of the register then it never would get enabled, and conversely, > if ACPI was aware and could enable the register, then ACPI ought to > disable it when necessary. In any case the event has to be raised in one of the standard ways. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html