Re: [RFC][PATCH 10/12] PCI / ACPI PM: Platform support for PCI PMEwake-up (rev. 4)

From: Matthew Garrett
Date: Fri Dec 04 2009 - 11:21:46 EST


On Sun, Nov 29, 2009 at 04:42:20PM +0100, Rafael J. Wysocki wrote:

> + if (event == ACPI_NOTIFY_DEVICE_WAKE) {
> + if (nb->dev->wakeup.run_wake_count > 0) {
> + if (nb->pci_bus)
> + pci_pme_wakeup_bus(nb->pci_bus);
> + if (nb->pci_dev)
> + pci_pme_wakeup(nb->pci_dev);

We may receive wakeup events on devices that aren't PME capable, which
is the case for uhci on my test box. In that case we probably want to
wake them up unconditionally.

+ if (nb->pci_dev) {
+ if (nb->pci_dev->pm_cap)
+ pci_pme_wakeup(nb->pci_dev);
+ else
+ pm_request_resume(&nb->pci_dev->dev);

seems to work, though possibly we should assume that the firmware knows
best and always schedule a wake in respose to a resume request?

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/