|
ReactOS 0.4.17-dev-769-g1500a35
|


Go to the source code of this file.
Macros | |
| #define | UACPI_GPE_REENABLE (1 << 7) |
Typedefs | |
| typedef enum uacpi_fixed_event | uacpi_fixed_event |
| typedef uacpi_interrupt_ret(* | uacpi_gpe_handler) (uacpi_handle ctx, uacpi_namespace_node *gpe_device, uacpi_u16 idx) |
| typedef enum uacpi_gpe_triggering | uacpi_gpe_triggering |
Enumerations | |
| enum | uacpi_fixed_event { UACPI_FIXED_EVENT_TIMER_STATUS = 1 , UACPI_FIXED_EVENT_POWER_BUTTON , UACPI_FIXED_EVENT_SLEEP_BUTTON , UACPI_FIXED_EVENT_RTC , UACPI_FIXED_EVENT_MAX = UACPI_FIXED_EVENT_RTC } |
| enum | uacpi_gpe_triggering { UACPI_GPE_TRIGGERING_LEVEL = 0 , UACPI_GPE_TRIGGERING_EDGE = 1 , UACPI_GPE_TRIGGERING_MAX = UACPI_GPE_TRIGGERING_EDGE } |
| typedef enum uacpi_fixed_event uacpi_fixed_event |
| typedef uacpi_interrupt_ret(* uacpi_gpe_handler) (uacpi_handle ctx, uacpi_namespace_node *gpe_device, uacpi_u16 idx) |
| Enumerator | |
|---|---|
| UACPI_FIXED_EVENT_TIMER_STATUS | |
| UACPI_FIXED_EVENT_POWER_BUTTON | |
| UACPI_FIXED_EVENT_SLEEP_BUTTON | |
| UACPI_FIXED_EVENT_RTC | |
| UACPI_FIXED_EVENT_MAX | |
| Enumerator | |
|---|---|
| UACPI_GPE_TRIGGERING_LEVEL | |
| UACPI_GPE_TRIGGERING_EDGE | |
| UACPI_GPE_TRIGGERING_MAX | |
| uacpi_u16 uacpi_gpe_triggering uacpi_gpe_handler uacpi_handle ctx uacpi_u16 uacpi_namespace_node *wake_device uacpi_u16 idx uacpi_u16 idx uacpi_u16 idx uacpi_u16 idx uacpi_u16 idx UACPI_ALWAYS_ERROR_FOR_REDUCED_HARDWARE | ( | uacpi_status | uacpi_unmask_gpe uacpi_namespace_node *gpe_device, uacpi_u16 idx | ) |
Mark a GPE managed by 'gpe_device' as enabled/disabled for wake. The GPE must have previously been marked by calling uacpi_gpe_setup_for_wake. This function only affects the GPE enable register state following the call to uacpi_gpe_enable_all_for_wake.
NOTE: 'gpe_device' may be null for GPEs managed by _GPE
Clear the status bit of the event 'idx' managed by 'gpe_device'.
NOTE: 'gpe_device' may be null for GPEs managed by _GPE
Suspend/resume a general purpose event managed by 'gpe_device'. This bypasses the reference counting mechanism and unconditionally clears/sets the corresponding bit in the enable registers. This is used for switching the GPE to poll mode.
NOTE: 'gpe_device' may be null for GPEs managed by _GPE
Finish handling the GPE managed by 'gpe_device' at 'idx'. This clears the status registers if it hasn't been cleared yet and re-enables the event if it was enabled before.
NOTE: 'gpe_device' may be null for GPEs managed by _GPE Hard mask/umask a general purpose event at 'idx' managed by 'gpe_device'. This is used to permanently silence an event so that further calls to enable/disable as well as suspend/resume get ignored. This might be necessary for GPEs that cause an event storm due to the kernel's inability to properly handle them. The only way to enable a masked event is by a call to unmask.
NOTE: 'gpe_device' may be null for GPEs managed by _GPE
Disable all GPEs currently set up on the system. Enable all GPEs not marked as wake. This is only needed after the system wakes from a shallow sleep state and is called automatically by wake code. Enable all GPEs marked as wake. This is only needed before the system goes to sleep is called automatically by sleep code. Install/uninstall a new GPE block, usually defined by a device in the namespace with a _HID of ACPI0006.
| uacpi_u16 uacpi_gpe_triggering uacpi_gpe_handler uacpi_handle ctx uacpi_u16 uacpi_namespace_node *wake_device uacpi_u16 idx UACPI_ALWAYS_ERROR_FOR_REDUCED_HARDWARE | ( | uacpi_status | uacpi_finalize_gpe_initializationvoid | ) |
Finalize GPE initialization by enabling all GPEs not configured for wake and having a matching AML handler detected.
This should be called after the kernel power managment subsystem has enumerated all of the devices, executing their _PRW methods etc., and marking those it wishes to use for wake by calling uacpi_setup_gpe_for_wake or uacpi_mark_gpe_for_wake. Enable/disable a general purpose event managed by 'gpe_device'. Internally this uses reference counting to make sure a GPE is not disabled until all possible users of it do so. GPEs not marked for wake are enabled automatically so this API is only needed for wake events or those that don't have a corresponding AML handler.
NOTE: 'gpe_device' may be null for GPEs managed by _GPE
| UACPI_ALWAYS_ERROR_FOR_REDUCED_HARDWARE | ( | uacpi_status | uacpi_fixed_event_info uacpi_fixed_event event, uacpi_event_info *out_info | ) |
| UACPI_ALWAYS_ERROR_FOR_REDUCED_HARDWARE | ( | uacpi_status | uacpi_install_fixed_event_handler uacpi_fixed_event event, uacpi_interrupt_handler handler, uacpi_handle user | ) |
Enable/disable a fixed event. Note that the event is automatically enabled upon installing a handler to it.
Definition at line 20 of file event.h.
| UACPI_ALWAYS_ERROR_FOR_REDUCED_HARDWARE | ( | uacpi_status | uacpi_install_gpe_handler uacpi_namespace_node *gpe_device, uacpi_u16 idx, uacpi_gpe_triggering triggering, uacpi_gpe_handler handler, uacpi_handle ctx | ) |
Installs a handler to the provided GPE at 'idx' controlled by device 'gpe_device'. The GPE is automatically disabled & cleared according to the configured triggering upon invoking the handler. The event is optionally re-enabled (by returning UACPI_GPE_REENABLE from the handler)
NOTE: 'gpe_device' may be null for GPEs managed by _GPE Installs a raw handler to the provided GPE at 'idx' controlled by device 'gpe_device'. The handler is dispatched immediately after the event is received, status & enable bits are untouched.
NOTE: 'gpe_device' may be null for GPEs managed by _GPE
| uacpi_u16 uacpi_gpe_triggering uacpi_gpe_handler uacpi_handle ctx UACPI_ALWAYS_ERROR_FOR_REDUCED_HARDWARE | ( | uacpi_status | uacpi_uninstall_gpe_handler uacpi_namespace_node *gpe_device, uacpi_u16 idx, uacpi_gpe_handler handler | ) |
Marks the GPE 'idx' managed by 'gpe_device' as wake-capable. 'wake_device' is optional and configures the GPE to generate an implicit notification whenever an event occurs.
NOTE: 'gpe_device' may be null for GPEs managed by _GPE
| const uacpi_char * uacpi_gpe_triggering_to_string | ( | uacpi_gpe_triggering | triggering | ) |
Definition at line 1243 of file event.c.
Referenced by do_install_gpe_handler().
| uacpi_u16 uacpi_gpe_triggering uacpi_gpe_handler uacpi_handle ctx uacpi_u16 uacpi_namespace_node *wake_device uacpi_u16 idx uacpi_u16 idx uacpi_u16 idx uacpi_u16 idx uacpi_u16 idx uacpi_u64 uacpi_address_space address_space |
Definition at line 273 of file event.h.
Referenced by debugdataspaces_ReadIo(), debugdataspaces_WriteIo(), DECLARE_INTERFACE_(), and uacpi_install_gpe_block().
Definition at line 273 of file event.h.
Referenced by create_gpe_block(), and uacpi_install_gpe_block().
| uacpi_u16 uacpi_gpe_triggering triggering |
Definition at line 117 of file event.h.
Referenced by do_install_gpe_handler(), do_match_gpe_methods(), uacpi_gpe_triggering_to_string(), uacpi_install_gpe_handler(), and uacpi_install_gpe_handler_raw().
| uacpi_event_info |
Definition at line 63 of file event.h.
Referenced by uacpi_fixed_event_info(), and uacpi_gpe_info().