aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2015-04-12 23:49:13 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-04-14 08:51:52 -0400
commit09af8e8290deaff821ced01ea83594ee4c21e8df (patch)
tree86ee400d4983255a657b6cec6ee566a4199221d0 /include/acpi
parent77ddc2fe08329e375505bc36a3df3233fe57317b (diff)
ACPICA: Events: Add support to return both enable/status register values for GPE and fixed event.
ACPICA commit e25d791e4b3d5b9f4ead298269610cb05f89749a There is a facility in Linux, developers can obtain GPE and fixed event status via /sys/firmware/interrupts/. This is implemented using acpi_get_event_status() and acpi_get_gpe_status(). Recently while debugging some GPE race issues, it is found that the facility is lacking in the ability to obtain real hardware register values, the confusing information makes debugging difficult. This patch modifies acpi_get_gpe_status() to return EN register values to fix this gap. Then flags returned from acpi_get_event_status() and acpi_get_gpe_status() are also cleaned up to reflect this change. The old ACPI_EVENT_FLAG_SET is carefully kept to avoid regressions. It can be deleted after we can make sure all its references are removed from OSPM code. Lv Zheng. Link: https://github.com/acpica/acpica/commit/e25d791e Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/actypes.h25
1 files changed, 14 insertions, 11 deletions
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 658c42e25568..f18b7a814730 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -733,23 +733,26 @@ typedef u32 acpi_event_type;
733 * The encoding of acpi_event_status is illustrated below. 733 * The encoding of acpi_event_status is illustrated below.
734 * Note that a set bit (1) indicates the property is TRUE 734 * Note that a set bit (1) indicates the property is TRUE
735 * (e.g. if bit 0 is set then the event is enabled). 735 * (e.g. if bit 0 is set then the event is enabled).
736 * +-------------+-+-+-+-+ 736 * +-------------+-+-+-+-+-+
737 * | Bits 31:4 |3|2|1|0| 737 * | Bits 31:5 |4|3|2|1|0|
738 * +-------------+-+-+-+-+ 738 * +-------------+-+-+-+-+-+
739 * | | | | | 739 * | | | | | |
740 * | | | | +- Enabled? 740 * | | | | | +- Enabled?
741 * | | | +--- Enabled for wake? 741 * | | | | +--- Enabled for wake?
742 * | | +----- Set? 742 * | | | +----- Status bit set?
743 * | +------- Has a handler? 743 * | | +------- Enable bit set?
744 * +------------- <Reserved> 744 * | +--------- Has a handler?
745 * +--------------- <Reserved>
745 */ 746 */
746typedef u32 acpi_event_status; 747typedef u32 acpi_event_status;
747 748
748#define ACPI_EVENT_FLAG_DISABLED (acpi_event_status) 0x00 749#define ACPI_EVENT_FLAG_DISABLED (acpi_event_status) 0x00
749#define ACPI_EVENT_FLAG_ENABLED (acpi_event_status) 0x01 750#define ACPI_EVENT_FLAG_ENABLED (acpi_event_status) 0x01
750#define ACPI_EVENT_FLAG_WAKE_ENABLED (acpi_event_status) 0x02 751#define ACPI_EVENT_FLAG_WAKE_ENABLED (acpi_event_status) 0x02
751#define ACPI_EVENT_FLAG_SET (acpi_event_status) 0x04 752#define ACPI_EVENT_FLAG_STATUS_SET (acpi_event_status) 0x04
752#define ACPI_EVENT_FLAG_HAS_HANDLER (acpi_event_status) 0x08 753#define ACPI_EVENT_FLAG_ENABLE_SET (acpi_event_status) 0x08
754#define ACPI_EVENT_FLAG_HAS_HANDLER (acpi_event_status) 0x10
755#define ACPI_EVENT_FLAG_SET ACPI_EVENT_FLAG_STATUS_SET
753 756
754/* Actions for acpi_set_gpe, acpi_gpe_wakeup, acpi_hw_low_set_gpe */ 757/* Actions for acpi_set_gpe, acpi_gpe_wakeup, acpi_hw_low_set_gpe */
755 758