Lines Matching +full:wakeup +full:- +full:method

1 // SPDX-License-Identifier: GPL-2.0-only
3 * sleep.c - ACPI sleep support.
7 * Copyright (c) 2000-2003 Patrick Mochel
30 * Some HW-full platforms do not have _S5, so they may need
72 /* do we have a wakeup address for S2 and S3? */ in acpi_sleep_prepare()
76 return -EFAULT; in acpi_sleep_prepare()
182 DMI_MATCH(DMI_BOARD_NAME, "KN9 Series(NF-CK804)"),
189 DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
195 .ident = "Asus Pundit P1-AH2 (M2N8L motherboard)",
203 .ident = "Panasonic CF51-2L",
207 DMI_MATCH(DMI_BOARD_NAME, "CF51-2L"),
212 .ident = "Sony Vaio VGN-FW41E_H",
215 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW41E_H"),
220 .ident = "Sony Vaio VGN-FW21E",
223 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW21E"),
228 .ident = "Sony Vaio VGN-FW21M",
231 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW21M"),
244 .ident = "Sony Vaio VGN-SR11M",
247 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SR11M"),
268 .ident = "Sony Vaio VGN-NW130D",
271 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-NW130D"),
284 .ident = "Averatec AV1020-ED2",
292 .ident = "Asus A8N-SLI DELUXE",
295 DMI_MATCH(DMI_BOARD_NAME, "A8N-SLI DELUXE"),
300 .ident = "Asus A8N-SLI Premium",
303 DMI_MATCH(DMI_BOARD_NAME, "A8N-SLI Premium"),
308 .ident = "Sony Vaio VGN-SR26GN_P",
311 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SR26GN_P"),
324 .ident = "Sony Vaio VGN-FW520F",
327 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW520F"),
370 * Lenovo G50-45 is a platform later than 2012, but needs nvs memory
375 .ident = "Lenovo G50-45",
383 .ident = "Lenovo G40-45",
390 * ThinkPad X1 Tablet(2016) cannot do suspend-to-idle using
424 * acpi_pm_freeze - Disable the GPEs and suspend EC transactions.
435 * acpi_pm_pre_suspend - Enable wakeup devices, "freeze" EC and save NVS.
444 * __acpi_pm_prepare - Prepare the platform to enter the target state.
446 * If necessary, set the firmware waking vector and do arch-specific
447 * nastiness to get the wakeup code to the waking vector.
459 * acpi_pm_prepare - Prepare the platform to enter the target sleep
472 * acpi_pm_finish - Instruct the platform to leave a sleep state.
500 * hint to userspace in the form of a wakeup event on the fixed power in acpi_pm_finish()
510 NULL, -1); in acpi_pm_finish()
512 pm_wakeup_event(&pwr_btn_adev->dev, 0); in acpi_pm_finish()
518 * acpi_pm_start - Start system PM transition.
529 * acpi_pm_end - Finish up system PM transition.
558 * acpi_suspend_begin - Set the target system sleep state to the state
573 return -ENOSYS; in acpi_suspend_begin()
583 * acpi_suspend_enter - Actually enter a sleep state.
586 * Flush caches and go to sleep. For STR we have to call arch-specific
605 return -ENOSYS; in acpi_suspend_enter()
609 pr_info("Low-level resume complete\n"); in acpi_suspend_enter()
626 * a wakeup event. We flag this condition for now and generate the in acpi_suspend_enter()
628 * generate wakeup events. in acpi_suspend_enter()
644 * enabled. Some GPEs (like wakeup GPEs) have no handlers and this can in acpi_suspend_enter()
652 * if there is no contention, so avoid doing that by using a low-level in acpi_suspend_enter()
661 return ACPI_SUCCESS(status) ? 0 : -EFAULT; in acpi_suspend_enter()
690 * acpi_suspend_begin_old - Set the target system sleep state to the
692 * execute the _PTS control method. This function is used if the
693 * pre-ACPI 2.0 suspend ordering has been requested.
706 * The following callbacks are used if the pre-ACPI 2.0 suspend ordering has
734 pr_warn("Warning: Failed to enable wakeup from IRQ %d: %d\n", in acpi_s2idle_prepare()
742 /* Change the configuration of GPEs to avoid spurious wakeup. */ in acpi_s2idle_prepare()
759 * wakeup is pending anyway and the SCI is not the source of in acpi_s2idle_wake()
763 pm_pr_dbg("Wakeup unrelated to ACPI SCI\n"); in acpi_s2idle_wake()
769 * wakeup is regarded as valid. in acpi_s2idle_wake()
772 pm_pr_dbg("ACPI fixed event wakeup\n"); in acpi_s2idle_wake()
778 pm_pr_dbg("ACPI custom handler wakeup\n"); in acpi_s2idle_wake()
783 * Check non-EC GPE wakeups and if there are none, cancel the in acpi_s2idle_wake()
784 * SCI-related wakeup and dispatch the EC GPE. in acpi_s2idle_wake()
787 pm_pr_dbg("ACPI non-EC GPE wakeup\n"); in acpi_s2idle_wake()
795 * new wakeup events till the rearming below, so if any of them in acpi_s2idle_wake()
800 pm_pr_dbg("Wakeup after ACPI Notify sync\n"); in acpi_s2idle_wake()
804 pm_pr_dbg("Rearming ACPI SCI for wakeup\n"); in acpi_s2idle_wake()
816 * Drain pending events before restoring the working-state configuration in acpi_s2idle_restore()
851 pr_info("Efficient low-power S0 idle declared\n"); in acpi_s2idle_setup()
920 int acpi_check_s4_hw_signature = -1; /* Default behaviour is just to warn */
946 return ACPI_SUCCESS(status) ? 0 : -EFAULT; in acpi_hibernation_enter()
960 if (facs && s4_hardware_signature != facs->hardware_signature) in acpi_hibernation_leave()
987 * acpi_hibernation_begin_old - Set the target system sleep state to
988 * ACPI_STATE_S4 and execute the _PTS control method. This
989 * function is used if the pre-ACPI 2.0 suspend ordering has been
1022 * The following callbacks are used if the pre-ACPI 2.0 suspend ordering has
1056 s4_hardware_signature = facs->hardware_signature; in acpi_sleep_hibernate_setup()
1065 swsusp_hardware_signature = facs->hardware_signature; in acpi_sleep_hibernate_setup()