Lines Matching +full:wake +full:- +full:device

3  * Module Name: evxfgpe - External Interfaces for General Purpose Events (GPEs)
11 * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
28 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
104 * re-exports any such software from a foreign destination, Licensee shall
105 * ensure that the distribution and export/re-export of the software is in
108 * any of its subsidiaries will export/re-export any technical data, process,
130 * 3. Neither the names of the above-listed copyright holders nor the names
174 * device _PRW methods (this indicates that these GPEs are
175 * generally intended for system or device wakeup. Such GPEs
181 * Device has been added or if any new GPE methods have been added via a
234 * PARAMETERS: GpeDevice - Parent GPE Device. NULL for GPE0/GPE1
235 * GpeNumber - GPE level within the GPE block
240 * hardware-enabled.
267 if (ACPI_GPE_DISPATCH_TYPE (GpeEventInfo->Flags) !=
274 /* Poll edge-triggered GPEs to handle existing events */
299 * PARAMETERS: GpeDevice - Parent GPE Device. NULL for GPE0/GPE1
300 * GpeNumber - GPE level within the GPE block
306 * the GPE mask bit disabled (for wake GPEs)
344 * PARAMETERS: GpeDevice - Parent GPE Device. NULL for GPE0/GPE1
345 * GpeNumber - GPE level within the GPE block
346 * Action - ACPI_GPE_ENABLE or ACPI_GPE_DISABLE
357 * AcpiEnableGpe() <- Ensure the reference count > 0
358 * AcpiSetGpe(ACPI_GPE_DISABLE) <- Enter polling mode
359 * AcpiSetGpe(ACPI_GPE_ENABLE) <- Leave polling mode
360 * AcpiDisableGpe() <- Decrease the reference count
401 GpeEventInfo->DisableForDispatch = FALSE;
407 GpeEventInfo->DisableForDispatch = TRUE;
428 * PARAMETERS: GpeDevice - Parent GPE Device. NULL for GPE0/GPE1
429 * GpeNumber - GPE level within the GPE block
430 * IsMasked - Whether the GPE is masked or not
478 * PARAMETERS: GpeDevice - Parent GPE Device. NULL for GPE0/GPE1
479 * GpeNumber - GPE level within the GPE block
483 * DESCRIPTION: Mark a GPE as having the ability to wake the system. Simply
487 * there won't be any notify handlers installed for device wake notifications
491 * setup implicit wake notification for it (since there's no handler method).
515 /* Mark the GPE as a possible wake event */
517 GpeEventInfo->Flags |= ACPI_GPE_CAN_WAKE;
532 * PARAMETERS: WakeDevice - Device associated with the GPE (via _PRW)
533 * GpeDevice - Parent GPE Device. NULL for GPE0/GPE1
534 * GpeNumber - GPE level within the GPE block
538 * DESCRIPTION: Mark a GPE as having the ability to wake the system. This
540 * _PRW methods (Power Resources for Wake) in the system tables.
541 * Each _PRW appears under a Device Object (The WakeDevice), and
542 * contains the info for the wake GPE associated with the
586 /* Validate WakeDevice is of type Device */
588 if (DeviceNode->Type != ACPI_TYPE_DEVICE)
595 * Memory allocation while holding a spinlock is a big no-no
619 * level-triggered (for windows compatibility).
621 if (ACPI_GPE_DISPATCH_TYPE (GpeEventInfo->Flags) ==
625 * This is the first device for implicit notify on this GPE.
628 GpeEventInfo->Flags =
631 else if (GpeEventInfo->Flags & ACPI_GPE_AUTO_ENABLED)
639 GpeEventInfo->Flags &= ~ACPI_GPE_AUTO_ENABLED;
644 * this device to the notify list.
646 if (ACPI_GPE_DISPATCH_TYPE (GpeEventInfo->Flags) ==
649 /* Ensure that the device is not already in the list */
651 Notify = GpeEventInfo->Dispatch.NotifyList;
654 if (Notify->DeviceNode == DeviceNode)
659 Notify = Notify->Next;
662 /* Add this device to the notify list for this GPE */
664 NewNotify->DeviceNode = DeviceNode;
665 NewNotify->Next = GpeEventInfo->Dispatch.NotifyList;
666 GpeEventInfo->Dispatch.NotifyList = NewNotify;
670 /* Mark the GPE as a possible wake event */
672 GpeEventInfo->Flags |= ACPI_GPE_CAN_WAKE;
695 * PARAMETERS: GpeDevice - Parent GPE Device. NULL for GPE0/GPE1
696 * GpeNumber - GPE level within the GPE block
697 * Action - Enable or Disable
702 * already be marked as a WAKE GPE.
726 * fact a wake GPE
735 if (!(GpeEventInfo->Flags & ACPI_GPE_CAN_WAKE))
741 GpeRegisterInfo = GpeEventInfo->RegisterInfo;
756 ACPI_SET_BIT (GpeRegisterInfo->EnableForWake, (UINT8) RegisterBit);
761 ACPI_CLEAR_BIT (GpeRegisterInfo->EnableForWake, (UINT8) RegisterBit);
783 * PARAMETERS: GpeDevice - Parent GPE Device. NULL for GPE0/GPE1
784 * GpeNumber - GPE level within the GPE block
830 * PARAMETERS: GpeDevice - Parent GPE Device. NULL for GPE0/GPE1
831 * GpeNumber - GPE level within the GPE block
832 * EventStatus - Where the current status of the event
882 * PARAMETERS: GpeDevice - Parent GPE Device. NULL for GPE0/GPE1
883 * GpeNumber - GPE level within the GPE block
909 * PARAMETERS: GpeDevice - Namespace node for the GPE Block
911 * GpeNumber - GPE level within the GPE block
915 * DESCRIPTION: Clear and conditionally re-enable a GPE. This completes the GPE
916 * processing. Intended for use by asynchronous host-installed
917 * GPE handlers. The GPE is only re-enabled if the EnableForRun bit
1110 * PARAMETERS: GpeDevice - Handle to the parent GPE Block Device
1111 * GpeBlockAddress - Address and SpaceID
1112 * RegisterCount - Number of GPE register pairs in the block
1113 * InterruptNumber - H/W interrupt for the block
1158 /* Validate the parent device */
1160 if (Node->Type != ACPI_TYPE_DEVICE)
1166 if (Node->Object)
1173 * For user-installed GPE Block Devices, the GpeBlockBaseNumber
1176 Status = AcpiEvCreateGpeBlock (Node, GpeBlockAddress->Address,
1177 GpeBlockAddress->SpaceId, RegisterCount,
1190 * No object, create a new one (Device nodes do not always have
1213 ObjDesc->Device.GpeBlock = GpeBlock;
1228 * PARAMETERS: GpeDevice - Handle to the parent GPE Block Device
1266 /* Validate the parent device */
1268 if (Node->Type != ACPI_TYPE_DEVICE)
1278 !ObjDesc->Device.GpeBlock)
1285 Status = AcpiEvDeleteGpeBlock (ObjDesc->Device.GpeBlock);
1288 ObjDesc->Device.GpeBlock = NULL;
1303 * PARAMETERS: Index - System GPE index (0-CurrentGpeCount)
1304 * GpeDevice - Where the parent GPE Device is returned
1308 * DESCRIPTION: Obtain the GPE device associated with the input index. A NULL
1309 * gpe device indicates that the gpe number is contained in one of
1310 * the FADT-defined gpe blocks. Otherwise, the GPE block device.