Lines Matching full:gpe
27 * PARAMETERS: gpe_event_info - GPE to update
31 * DESCRIPTION: Updates GPE register enable mask based upon whether there are
32 * runtime references to this GPE
55 /* Set the mask bit only if there are references to this GPE */ in acpi_ev_update_gpe_enable_mask()
70 * PARAMETERS: gpe_event_info - GPE to enable
74 * DESCRIPTION: Enable a GPE.
84 /* Enable the requested GPE */ in acpi_ev_enable_gpe()
94 * PARAMETERS: gpe_event_info - GPE to be blocked/unblocked
95 * is_masked - Whether the GPE is masked or not
99 * DESCRIPTION: Unconditionally mask/unmask a GPE during runtime.
148 * PARAMETERS: gpe_event_info - Add a reference to this GPE
149 * clear_on_enable - Clear GPE status before enabling it
153 * DESCRIPTION: Add a reference to a GPE. On the first reference, the GPE is
196 * PARAMETERS: gpe_event_info - Remove a reference to this GPE
200 * DESCRIPTION: Remove a reference to a GPE. When the last reference is
201 * removed, the GPE is hardware-disabled.
240 * PARAMETERS: gpe_number - Raw GPE number
241 * gpe_block - A GPE info block
243 * RETURN: A GPE event_info struct. NULL if not a valid GPE (The gpe_number
244 * is not within the specified GPE block)
246 * DESCRIPTION: Returns the event_info struct associated with this GPE. This is
279 * gpe_number - Raw GPE number
281 * RETURN: A GPE event_info struct. NULL if not a valid GPE
283 * DESCRIPTION: Returns the event_info struct associated with this GPE.
286 * Should be called only when the GPE lists are semaphore locked
300 /* A NULL gpe_device means use the FADT-defined GPE block(s) */ in acpi_ev_get_gpe_event_info()
304 /* Examine GPE Block 0 and 1 (These blocks are permanent) */ in acpi_ev_get_gpe_event_info()
315 /* The gpe_number was not in the range of either FADT GPE block */ in acpi_ev_get_gpe_event_info()
320 /* A Non-NULL gpe_device means this is a GPE Block Device */ in acpi_ev_get_gpe_event_info()
338 * Can have multiple GPE blocks attached.
368 * We need to obtain the GPE lock for both the data structs and registers in acpi_ev_gpe_detect()
369 * Note: Not necessary to obtain the hardware lock, since the GPE in acpi_ev_gpe_detect()
374 /* Examine all GPE blocks attached to this interrupt level */ in acpi_ev_gpe_detect()
381 * Read all of the 8-bit GPE status and enable registers in this GPE in acpi_ev_gpe_detect()
397 "Ignore disabled registers for GPE %02X-%02X: " in acpi_ev_gpe_detect()
415 /* Detect and dispatch one GPE bit */ in acpi_ev_gpe_detect()
443 * PARAMETERS: Context (gpe_event_info) - Info for this GPE
447 * DESCRIPTION: Perform the actual execution of a GPE control method. This
499 * Invoke the GPE Method (_Lxx, _Exx) i.e., evaluate the in acpi_ev_asynch_execute_gpe_method()
500 * _Lxx/_Exx control method that corresponds to this GPE in acpi_ev_asynch_execute_gpe_method()
512 "while evaluating GPE method [%4.4s]", in acpi_ev_asynch_execute_gpe_method()
524 /* Defer enabling of GPE until all notify handlers are done */ in acpi_ev_asynch_execute_gpe_method()
542 * PARAMETERS: Context (gpe_event_info) - Info for this GPE
547 * DESCRIPTION: Asynchronous clear/enable for GPE. This allows the GPE to
569 * PARAMETERS: gpe_event_info - Info for this GPE
573 * DESCRIPTION: Clear/Enable a GPE. Common code that is used after execution
574 * of a GPE method or a synchronous or asynchronous GPE handler.
585 * GPE is level-triggered, we clear the GPE status bit after in acpi_ev_finish_gpe()
595 * Enable this GPE, conditionally. This means that the GPE will in acpi_ev_finish_gpe()
610 * gpe_event_info - Info for this GPE
611 * gpe_number - Number relative to the parent GPE block
617 * NOTE: GPE is W1C, so it is possible to handle a single GPE from both
619 * detect and mask the GPE is atomic.
649 /* Get the info block for the entire GPE register */ in acpi_ev_detect_gpe()
653 /* Get the register bitmask for this GPE */ in acpi_ev_detect_gpe()
657 /* GPE currently enabled (enable bit == 1)? */ in acpi_ev_detect_gpe()
664 /* GPE currently active (status bit == 1)? */ in acpi_ev_detect_gpe()
671 /* Check if there is anything active at all in this GPE */ in acpi_ev_detect_gpe()
674 "Read registers for GPE %02X: Status=%02X, Enable=%02X, " in acpi_ev_detect_gpe()
696 /* Found an active GPE */ in acpi_ev_detect_gpe()
707 * and the GPE handler to ensure a safe destruction in acpi_ev_detect_gpe()
711 * 2. The GPE handler is expected to be flushed by in acpi_ev_detect_gpe()
737 * gpe_event_info - Info for this GPE
738 * gpe_number - Number relative to the parent GPE block
757 * Always disable the GPE so that it does not keep firing before in acpi_ev_gpe_dispatch()
759 * of a GPE method or an asynchronous GPE handler.) in acpi_ev_gpe_dispatch()
762 * GPE and leave it disabled permanently to prevent further such in acpi_ev_gpe_dispatch()
768 "Unable to disable GPE %02X", gpe_number)); in acpi_ev_gpe_dispatch()
773 * If edge-triggered, clear the GPE status bit now. Note that in acpi_ev_gpe_dispatch()
774 * level-triggered events are cleared after the GPE is serviced. in acpi_ev_gpe_dispatch()
781 "Unable to clear GPE %02X", in acpi_ev_gpe_dispatch()
792 * Dispatch the GPE to either an installed handler or the control in acpi_ev_gpe_dispatch()
793 * method associated with this GPE (_Lxx or _Exx). If a handler in acpi_ev_gpe_dispatch()
795 * If there is neither a handler nor a method, leave the GPE in acpi_ev_gpe_dispatch()
810 /* If requested, clear (if level-triggered) and re-enable the GPE */ in acpi_ev_gpe_dispatch()
820 * Execute the method associated with the GPE in acpi_ev_gpe_dispatch()
828 "Unable to queue handler for GPE %02X - event disabled", in acpi_ev_gpe_dispatch()
837 * a GPE to be enabled if it has no handler or method. in acpi_ev_gpe_dispatch()
840 "No handler or method for GPE %02X, disabling event", in acpi_ev_gpe_dispatch()