aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
authorLin Ming <ming.m.lin@intel.com>2010-12-13 00:39:17 -0500
committerLen Brown <len.brown@intel.com>2011-01-12 04:27:00 -0500
commitbba63a296ffab20e08d9e8252d2f0d99050ac859 (patch)
tree53d4abf7dc5fcf8b563a6cce554312d800c760e0 /include/acpi
parent5a284cd75d635e3c5db0210dc9a9a44c6839f460 (diff)
ACPICA: Implicit notify support
This feature provides an automatic device notification for wake devices when a wakeup GPE occurs and there is no corresponding GPE method or handler. Rather than ignoring such a GPE, an implicit AML Notify operation is performed on the parent device object. This feature is not part of the ACPI specification and is provided for Windows compatibility only. Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/acpixf.h6
-rw-r--r--include/acpi/actypes.h37
2 files changed, 25 insertions, 18 deletions
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index b806e5611c90..9de6a17cbd4c 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -292,10 +292,12 @@ acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number);
292 292
293acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number); 293acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number);
294 294
295acpi_status acpi_setup_gpe_for_wake(acpi_handle gpe_device, u32 gpe_number);
296
297acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number); 295acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number);
298 296
297acpi_status
298acpi_setup_gpe_for_wake(acpi_handle parent_device,
299 acpi_handle gpe_device, u32 gpe_number);
300
299acpi_status acpi_set_gpe_wake_mask(acpi_handle gpe_device, u32 gpe_number, u8 action); 301acpi_status acpi_set_gpe_wake_mask(acpi_handle gpe_device, u32 gpe_number, u8 action);
300 302
301acpi_status 303acpi_status
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index b9575ad9b748..d7274ee4474f 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -664,25 +664,26 @@ typedef u32 acpi_event_status;
664 664
665/* 665/*
666 * GPE info flags - Per GPE 666 * GPE info flags - Per GPE
667 * +-------+---+-+-+ 667 * +-------+-+-+---+
668 * | 7:4 |3:2|1|0| 668 * | 7:4 |3|2|1:0|
669 * +-------+---+-+-+ 669 * +-------+-+-+---+
670 * | | | | 670 * | | | |
671 * | | | +--- Interrupt type: edge or level triggered 671 * | | | +-- Type of dispatch:to method, handler, notify, or none
672 * | | +----- GPE can wake the system 672 * | | +----- Interrupt type: edge or level triggered
673 * | +-------- Type of dispatch:to method, handler, or none 673 * | +------- Is a Wake GPE
674 * +-------------- <Reserved> 674 * +------------ <Reserved>
675 */ 675 */
676#define ACPI_GPE_XRUPT_TYPE_MASK (u8) 0x01 676#define ACPI_GPE_DISPATCH_NONE (u8) 0x00
677#define ACPI_GPE_LEVEL_TRIGGERED (u8) 0x01 677#define ACPI_GPE_DISPATCH_METHOD (u8) 0x01
678#define ACPI_GPE_EDGE_TRIGGERED (u8) 0x00 678#define ACPI_GPE_DISPATCH_HANDLER (u8) 0x02
679#define ACPI_GPE_DISPATCH_NOTIFY (u8) 0x03
680#define ACPI_GPE_DISPATCH_MASK (u8) 0x03
679 681
680#define ACPI_GPE_CAN_WAKE (u8) 0x02 682#define ACPI_GPE_LEVEL_TRIGGERED (u8) 0x04
683#define ACPI_GPE_EDGE_TRIGGERED (u8) 0x00
684#define ACPI_GPE_XRUPT_TYPE_MASK (u8) 0x04
681 685
682#define ACPI_GPE_DISPATCH_MASK (u8) 0x0C 686#define ACPI_GPE_CAN_WAKE (u8) 0x08
683#define ACPI_GPE_DISPATCH_HANDLER (u8) 0x04
684#define ACPI_GPE_DISPATCH_METHOD (u8) 0x08
685#define ACPI_GPE_DISPATCH_NOT_USED (u8) 0x00
686 687
687/* 688/*
688 * Flags for GPE and Lock interfaces 689 * Flags for GPE and Lock interfaces
@@ -954,6 +955,10 @@ u32 (*acpi_interface_handler) (acpi_string interface_name, u32 supported);
954#define ACPI_INTERRUPT_NOT_HANDLED 0x00 955#define ACPI_INTERRUPT_NOT_HANDLED 0x00
955#define ACPI_INTERRUPT_HANDLED 0x01 956#define ACPI_INTERRUPT_HANDLED 0x01
956 957
958/* GPE handler return values */
959
960#define ACPI_REENABLE_GPE 0x80
961
957/* Length of 32-bit EISAID values when converted back to a string */ 962/* Length of 32-bit EISAID values when converted back to a string */
958 963
959#define ACPI_EISAID_STRING_SIZE 8 /* Includes null terminator */ 964#define ACPI_EISAID_STRING_SIZE 8 /* Includes null terminator */