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
68 /* do we have a wakeup address for S2 and S3? */ in acpi_sleep_prepare()
72 return -EFAULT; in acpi_sleep_prepare()
179 DMI_MATCH(DMI_BOARD_NAME, "KN9 Series(NF-CK804)"),
186 DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
192 .ident = "Asus Pundit P1-AH2 (M2N8L motherboard)",
200 .ident = "Panasonic CF51-2L",
204 DMI_MATCH(DMI_BOARD_NAME, "CF51-2L"),
209 .ident = "Sony Vaio VGN-FW41E_H",
212 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW41E_H"),
217 .ident = "Sony Vaio VGN-FW21E",
220 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW21E"),
225 .ident = "Sony Vaio VGN-FW21M",
228 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW21M"),
241 .ident = "Sony Vaio VGN-SR11M",
244 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SR11M"),
265 .ident = "Sony Vaio VGN-NW130D",
268 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-NW130D"),
281 .ident = "Averatec AV1020-ED2",
289 .ident = "Asus A8N-SLI DELUXE",
292 DMI_MATCH(DMI_BOARD_NAME, "A8N-SLI DELUXE"),
297 .ident = "Asus A8N-SLI Premium",
300 DMI_MATCH(DMI_BOARD_NAME, "A8N-SLI Premium"),
305 .ident = "Sony Vaio VGN-SR26GN_P",
308 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SR26GN_P"),
321 .ident = "Sony Vaio VGN-FW520F",
324 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW520F"),
353 * Lenovo G50-45 is a platform later than 2012, but needs nvs memory
358 .ident = "Lenovo G50-45",
365 * ThinkPad X1 Tablet(2016) cannot do suspend-to-idle using
399 * acpi_pm_freeze - Disable the GPEs and suspend EC transactions.
410 * acpi_pm_pre_suspend - Enable wakeup devices, "freeze" EC and save NVS.
419 * __acpi_pm_prepare - Prepare the platform to enter the target state.
421 * If necessary, set the firmware waking vector and do arch-specific
422 * nastiness to get the wakeup code to the waking vector.
434 * acpi_pm_prepare - Prepare the platform to enter the target sleep
447 * acpi_pm_finish - Instruct the platform to leave a sleep state.
475 * hint to userspace in the form of a wakeup event on the fixed power in acpi_pm_finish()
485 NULL, -1); in acpi_pm_finish()
487 pm_wakeup_event(&pwr_btn_adev->dev, 0); in acpi_pm_finish()
493 * acpi_pm_start - Start system PM transition.
503 * acpi_pm_end - Finish up system PM transition.
532 * acpi_suspend_begin - Set the target system sleep state to the state
546 return -ENOSYS; in acpi_suspend_begin()
556 * acpi_suspend_enter - Actually enter a sleep state.
559 * Flush caches and go to sleep. For STR we have to call arch-specific
580 return -ENOSYS; in acpi_suspend_enter()
584 pr_info("Low-level resume complete\n"); in acpi_suspend_enter()
601 * a wakeup event. We flag this condition for now and generate the in acpi_suspend_enter()
603 * generate wakeup events. in acpi_suspend_enter()
619 * (like wakeup GPE) haven't handler, this can avoid such GPE misfire. in acpi_suspend_enter()
628 return ACPI_SUCCESS(status) ? 0 : -EFAULT; in acpi_suspend_enter()
657 * acpi_suspend_begin_old - Set the target system sleep state to the
659 * execute the _PTS control method. This function is used if the
660 * pre-ACPI 2.0 suspend ordering has been requested.
672 * The following callbacks are used if the pre-ACPI 2.0 suspend ordering has
702 /* Change the configuration of GPEs to avoid spurious wakeup. */ in acpi_s2idle_prepare()
719 * wakeup is pending anyway and the SCI is not the source of in acpi_s2idle_wake()
723 pm_pr_dbg("Wakeup unrelated to ACPI SCI\n"); in acpi_s2idle_wake()
729 * wakeup is regarded as valid. in acpi_s2idle_wake()
732 pm_pr_dbg("ACPI fixed event wakeup\n"); in acpi_s2idle_wake()
738 pm_pr_dbg("ACPI custom handler wakeup\n"); in acpi_s2idle_wake()
742 /* Check non-EC GPE wakeups and dispatch the EC GPE. */ in acpi_s2idle_wake()
744 pm_pr_dbg("ACPI non-EC GPE wakeup\n"); in acpi_s2idle_wake()
749 * Cancel the SCI wakeup and process all pending events in case in acpi_s2idle_wake()
750 * there are any wakeup ones in there. in acpi_s2idle_wake()
752 * Note that if any non-EC GPEs are active at this point, the in acpi_s2idle_wake()
754 * should be missed by canceling the wakeup here. in acpi_s2idle_wake()
761 * new wakeup events till the rearming below, so if any of them in acpi_s2idle_wake()
766 pm_pr_dbg("Wakeup after ACPI Notify sync\n"); in acpi_s2idle_wake()
779 * Drain pending events before restoring the working-state configuration in acpi_s2idle_restore()
909 return ACPI_SUCCESS(status) ? 0 : -EFAULT; in acpi_hibernation_enter()
923 if (facs && s4_hardware_signature != facs->hardware_signature) in acpi_hibernation_leave()
950 * acpi_hibernation_begin_old - Set the target system sleep state to
951 * ACPI_STATE_S4 and execute the _PTS control method. This
952 * function is used if the pre-ACPI 2.0 suspend ordering has been
984 * The following callbacks are used if the pre-ACPI 2.0 suspend ordering has
1013 s4_hardware_signature = facs->hardware_signature; in acpi_sleep_hibernate_setup()