diff options
Diffstat (limited to 'include/acpi')
-rw-r--r-- | include/acpi/acexcep.h | 2 | ||||
-rw-r--r-- | include/acpi/acnames.h | 2 | ||||
-rw-r--r-- | include/acpi/acoutput.h | 10 | ||||
-rw-r--r-- | include/acpi/acpi.h | 2 | ||||
-rw-r--r-- | include/acpi/acpi_bus.h | 12 | ||||
-rw-r--r-- | include/acpi/acpi_drivers.h | 3 | ||||
-rw-r--r-- | include/acpi/acpi_hest.h | 12 | ||||
-rw-r--r-- | include/acpi/acpiosxf.h | 6 | ||||
-rw-r--r-- | include/acpi/acpixf.h | 13 | ||||
-rw-r--r-- | include/acpi/acrestyp.h | 4 | ||||
-rw-r--r-- | include/acpi/actbl.h | 2 | ||||
-rw-r--r-- | include/acpi/actbl1.h | 2 | ||||
-rw-r--r-- | include/acpi/actbl2.h | 43 | ||||
-rw-r--r-- | include/acpi/actypes.h | 62 | ||||
-rw-r--r-- | include/acpi/platform/acenv.h | 6 | ||||
-rw-r--r-- | include/acpi/platform/acgcc.h | 2 | ||||
-rw-r--r-- | include/acpi/platform/aclinux.h | 4 | ||||
-rw-r--r-- | include/acpi/processor.h | 71 |
18 files changed, 165 insertions, 93 deletions
diff --git a/include/acpi/acexcep.h b/include/acpi/acexcep.h index 473d584b1d31..5b2e5e80ecb0 100644 --- a/include/acpi/acexcep.h +++ b/include/acpi/acexcep.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2008, Intel Corp. | 8 | * Copyright (C) 2000 - 2010, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
diff --git a/include/acpi/acnames.h b/include/acpi/acnames.h index c1343a9265fa..9cf736ea4691 100644 --- a/include/acpi/acnames.h +++ b/include/acpi/acnames.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2008, Intel Corp. | 8 | * Copyright (C) 2000 - 2010, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h index 5c823d5ab783..d7726685797e 100644 --- a/include/acpi/acoutput.h +++ b/include/acpi/acoutput.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2008, Intel Corp. | 8 | * Copyright (C) 2000 - 2010, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -85,7 +85,8 @@ | |||
85 | #define ACPI_LV_INIT 0x00000001 | 85 | #define ACPI_LV_INIT 0x00000001 |
86 | #define ACPI_LV_DEBUG_OBJECT 0x00000002 | 86 | #define ACPI_LV_DEBUG_OBJECT 0x00000002 |
87 | #define ACPI_LV_INFO 0x00000004 | 87 | #define ACPI_LV_INFO 0x00000004 |
88 | #define ACPI_LV_ALL_EXCEPTIONS 0x00000007 | 88 | #define ACPI_LV_REPAIR 0x00000008 |
89 | #define ACPI_LV_ALL_EXCEPTIONS 0x0000000F | ||
89 | 90 | ||
90 | /* Trace verbosity level 1 [Standard Trace Level] */ | 91 | /* Trace verbosity level 1 [Standard Trace Level] */ |
91 | 92 | ||
@@ -143,6 +144,7 @@ | |||
143 | #define ACPI_DB_INIT ACPI_DEBUG_LEVEL (ACPI_LV_INIT) | 144 | #define ACPI_DB_INIT ACPI_DEBUG_LEVEL (ACPI_LV_INIT) |
144 | #define ACPI_DB_DEBUG_OBJECT ACPI_DEBUG_LEVEL (ACPI_LV_DEBUG_OBJECT) | 145 | #define ACPI_DB_DEBUG_OBJECT ACPI_DEBUG_LEVEL (ACPI_LV_DEBUG_OBJECT) |
145 | #define ACPI_DB_INFO ACPI_DEBUG_LEVEL (ACPI_LV_INFO) | 146 | #define ACPI_DB_INFO ACPI_DEBUG_LEVEL (ACPI_LV_INFO) |
147 | #define ACPI_DB_REPAIR ACPI_DEBUG_LEVEL (ACPI_LV_REPAIR) | ||
146 | #define ACPI_DB_ALL_EXCEPTIONS ACPI_DEBUG_LEVEL (ACPI_LV_ALL_EXCEPTIONS) | 148 | #define ACPI_DB_ALL_EXCEPTIONS ACPI_DEBUG_LEVEL (ACPI_LV_ALL_EXCEPTIONS) |
147 | 149 | ||
148 | /* Trace level -- also used in the global "DebugLevel" */ | 150 | /* Trace level -- also used in the global "DebugLevel" */ |
@@ -174,8 +176,8 @@ | |||
174 | 176 | ||
175 | /* Defaults for debug_level, debug and normal */ | 177 | /* Defaults for debug_level, debug and normal */ |
176 | 178 | ||
177 | #define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO) | 179 | #define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO | ACPI_LV_REPAIR) |
178 | #define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT) | 180 | #define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT | ACPI_LV_REPAIR) |
179 | #define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL) | 181 | #define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL) |
180 | 182 | ||
181 | #if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES) | 183 | #if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES) |
diff --git a/include/acpi/acpi.h b/include/acpi/acpi.h index 472b7bf0c5d4..a091cabca4b1 100644 --- a/include/acpi/acpi.h +++ b/include/acpi/acpi.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2008, Intel Corp. | 8 | * Copyright (C) 2000 - 2010, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index 3cd9ccdcbd8f..7bf83ddf82e0 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h | |||
@@ -242,6 +242,8 @@ struct acpi_device_perf { | |||
242 | struct acpi_device_wakeup_flags { | 242 | struct acpi_device_wakeup_flags { |
243 | u8 valid:1; /* Can successfully enable wakeup? */ | 243 | u8 valid:1; /* Can successfully enable wakeup? */ |
244 | u8 run_wake:1; /* Run-Wake GPE devices */ | 244 | u8 run_wake:1; /* Run-Wake GPE devices */ |
245 | u8 always_enabled:1; /* Run-wake devices that are always enabled */ | ||
246 | u8 notifier_present:1; /* Wake-up notify handler has been installed */ | ||
245 | }; | 247 | }; |
246 | 248 | ||
247 | struct acpi_device_wakeup_state { | 249 | struct acpi_device_wakeup_state { |
@@ -250,12 +252,13 @@ struct acpi_device_wakeup_state { | |||
250 | 252 | ||
251 | struct acpi_device_wakeup { | 253 | struct acpi_device_wakeup { |
252 | acpi_handle gpe_device; | 254 | acpi_handle gpe_device; |
253 | acpi_integer gpe_number; | 255 | u64 gpe_number; |
254 | acpi_integer sleep_state; | 256 | u64 sleep_state; |
255 | struct acpi_handle_list resources; | 257 | struct acpi_handle_list resources; |
256 | struct acpi_device_wakeup_state state; | 258 | struct acpi_device_wakeup_state state; |
257 | struct acpi_device_wakeup_flags flags; | 259 | struct acpi_device_wakeup_flags flags; |
258 | int prepare_count; | 260 | int prepare_count; |
261 | int run_wake_count; | ||
259 | }; | 262 | }; |
260 | 263 | ||
261 | /* Device */ | 264 | /* Device */ |
@@ -380,12 +383,15 @@ struct acpi_pci_root { | |||
380 | }; | 383 | }; |
381 | 384 | ||
382 | /* helper */ | 385 | /* helper */ |
383 | acpi_handle acpi_get_child(acpi_handle, acpi_integer); | 386 | acpi_handle acpi_get_child(acpi_handle, u64); |
384 | int acpi_is_root_bridge(acpi_handle); | 387 | int acpi_is_root_bridge(acpi_handle); |
385 | acpi_handle acpi_get_pci_rootbridge_handle(unsigned int, unsigned int); | 388 | acpi_handle acpi_get_pci_rootbridge_handle(unsigned int, unsigned int); |
386 | struct acpi_pci_root *acpi_pci_find_root(acpi_handle handle); | 389 | struct acpi_pci_root *acpi_pci_find_root(acpi_handle handle); |
387 | #define DEVICE_ACPI_HANDLE(dev) ((acpi_handle)((dev)->archdata.acpi_handle)) | 390 | #define DEVICE_ACPI_HANDLE(dev) ((acpi_handle)((dev)->archdata.acpi_handle)) |
388 | 391 | ||
392 | int acpi_enable_wakeup_device_power(struct acpi_device *dev, int state); | ||
393 | int acpi_disable_wakeup_device_power(struct acpi_device *dev); | ||
394 | |||
389 | #ifdef CONFIG_PM_SLEEP | 395 | #ifdef CONFIG_PM_SLEEP |
390 | int acpi_pm_device_sleep_state(struct device *, int *); | 396 | int acpi_pm_device_sleep_state(struct device *, int *); |
391 | int acpi_pm_device_sleep_wake(struct device *, bool); | 397 | int acpi_pm_device_sleep_wake(struct device *, bool); |
diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h index f4906f6568d4..4f7b44866b76 100644 --- a/include/acpi/acpi_drivers.h +++ b/include/acpi/acpi_drivers.h | |||
@@ -65,6 +65,8 @@ | |||
65 | #define ACPI_VIDEO_HID "LNXVIDEO" | 65 | #define ACPI_VIDEO_HID "LNXVIDEO" |
66 | #define ACPI_BAY_HID "LNXIOBAY" | 66 | #define ACPI_BAY_HID "LNXIOBAY" |
67 | #define ACPI_DOCK_HID "LNXDOCK" | 67 | #define ACPI_DOCK_HID "LNXDOCK" |
68 | /* Quirk for broken IBM BIOSes */ | ||
69 | #define ACPI_SMBUS_IBM_HID "SMBUSIBM" | ||
68 | 70 | ||
69 | /* | 71 | /* |
70 | * For fixed hardware buttons, we fabricate acpi_devices with HID | 72 | * For fixed hardware buttons, we fabricate acpi_devices with HID |
@@ -104,6 +106,7 @@ int acpi_pci_bind_root(struct acpi_device *device); | |||
104 | 106 | ||
105 | struct pci_bus *pci_acpi_scan_root(struct acpi_device *device, int domain, | 107 | struct pci_bus *pci_acpi_scan_root(struct acpi_device *device, int domain, |
106 | int bus); | 108 | int bus); |
109 | void pci_acpi_crs_quirks(void); | ||
107 | 110 | ||
108 | /* -------------------------------------------------------------------------- | 111 | /* -------------------------------------------------------------------------- |
109 | Processor | 112 | Processor |
diff --git a/include/acpi/acpi_hest.h b/include/acpi/acpi_hest.h new file mode 100644 index 000000000000..63194d03cb2d --- /dev/null +++ b/include/acpi/acpi_hest.h | |||
@@ -0,0 +1,12 @@ | |||
1 | #ifndef __ACPI_HEST_H | ||
2 | #define __ACPI_HEST_H | ||
3 | |||
4 | #include <linux/pci.h> | ||
5 | |||
6 | #ifdef CONFIG_ACPI | ||
7 | extern int acpi_hest_firmware_first_pci(struct pci_dev *pci); | ||
8 | #else | ||
9 | static inline int acpi_hest_firmware_first_pci(struct pci_dev *pci) { return 0; } | ||
10 | #endif | ||
11 | |||
12 | #endif | ||
diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h index eb0e7189075f..b396854b83b0 100644 --- a/include/acpi/acpiosxf.h +++ b/include/acpi/acpiosxf.h | |||
@@ -8,7 +8,7 @@ | |||
8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
9 | 9 | ||
10 | /* | 10 | /* |
11 | * Copyright (C) 2000 - 2008, Intel Corp. | 11 | * Copyright (C) 2000 - 2010, Intel Corp. |
12 | * All rights reserved. | 12 | * All rights reserved. |
13 | * | 13 | * |
14 | * Redistribution and use in source and binary forms, with or without | 14 | * Redistribution and use in source and binary forms, with or without |
@@ -196,7 +196,7 @@ acpi_os_hotplug_execute(acpi_osd_exec_callback function, void *context); | |||
196 | 196 | ||
197 | void acpi_os_wait_events_complete(void *context); | 197 | void acpi_os_wait_events_complete(void *context); |
198 | 198 | ||
199 | void acpi_os_sleep(acpi_integer milliseconds); | 199 | void acpi_os_sleep(u64 milliseconds); |
200 | 200 | ||
201 | void acpi_os_stall(u32 microseconds); | 201 | void acpi_os_stall(u32 microseconds); |
202 | 202 | ||
@@ -227,7 +227,7 @@ acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id, | |||
227 | 227 | ||
228 | acpi_status | 228 | acpi_status |
229 | acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, | 229 | acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, |
230 | u32 reg, acpi_integer value, u32 width); | 230 | u32 reg, u64 value, u32 width); |
231 | 231 | ||
232 | /* | 232 | /* |
233 | * Interim function needed for PCI IRQ routing | 233 | * Interim function needed for PCI IRQ routing |
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h index e723b0fd8e41..4447a0461bae 100644 --- a/include/acpi/acpixf.h +++ b/include/acpi/acpixf.h | |||
@@ -6,7 +6,7 @@ | |||
6 | *****************************************************************************/ | 6 | *****************************************************************************/ |
7 | 7 | ||
8 | /* | 8 | /* |
9 | * Copyright (C) 2000 - 2008, Intel Corp. | 9 | * Copyright (C) 2000 - 2010, Intel Corp. |
10 | * All rights reserved. | 10 | * All rights reserved. |
11 | * | 11 | * |
12 | * Redistribution and use in source and binary forms, with or without | 12 | * Redistribution and use in source and binary forms, with or without |
@@ -47,7 +47,7 @@ | |||
47 | 47 | ||
48 | /* Current ACPICA subsystem version in YYYYMMDD format */ | 48 | /* Current ACPICA subsystem version in YYYYMMDD format */ |
49 | 49 | ||
50 | #define ACPI_CA_VERSION 0x20090903 | 50 | #define ACPI_CA_VERSION 0x20100121 |
51 | 51 | ||
52 | #include "actypes.h" | 52 | #include "actypes.h" |
53 | #include "actbl.h" | 53 | #include "actbl.h" |
@@ -154,7 +154,8 @@ acpi_status | |||
154 | acpi_walk_namespace(acpi_object_type type, | 154 | acpi_walk_namespace(acpi_object_type type, |
155 | acpi_handle start_object, | 155 | acpi_handle start_object, |
156 | u32 max_depth, | 156 | u32 max_depth, |
157 | acpi_walk_callback user_function, | 157 | acpi_walk_callback pre_order_visit, |
158 | acpi_walk_callback post_order_visit, | ||
158 | void *context, void **return_value); | 159 | void *context, void **return_value); |
159 | 160 | ||
160 | acpi_status | 161 | acpi_status |
@@ -280,11 +281,11 @@ acpi_status acpi_get_event_status(u32 event, acpi_event_status * event_status); | |||
280 | /* | 281 | /* |
281 | * GPE Interfaces | 282 | * GPE Interfaces |
282 | */ | 283 | */ |
283 | acpi_status acpi_set_gpe_type(acpi_handle gpe_device, u32 gpe_number, u8 type); | 284 | acpi_status acpi_set_gpe(acpi_handle gpe_device, u32 gpe_number, u8 action); |
284 | 285 | ||
285 | acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number); | 286 | acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number, u8 type); |
286 | 287 | ||
287 | acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number); | 288 | acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number, u8 type); |
288 | 289 | ||
289 | acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number, u32 flags); | 290 | acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number, u32 flags); |
290 | 291 | ||
diff --git a/include/acpi/acrestyp.h b/include/acpi/acrestyp.h index 9ffe00feada6..e5526354ba5e 100644 --- a/include/acpi/acrestyp.h +++ b/include/acpi/acrestyp.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2008, Intel Corp. | 8 | * Copyright (C) 2000 - 2010, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -397,7 +397,7 @@ struct acpi_resource { | |||
397 | struct acpi_pci_routing_table { | 397 | struct acpi_pci_routing_table { |
398 | u32 length; | 398 | u32 length; |
399 | u32 pin; | 399 | u32 pin; |
400 | acpi_integer address; /* here for 64-bit alignment */ | 400 | u64 address; /* here for 64-bit alignment */ |
401 | u32 source_index; | 401 | u32 source_index; |
402 | char source[4]; /* pad to 64 bits so sizeof() works in all cases */ | 402 | char source[4]; /* pad to 64 bits so sizeof() works in all cases */ |
403 | }; | 403 | }; |
diff --git a/include/acpi/actbl.h b/include/acpi/actbl.h index 1b6587952604..ad2001683ba7 100644 --- a/include/acpi/actbl.h +++ b/include/acpi/actbl.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2008, Intel Corp. | 8 | * Copyright (C) 2000 - 2010, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h index 0b9b430b092b..c637b75b9f3f 100644 --- a/include/acpi/actbl1.h +++ b/include/acpi/actbl1.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2008, Intel Corp. | 8 | * Copyright (C) 2000 - 2010, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h index 6f3dce9991e1..5b02e307bff3 100644 --- a/include/acpi/actbl2.h +++ b/include/acpi/actbl2.h | |||
@@ -1,3 +1,46 @@ | |||
1 | /****************************************************************************** | ||
2 | * | ||
3 | * Name: actbl2.h - ACPI Specification Revision 2.0 Tables | ||
4 | * | ||
5 | *****************************************************************************/ | ||
6 | |||
7 | /* | ||
8 | * Copyright (C) 2000 - 2010, Intel Corp. | ||
9 | * All rights reserved. | ||
10 | * | ||
11 | * Redistribution and use in source and binary forms, with or without | ||
12 | * modification, are permitted provided that the following conditions | ||
13 | * are met: | ||
14 | * 1. Redistributions of source code must retain the above copyright | ||
15 | * notice, this list of conditions, and the following disclaimer, | ||
16 | * without modification. | ||
17 | * 2. Redistributions in binary form must reproduce at minimum a disclaimer | ||
18 | * substantially similar to the "NO WARRANTY" disclaimer below | ||
19 | * ("Disclaimer") and any redistribution must be conditioned upon | ||
20 | * including a substantially similar Disclaimer requirement for further | ||
21 | * binary redistribution. | ||
22 | * 3. Neither the names of the above-listed copyright holders nor the names | ||
23 | * of any contributors may be used to endorse or promote products derived | ||
24 | * from this software without specific prior written permission. | ||
25 | * | ||
26 | * Alternatively, this software may be distributed under the terms of the | ||
27 | * GNU General Public License ("GPL") version 2 as published by the Free | ||
28 | * Software Foundation. | ||
29 | * | ||
30 | * NO WARRANTY | ||
31 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
32 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
33 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR | ||
34 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
35 | * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
36 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
37 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
38 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||
39 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | ||
40 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
41 | * POSSIBILITY OF SUCH DAMAGES. | ||
42 | */ | ||
43 | |||
1 | #ifndef __ACTBL2_H__ | 44 | #ifndef __ACTBL2_H__ |
2 | #define __ACTBL2_H__ | 45 | #define __ACTBL2_H__ |
3 | 46 | ||
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h index 153f12dc3373..3f08e64962f8 100644 --- a/include/acpi/actypes.h +++ b/include/acpi/actypes.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2008, Intel Corp. | 8 | * Copyright (C) 2000 - 2010, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -385,19 +385,6 @@ union uint64_overlay { | |||
385 | struct uint64_struct part; | 385 | struct uint64_struct part; |
386 | }; | 386 | }; |
387 | 387 | ||
388 | struct uint32_struct { | ||
389 | u32 lo; | ||
390 | u32 hi; | ||
391 | }; | ||
392 | |||
393 | /* | ||
394 | * Acpi integer width. In ACPI version 1, integers are 32 bits. In ACPI | ||
395 | * version 2, integers are 64 bits. Note that this pertains to the ACPI integer | ||
396 | * type only, not other integers used in the implementation of the ACPI CA | ||
397 | * subsystem. | ||
398 | */ | ||
399 | typedef unsigned long long acpi_integer; | ||
400 | #define ACPI_INTEGER_MAX ACPI_UINT64_MAX | ||
401 | #define ACPI_INTEGER_BIT_SIZE 64 | 388 | #define ACPI_INTEGER_BIT_SIZE 64 |
402 | #define ACPI_MAX_DECIMAL_DIGITS 20 /* 2^64 = 18,446,744,073,709,551,616 */ | 389 | #define ACPI_MAX_DECIMAL_DIGITS 20 /* 2^64 = 18,446,744,073,709,551,616 */ |
403 | 390 | ||
@@ -421,6 +408,19 @@ typedef unsigned long long acpi_integer; | |||
421 | #define ACPI_WAIT_FOREVER 0xFFFF /* u16, as per ACPI spec */ | 408 | #define ACPI_WAIT_FOREVER 0xFFFF /* u16, as per ACPI spec */ |
422 | #define ACPI_DO_NOT_WAIT 0 | 409 | #define ACPI_DO_NOT_WAIT 0 |
423 | 410 | ||
411 | /* | ||
412 | * Obsolete: Acpi integer width. In ACPI version 1 (1996), integers are 32 bits. | ||
413 | * In ACPI version 2 (2000) and later, integers are 64 bits. Note that this | ||
414 | * pertains to the ACPI integer type only, not to other integers used in the | ||
415 | * implementation of the ACPICA subsystem. | ||
416 | * | ||
417 | * 01/2010: This type is obsolete and has been removed from the entire ACPICA | ||
418 | * code base. It remains here for compatibility with device drivers that use | ||
419 | * the type. However, it will be removed in the future. | ||
420 | */ | ||
421 | typedef u64 acpi_integer; | ||
422 | #define ACPI_INTEGER_MAX ACPI_UINT64_MAX | ||
423 | |||
424 | /******************************************************************************* | 424 | /******************************************************************************* |
425 | * | 425 | * |
426 | * Commonly used macros | 426 | * Commonly used macros |
@@ -668,15 +668,16 @@ typedef u32 acpi_event_status; | |||
668 | 668 | ||
669 | /* | 669 | /* |
670 | * GPE info flags - Per GPE | 670 | * GPE info flags - Per GPE |
671 | * +-+-+-+---+---+-+ | 671 | * +-+-+-+---+-+-+-+ |
672 | * |7|6|5|4:3|2:1|0| | 672 | * |7|6|5|4:3|2|1|0| |
673 | * +-+-+-+---+---+-+ | 673 | * +-+-+-+---+-+-+-+ |
674 | * | | | | | | | 674 | * | | | | | | | |
675 | * | | | | | +--- Interrupt type: Edge or Level Triggered | 675 | * | | | | | | +--- Interrupt type: Edge or Level Triggered |
676 | * | | | | +--- Type: Wake-only, Runtime-only, or wake/runtime | 676 | * | | | | | +--- GPE can wake the system |
677 | * | | | | +--- Unused | ||
677 | * | | | +--- Type of dispatch -- to method, handler, or none | 678 | * | | | +--- Type of dispatch -- to method, handler, or none |
678 | * | | +--- Enabled for runtime? | 679 | * | | +--- Unused |
679 | * | +--- Enabled for wake? | 680 | * | +--- Unused |
680 | * +--- Unused | 681 | * +--- Unused |
681 | */ | 682 | */ |
682 | #define ACPI_GPE_XRUPT_TYPE_MASK (u8) 0x01 | 683 | #define ACPI_GPE_XRUPT_TYPE_MASK (u8) 0x01 |
@@ -687,22 +688,13 @@ typedef u32 acpi_event_status; | |||
687 | #define ACPI_GPE_TYPE_WAKE_RUN (u8) 0x06 | 688 | #define ACPI_GPE_TYPE_WAKE_RUN (u8) 0x06 |
688 | #define ACPI_GPE_TYPE_WAKE (u8) 0x02 | 689 | #define ACPI_GPE_TYPE_WAKE (u8) 0x02 |
689 | #define ACPI_GPE_TYPE_RUNTIME (u8) 0x04 /* Default */ | 690 | #define ACPI_GPE_TYPE_RUNTIME (u8) 0x04 /* Default */ |
691 | #define ACPI_GPE_CAN_WAKE (u8) 0x02 | ||
690 | 692 | ||
691 | #define ACPI_GPE_DISPATCH_MASK (u8) 0x18 | 693 | #define ACPI_GPE_DISPATCH_MASK (u8) 0x18 |
692 | #define ACPI_GPE_DISPATCH_HANDLER (u8) 0x08 | 694 | #define ACPI_GPE_DISPATCH_HANDLER (u8) 0x08 |
693 | #define ACPI_GPE_DISPATCH_METHOD (u8) 0x10 | 695 | #define ACPI_GPE_DISPATCH_METHOD (u8) 0x10 |
694 | #define ACPI_GPE_DISPATCH_NOT_USED (u8) 0x00 /* Default */ | 696 | #define ACPI_GPE_DISPATCH_NOT_USED (u8) 0x00 /* Default */ |
695 | 697 | ||
696 | #define ACPI_GPE_RUN_ENABLE_MASK (u8) 0x20 | ||
697 | #define ACPI_GPE_RUN_ENABLED (u8) 0x20 | ||
698 | #define ACPI_GPE_RUN_DISABLED (u8) 0x00 /* Default */ | ||
699 | |||
700 | #define ACPI_GPE_WAKE_ENABLE_MASK (u8) 0x40 | ||
701 | #define ACPI_GPE_WAKE_ENABLED (u8) 0x40 | ||
702 | #define ACPI_GPE_WAKE_DISABLED (u8) 0x00 /* Default */ | ||
703 | |||
704 | #define ACPI_GPE_ENABLE_MASK (u8) 0x60 /* Both run/wake */ | ||
705 | |||
706 | /* | 698 | /* |
707 | * Flags for GPE and Lock interfaces | 699 | * Flags for GPE and Lock interfaces |
708 | */ | 700 | */ |
@@ -801,7 +793,7 @@ union acpi_object { | |||
801 | acpi_object_type type; /* See definition of acpi_ns_type for values */ | 793 | acpi_object_type type; /* See definition of acpi_ns_type for values */ |
802 | struct { | 794 | struct { |
803 | acpi_object_type type; /* ACPI_TYPE_INTEGER */ | 795 | acpi_object_type type; /* ACPI_TYPE_INTEGER */ |
804 | acpi_integer value; /* The actual number */ | 796 | u64 value; /* The actual number */ |
805 | } integer; | 797 | } integer; |
806 | 798 | ||
807 | struct { | 799 | struct { |
@@ -945,7 +937,7 @@ typedef | |||
945 | acpi_status(*acpi_adr_space_handler) (u32 function, | 937 | acpi_status(*acpi_adr_space_handler) (u32 function, |
946 | acpi_physical_address address, | 938 | acpi_physical_address address, |
947 | u32 bit_width, | 939 | u32 bit_width, |
948 | acpi_integer * value, | 940 | u64 *value, |
949 | void *handler_context, | 941 | void *handler_context, |
950 | void *region_context); | 942 | void *region_context); |
951 | 943 | ||
@@ -1005,7 +997,7 @@ struct acpi_device_info { | |||
1005 | u8 highest_dstates[4]; /* _sx_d values: 0xFF indicates not valid */ | 997 | u8 highest_dstates[4]; /* _sx_d values: 0xFF indicates not valid */ |
1006 | u8 lowest_dstates[5]; /* _sx_w values: 0xFF indicates not valid */ | 998 | u8 lowest_dstates[5]; /* _sx_w values: 0xFF indicates not valid */ |
1007 | u32 current_status; /* _STA value */ | 999 | u32 current_status; /* _STA value */ |
1008 | acpi_integer address; /* _ADR value */ | 1000 | u64 address; /* _ADR value */ |
1009 | struct acpica_device_id hardware_id; /* _HID value */ | 1001 | struct acpica_device_id hardware_id; /* _HID value */ |
1010 | struct acpica_device_id unique_id; /* _UID value */ | 1002 | struct acpica_device_id unique_id; /* _UID value */ |
1011 | struct acpica_device_id_list compatible_id_list; /* _CID list <must be last> */ | 1003 | struct acpica_device_id_list compatible_id_list; /* _CID list <must be last> */ |
diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h index e62f10d9a7d8..c05aeba9e8f0 100644 --- a/include/acpi/platform/acenv.h +++ b/include/acpi/platform/acenv.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2008, Intel Corp. | 8 | * Copyright (C) 2000 - 2010, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -311,8 +311,8 @@ typedef char *va_list; | |||
311 | #define ACPI_MEMCMP(s1,s2,n) acpi_ut_memcmp((const char *)(s1), (const char *)(s2), (acpi_size)(n)) | 311 | #define ACPI_MEMCMP(s1,s2,n) acpi_ut_memcmp((const char *)(s1), (const char *)(s2), (acpi_size)(n)) |
312 | #define ACPI_MEMCPY(d,s,n) (void) acpi_ut_memcpy ((d), (s), (acpi_size)(n)) | 312 | #define ACPI_MEMCPY(d,s,n) (void) acpi_ut_memcpy ((d), (s), (acpi_size)(n)) |
313 | #define ACPI_MEMSET(d,v,n) (void) acpi_ut_memset ((d), (v), (acpi_size)(n)) | 313 | #define ACPI_MEMSET(d,v,n) (void) acpi_ut_memset ((d), (v), (acpi_size)(n)) |
314 | #define ACPI_TOUPPER acpi_ut_to_upper | 314 | #define ACPI_TOUPPER(c) acpi_ut_to_upper ((int) (c)) |
315 | #define ACPI_TOLOWER acpi_ut_to_lower | 315 | #define ACPI_TOLOWER(c) acpi_ut_to_lower ((int) (c)) |
316 | 316 | ||
317 | #endif /* ACPI_USE_SYSTEM_CLIBRARY */ | 317 | #endif /* ACPI_USE_SYSTEM_CLIBRARY */ |
318 | 318 | ||
diff --git a/include/acpi/platform/acgcc.h b/include/acpi/platform/acgcc.h index 6aadbf84ae71..0cd53e3cd1a3 100644 --- a/include/acpi/platform/acgcc.h +++ b/include/acpi/platform/acgcc.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2008, Intel Corp. | 8 | * Copyright (C) 2000 - 2010, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h index 9d7febde10a1..e5039a2856f8 100644 --- a/include/acpi/platform/aclinux.h +++ b/include/acpi/platform/aclinux.h | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2009, Intel Corp. | 8 | * Copyright (C) 2000 - 2010, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -152,7 +152,7 @@ static inline void *acpi_os_acquire_object(acpi_cache_t * cache) | |||
152 | #include <linux/hardirq.h> | 152 | #include <linux/hardirq.h> |
153 | #define ACPI_PREEMPTION_POINT() \ | 153 | #define ACPI_PREEMPTION_POINT() \ |
154 | do { \ | 154 | do { \ |
155 | if (!in_atomic_preempt_off()) \ | 155 | if (!in_atomic_preempt_off() && !irqs_disabled()) \ |
156 | cond_resched(); \ | 156 | cond_resched(); \ |
157 | } while (0) | 157 | } while (0) |
158 | 158 | ||
diff --git a/include/acpi/processor.h b/include/acpi/processor.h index 740ac3ad8fd0..86825ddbe14e 100644 --- a/include/acpi/processor.h +++ b/include/acpi/processor.h | |||
@@ -92,11 +92,11 @@ struct acpi_processor_power { | |||
92 | /* Performance Management */ | 92 | /* Performance Management */ |
93 | 93 | ||
94 | struct acpi_psd_package { | 94 | struct acpi_psd_package { |
95 | acpi_integer num_entries; | 95 | u64 num_entries; |
96 | acpi_integer revision; | 96 | u64 revision; |
97 | acpi_integer domain; | 97 | u64 domain; |
98 | acpi_integer coord_type; | 98 | u64 coord_type; |
99 | acpi_integer num_processors; | 99 | u64 num_processors; |
100 | } __attribute__ ((packed)); | 100 | } __attribute__ ((packed)); |
101 | 101 | ||
102 | struct acpi_pct_register { | 102 | struct acpi_pct_register { |
@@ -110,12 +110,12 @@ struct acpi_pct_register { | |||
110 | } __attribute__ ((packed)); | 110 | } __attribute__ ((packed)); |
111 | 111 | ||
112 | struct acpi_processor_px { | 112 | struct acpi_processor_px { |
113 | acpi_integer core_frequency; /* megahertz */ | 113 | u64 core_frequency; /* megahertz */ |
114 | acpi_integer power; /* milliWatts */ | 114 | u64 power; /* milliWatts */ |
115 | acpi_integer transition_latency; /* microseconds */ | 115 | u64 transition_latency; /* microseconds */ |
116 | acpi_integer bus_master_latency; /* microseconds */ | 116 | u64 bus_master_latency; /* microseconds */ |
117 | acpi_integer control; /* control value */ | 117 | u64 control; /* control value */ |
118 | acpi_integer status; /* success indicator */ | 118 | u64 status; /* success indicator */ |
119 | }; | 119 | }; |
120 | 120 | ||
121 | struct acpi_processor_performance { | 121 | struct acpi_processor_performance { |
@@ -133,11 +133,11 @@ struct acpi_processor_performance { | |||
133 | /* Throttling Control */ | 133 | /* Throttling Control */ |
134 | 134 | ||
135 | struct acpi_tsd_package { | 135 | struct acpi_tsd_package { |
136 | acpi_integer num_entries; | 136 | u64 num_entries; |
137 | acpi_integer revision; | 137 | u64 revision; |
138 | acpi_integer domain; | 138 | u64 domain; |
139 | acpi_integer coord_type; | 139 | u64 coord_type; |
140 | acpi_integer num_processors; | 140 | u64 num_processors; |
141 | } __attribute__ ((packed)); | 141 | } __attribute__ ((packed)); |
142 | 142 | ||
143 | struct acpi_ptc_register { | 143 | struct acpi_ptc_register { |
@@ -151,11 +151,11 @@ struct acpi_ptc_register { | |||
151 | } __attribute__ ((packed)); | 151 | } __attribute__ ((packed)); |
152 | 152 | ||
153 | struct acpi_processor_tx_tss { | 153 | struct acpi_processor_tx_tss { |
154 | acpi_integer freqpercentage; /* */ | 154 | u64 freqpercentage; /* */ |
155 | acpi_integer power; /* milliWatts */ | 155 | u64 power; /* milliWatts */ |
156 | acpi_integer transition_latency; /* microseconds */ | 156 | u64 transition_latency; /* microseconds */ |
157 | acpi_integer control; /* control value */ | 157 | u64 control; /* control value */ |
158 | acpi_integer status; /* success indicator */ | 158 | u64 status; /* success indicator */ |
159 | }; | 159 | }; |
160 | struct acpi_processor_tx { | 160 | struct acpi_processor_tx { |
161 | u16 power; | 161 | u16 power; |
@@ -224,8 +224,6 @@ struct acpi_processor { | |||
224 | struct acpi_processor_throttling throttling; | 224 | struct acpi_processor_throttling throttling; |
225 | struct acpi_processor_limit limit; | 225 | struct acpi_processor_limit limit; |
226 | struct thermal_cooling_device *cdev; | 226 | struct thermal_cooling_device *cdev; |
227 | /* the _PDC objects for this processor, if any */ | ||
228 | struct acpi_object_list *pdc; | ||
229 | }; | 227 | }; |
230 | 228 | ||
231 | struct acpi_processor_errata { | 229 | struct acpi_processor_errata { |
@@ -240,7 +238,7 @@ struct acpi_processor_errata { | |||
240 | 238 | ||
241 | extern int acpi_processor_preregister_performance(struct | 239 | extern int acpi_processor_preregister_performance(struct |
242 | acpi_processor_performance | 240 | acpi_processor_performance |
243 | *performance); | 241 | __percpu *performance); |
244 | 242 | ||
245 | extern int acpi_processor_register_performance(struct acpi_processor_performance | 243 | extern int acpi_processor_register_performance(struct acpi_processor_performance |
246 | *performance, unsigned int cpu); | 244 | *performance, unsigned int cpu); |
@@ -257,9 +255,6 @@ int acpi_processor_notify_smm(struct module *calling_module); | |||
257 | DECLARE_PER_CPU(struct acpi_processor *, processors); | 255 | DECLARE_PER_CPU(struct acpi_processor *, processors); |
258 | extern struct acpi_processor_errata errata; | 256 | extern struct acpi_processor_errata errata; |
259 | 257 | ||
260 | void arch_acpi_processor_init_pdc(struct acpi_processor *pr); | ||
261 | void arch_acpi_processor_cleanup_pdc(struct acpi_processor *pr); | ||
262 | |||
263 | #ifdef ARCH_HAS_POWER_INIT | 258 | #ifdef ARCH_HAS_POWER_INIT |
264 | void acpi_processor_power_init_bm_check(struct acpi_processor_flags *flags, | 259 | void acpi_processor_power_init_bm_check(struct acpi_processor_flags *flags, |
265 | unsigned int cpu); | 260 | unsigned int cpu); |
@@ -294,7 +289,8 @@ static inline void acpi_processor_ffh_cstate_enter(struct acpi_processor_cx | |||
294 | #ifdef CONFIG_CPU_FREQ | 289 | #ifdef CONFIG_CPU_FREQ |
295 | void acpi_processor_ppc_init(void); | 290 | void acpi_processor_ppc_init(void); |
296 | void acpi_processor_ppc_exit(void); | 291 | void acpi_processor_ppc_exit(void); |
297 | int acpi_processor_ppc_has_changed(struct acpi_processor *pr); | 292 | int acpi_processor_ppc_has_changed(struct acpi_processor *pr, int event_flag); |
293 | extern int acpi_processor_get_bios_limit(int cpu, unsigned int *limit); | ||
298 | #else | 294 | #else |
299 | static inline void acpi_processor_ppc_init(void) | 295 | static inline void acpi_processor_ppc_init(void) |
300 | { | 296 | { |
@@ -304,7 +300,8 @@ static inline void acpi_processor_ppc_exit(void) | |||
304 | { | 300 | { |
305 | return; | 301 | return; |
306 | } | 302 | } |
307 | static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr) | 303 | static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr, |
304 | int event_flag) | ||
308 | { | 305 | { |
309 | static unsigned int printout = 1; | 306 | static unsigned int printout = 1; |
310 | if (printout) { | 307 | if (printout) { |
@@ -316,8 +313,24 @@ static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr) | |||
316 | } | 313 | } |
317 | return 0; | 314 | return 0; |
318 | } | 315 | } |
316 | static inline int acpi_processor_get_bios_limit(int cpu, unsigned int *limit) | ||
317 | { | ||
318 | return -ENODEV; | ||
319 | } | ||
320 | |||
319 | #endif /* CONFIG_CPU_FREQ */ | 321 | #endif /* CONFIG_CPU_FREQ */ |
320 | 322 | ||
323 | /* in processor_core.c */ | ||
324 | void acpi_processor_set_pdc(acpi_handle handle); | ||
325 | #ifdef CONFIG_SMP | ||
326 | int acpi_get_cpuid(acpi_handle, int type, u32 acpi_id); | ||
327 | #else | ||
328 | static inline int acpi_get_cpuid(acpi_handle handle, int type, u32 acpi_id) | ||
329 | { | ||
330 | return -1; | ||
331 | } | ||
332 | #endif | ||
333 | |||
321 | /* in processor_throttling.c */ | 334 | /* in processor_throttling.c */ |
322 | int acpi_processor_tstate_has_changed(struct acpi_processor *pr); | 335 | int acpi_processor_tstate_has_changed(struct acpi_processor *pr); |
323 | int acpi_processor_get_throttling_info(struct acpi_processor *pr); | 336 | int acpi_processor_get_throttling_info(struct acpi_processor *pr); |