Lines Matching full:gpe

177  * PARAMETERS:  GpeEventInfo            - GPE to update
181 * DESCRIPTION: Updates GPE register enable mask based upon whether there are
182 * runtime references to this GPE
209 /* Set the mask bit only if there are references to this GPE */ in AcpiEvUpdateGpeEnableMask()
225 * PARAMETERS: GpeEventInfo - GPE to enable
229 * DESCRIPTION: Enable a GPE.
243 /* Enable the requested GPE */ in AcpiEvEnableGpe()
254 * PARAMETERS: GpeEventInfo - GPE to be blocked/unblocked
255 * IsMasked - Whether the GPE is masked or not
259 * DESCRIPTION: Unconditionally mask/unmask a GPE during runtime.
318 * PARAMETERS: GpeEventInfo - Add a reference to this GPE
319 * ClearOnEnable - Clear GPE status before enabling it
323 * DESCRIPTION: Add a reference to a GPE. On the first reference, the GPE is
374 * PARAMETERS: GpeEventInfo - Remove a reference to this GPE
378 * DESCRIPTION: Remove a reference to a GPE. When the last reference is
379 * removed, the GPE is hardware-disabled.
423 * PARAMETERS: GpeNumber - Raw GPE number
424 * GpeBlock - A GPE info block
426 * RETURN: A GPE EventInfo struct. NULL if not a valid GPE (The GpeNumber
427 * is not within the specified GPE block)
429 * DESCRIPTION: Returns the EventInfo struct associated with this GPE. This is
467 * GpeNumber - Raw GPE number
469 * RETURN: A GPE EventInfo struct. NULL if not a valid GPE
471 * DESCRIPTION: Returns the EventInfo struct associated with this GPE.
474 * Should be called only when the GPE lists are semaphore locked
492 /* A NULL GpeDevice means use the FADT-defined GPE block(s) */ in AcpiEvGetGpeEventInfo()
496 /* Examine GPE Block 0 and 1 (These blocks are permanent) */ in AcpiEvGetGpeEventInfo()
508 /* The GpeNumber was not in the range of either FADT GPE block */ in AcpiEvGetGpeEventInfo()
513 /* A Non-NULL GpeDevice means this is a GPE Block Device */ in AcpiEvGetGpeEventInfo()
531 * Can have multiple GPE blocks attached.
565 * We need to obtain the GPE lock for both the data structs and registers in AcpiEvGpeDetect()
566 * Note: Not necessary to obtain the hardware lock, since the GPE in AcpiEvGpeDetect()
571 /* Examine all GPE blocks attached to this interrupt level */ in AcpiEvGpeDetect()
579 * Read all of the 8-bit GPE status and enable registers in this GPE in AcpiEvGpeDetect()
596 "Ignore disabled registers for GPE %02X-%02X: " in AcpiEvGpeDetect()
609 /* Detect and dispatch one GPE bit */ in AcpiEvGpeDetect()
633 * PARAMETERS: Context (GpeEventInfo) - Info for this GPE
637 * DESCRIPTION: Perform the actual execution of a GPE control method. This
696 * Invoke the GPE Method (_Lxx, _Exx) i.e., evaluate the in AcpiEvAsynchExecuteGpeMethod()
697 * _Lxx/_Exx control method that corresponds to this GPE in AcpiEvAsynchExecuteGpeMethod()
709 "while evaluating GPE method [%4.4s]", in AcpiEvAsynchExecuteGpeMethod()
719 /* Defer enabling of GPE until all notify handlers are done */ in AcpiEvAsynchExecuteGpeMethod()
738 * PARAMETERS: Context (GpeEventInfo) - Info for this GPE
743 * DESCRIPTION: Asynchronous clear/enable for GPE. This allows the GPE to
768 * PARAMETERS: GpeEventInfo - Info for this GPE
772 * DESCRIPTION: Clear/Enable a GPE. Common code that is used after execution
773 * of a GPE method or a synchronous or asynchronous GPE handler.
788 * GPE is level-triggered, we clear the GPE status bit after in AcpiEvFinishGpe()
799 * Enable this GPE, conditionally. This means that the GPE will in AcpiEvFinishGpe()
814 * GpeEventInfo - Info for this GPE
815 * GpeNumber - Number relative to the parent GPE block
821 * NOTE: GPE is W1C, so it is possible to handle a single GPE from both
823 * detect and mask the GPE is atomic.
860 /* Get the info block for the entire GPE register */ in AcpiEvDetectGpe()
864 /* Get the register bitmask for this GPE */ in AcpiEvDetectGpe()
868 /* GPE currently enabled (enable bit == 1)? */ in AcpiEvDetectGpe()
876 /* GPE currently active (status bit == 1)? */ in AcpiEvDetectGpe()
884 /* Check if there is anything active at all in this GPE */ in AcpiEvDetectGpe()
887 "Read registers for GPE %02X: Status=%02X, Enable=%02X, " in AcpiEvDetectGpe()
911 /* Found an active GPE */ in AcpiEvDetectGpe()
922 * and the GPE handler to ensure a safe destruction in AcpiEvDetectGpe()
926 * 2. The GPE handler is expected to be flushed by in AcpiEvDetectGpe()
954 * GpeEventInfo - Info for this GPE
955 * GpeNumber - Number relative to the parent GPE block
978 * Always disable the GPE so that it does not keep firing before in AcpiEvGpeDispatch()
980 * of a GPE method or an asynchronous GPE handler.) in AcpiEvGpeDispatch()
983 * GPE and leave it disabled permanently to prevent further such in AcpiEvGpeDispatch()
990 "Unable to disable GPE %02X", GpeNumber)); in AcpiEvGpeDispatch()
995 * If edge-triggered, clear the GPE status bit now. Note that in AcpiEvGpeDispatch()
996 * level-triggered events are cleared after the GPE is serviced. in AcpiEvGpeDispatch()
1005 "Unable to clear GPE %02X", GpeNumber)); in AcpiEvGpeDispatch()
1015 * Dispatch the GPE to either an installed handler or the control in AcpiEvGpeDispatch()
1016 * method associated with this GPE (_Lxx or _Exx). If a handler in AcpiEvGpeDispatch()
1018 * If there is neither a handler nor a method, leave the GPE in AcpiEvGpeDispatch()
1031 /* If requested, clear (if level-triggered) and re-enable the GPE */ in AcpiEvGpeDispatch()
1042 * Execute the method associated with the GPE in AcpiEvGpeDispatch()
1050 "Unable to queue handler for GPE %02X - event disabled", in AcpiEvGpeDispatch()
1059 * a GPE to be enabled if it has no handler or method. in AcpiEvGpeDispatch()
1062 "No handler or method for GPE %02X, disabling event", in AcpiEvGpeDispatch()