• Hans de Goede's avatar
    platform/x86: intel_int0002_vgpio: Use acpi_register_wakeup_handler() · 767191db
    Hans de Goede authored
    The Power Management Events (PMEs) the INT0002 driver listens for get
    signalled by the Power Management Controller (PMC) using the same IRQ
    as used for the ACPI SCI.
    
    Since commit fdde0ff8 ("ACPI: PM: s2idle: Prevent spurious SCIs from
    waking up the system") the SCI triggering, without there being a wakeup
    cause recognized by the ACPI sleep code, will no longer wakeup the system.
    
    This breaks PMEs / wakeups signalled to the INT0002 driver, the system
    never leaves the s2idle_loop() now.
    
    Use acpi_register_wakeup_handler() to register a function which checks
    the GPE0a_STS register for a PME and trigger a wakeup when a PME has
    been signalled.
    
    Fixes: fdde0ff8 ("ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system")
    Cc: 5.4+ <stable@vger.kernel.org> # 5.4+
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Acked-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    767191db
intel_int0002_vgpio.c 6.81 KB