• Rafael J. Wysocki's avatar
    PCI / ACPI PM: Propagate wake-up enable for devices w/o ACPI support · 0baed8da
    Rafael J. Wysocki authored
    Some PCI devices (not PCI Express), like PCI add-on cards, can
    generate PME#, but they don't have any special platform wake-up
    support.  For this reason, even if they generate PME# to wake up the
    system from a sleep state, wake-up events are not generated by the
    platform.
    
    It turns out that, at least on some systems, PCI bridges and the PCI
    host bridge have ACPI GPEs associated with them that, if enabled to
    generate wake-up events, allow the system to wake up if one of the
    add-on devices asserts PME# while the system is in a sleep state.
    Following this observation, if a PCI device without direct ACPI
    wake-up support is prepared to wake up the system during a transition
    into a sleep state (eg. suspend to RAM), try to configure the bridges
    on the path from the device to the root bridge to wake-up the system.
    Reviewed-by: default avatarMatthew Garrett <mjg59@srcf.ucam.org>
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    0baed8da
sleep.c 21.1 KB