aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/aclocal.h
diff options
context:
space:
mode:
authorRobert Moore <Robert.Moore@intel.com>2005-09-16 16:51:15 -0400
committerLen Brown <len.brown@intel.com>2005-09-21 23:51:39 -0400
commitbda663d36b94c723153246a4231bbc0f1cd1836e (patch)
treecc9f75c1d010d1b99d29f13acd600b21eda5eec5 /include/acpi/aclocal.h
parentefb0372bbaf5b829ff8c39db372779928af542a7 (diff)
downloadkernel_samsung_smdk4412-bda663d36b94c723153246a4231bbc0f1cd1836e.zip
kernel_samsung_smdk4412-bda663d36b94c723153246a4231bbc0f1cd1836e.tar.gz
kernel_samsung_smdk4412-bda663d36b94c723153246a4231bbc0f1cd1836e.tar.bz2
[ACPI] ACPICA 20050916
Fixed a problem within the Resource Manager where support for the Generic Register descriptor was not fully implemented. This descriptor is now fully recognized, parsed, disassembled, and displayed. Restructured the Resource Manager code to utilize table-driven dispatch and lookup, eliminating many of the large switch() statements. This reduces overall subsystem code size and code complexity. Affects the resource parsing and construction, disassembly, and debug dump output. Cleaned up and restructured the debug dump output for all resource descriptors. Improved readability of the output and reduced code size. Fixed a problem where changes to internal data structures caused the optional ACPI_MUTEX_DEBUG code to fail compilation if specified. Signed-off-by: Robert Moore <Robert.Moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi/aclocal.h')
-rw-r--r--include/acpi/aclocal.h23
1 files changed, 19 insertions, 4 deletions
diff --git a/include/acpi/aclocal.h b/include/acpi/aclocal.h
index 9fba0fd..76ac153 100644
--- a/include/acpi/aclocal.h
+++ b/include/acpi/aclocal.h
@@ -744,12 +744,13 @@ struct acpi_bit_register_info {
#define ACPI_RDESC_TYPE_LARGE 0x80
#define ACPI_RDESC_TYPE_SMALL 0x00
-#define ACPI_RDESC_TYPE_MASK 0x80
-#define ACPI_RDESC_SMALL_MASK 0x78 /* Only bits 6:3 contain the type */
+#define ACPI_RDESC_SMALL_MASK 0x78 /* Bits 6:3 contain the type */
+#define ACPI_RDESC_SMALL_LENGTH_MASK 0x07 /* Bits 2:0 contain the length */
+#define ACPI_RDESC_LARGE_MASK 0x7F /* Bits 6:0 contain the type */
/*
* Small resource descriptor types
- * Note: The 3 length bits (2:0) must be zero
+ * Note: Bits 2:0 are used for the descriptor length
*/
#define ACPI_RDESC_TYPE_IRQ_FORMAT 0x20
#define ACPI_RDESC_TYPE_DMA_FORMAT 0x28
@@ -757,6 +758,10 @@ struct acpi_bit_register_info {
#define ACPI_RDESC_TYPE_END_DEPENDENT 0x38
#define ACPI_RDESC_TYPE_IO_PORT 0x40
#define ACPI_RDESC_TYPE_FIXED_IO_PORT 0x48
+#define ACPI_RDESC_TYPE_RESERVED_S1 0x50
+#define ACPI_RDESC_TYPE_RESERVED_S2 0x58
+#define ACPI_RDESC_TYPE_RESERVED_S3 0x60
+#define ACPI_RDESC_TYPE_RESERVED_S4 0x68
#define ACPI_RDESC_TYPE_SMALL_VENDOR 0x70
#define ACPI_RDESC_TYPE_END_TAG 0x78
@@ -764,7 +769,8 @@ struct acpi_bit_register_info {
* Large resource descriptor types
*/
#define ACPI_RDESC_TYPE_MEMORY_24 0x81
-#define ACPI_RDESC_TYPE_GENERAL_REGISTER 0x82
+#define ACPI_RDESC_TYPE_GENERIC_REGISTER 0x82
+#define ACPI_RDESC_TYPE_RESERVED_L1 0x83
#define ACPI_RDESC_TYPE_LARGE_VENDOR 0x84
#define ACPI_RDESC_TYPE_MEMORY_32 0x85
#define ACPI_RDESC_TYPE_FIXED_MEMORY_32 0x86
@@ -773,6 +779,15 @@ struct acpi_bit_register_info {
#define ACPI_RDESC_TYPE_EXTENDED_XRUPT 0x89
#define ACPI_RDESC_TYPE_QWORD_ADDRESS_SPACE 0x8A
#define ACPI_RDESC_TYPE_EXTENDED_ADDRESS_SPACE 0x8B
+#define ACPI_RDESC_LARGE_MAX 0x8B
+
+/*
+ * Minimum lengths for descriptors with optional fields
+ */
+#define ACPI_RDESC_QWORD_MIN 43
+#define ACPI_RDESC_DWORD_MIN 23
+#define ACPI_RDESC_WORD_MIN 13
+#define ACPI_RDESC_EXT_XRUPT_MIN 6
/*****************************************************************************
*