On Sat, 26 May 2012, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rjw@xxxxxxx> > > The comparison between the system sleep state being entered > and the lowest system sleep state the given device may wake up > from in acpi_pm_device_sleep_state() is reversed, because the > specification (ACPI 5.0) says that for wakeup to work: > > "The sleeping state being entered must be less than or equal to the > power state declared in element 1 of the _PRW object." What does "less than or equal to" mean here? Is D0 <= D1 because 0 <= 1? (Or because D1 is a "higher sleep state" than D0?) Or is D1 <= D0 because the amount of power used in D1 is <= the amount of power used in D0? > Moreover, it also should check if the wakeup capability is supported > through ACPI, because in principle it may be done via native PCIe > PME, for example. Can you outline the overall algorithm used to select a PCI device's sleep state? It's obvious that the inputs are the system's target state and whether or not wakeup should be enabled. Beyond that, I do not have a clear idea of how the selection is made. Alan Stern -- 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