diff options
author | Bob Moore <robert.moore@intel.com> | 2007-02-02 11:48:18 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-02-02 21:14:20 -0500 |
commit | c81da66608d65dab04730582dfdfcdcab779e2fe (patch) | |
tree | e1d2936a457d3ac2b359b4fc676bedfd341fee86 /include/acpi | |
parent | 8f9337c88335846b01801b1047a4caf10527a320 (diff) |
ACPICA: Delete recursive feature of ACPI Global Lock
Completed a new design and implementation for
the ACPI Global Lock support. On the OS side, the global
lock is now treated as a standard AML mutex. Previously,
multiple OS threads could acquire the global lock
simultaneously, but this could cause the BIOS to be starved
by the lock in cases such as the Embedded Controller driver,
where there is a tight coupling between the OS and the BIOS.
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r-- | include/acpi/acglobal.h | 2 | ||||
-rw-r--r-- | include/acpi/acinterp.h | 6 | ||||
-rw-r--r-- | include/acpi/aclocal.h | 1 |
3 files changed, 1 insertions, 8 deletions
diff --git a/include/acpi/acglobal.h b/include/acpi/acglobal.h index 06972e6637de..bf4318447f1a 100644 --- a/include/acpi/acglobal.h +++ b/include/acpi/acglobal.h | |||
@@ -197,6 +197,7 @@ ACPI_EXTERN struct acpi_mutex_info acpi_gbl_mutex_info[ACPI_NUM_MUTEX]; | |||
197 | /* | 197 | /* |
198 | * Global lock semaphore works in conjunction with the actual HW global lock | 198 | * Global lock semaphore works in conjunction with the actual HW global lock |
199 | */ | 199 | */ |
200 | ACPI_EXTERN acpi_mutex acpi_gbl_global_lock_mutex; | ||
200 | ACPI_EXTERN acpi_semaphore acpi_gbl_global_lock_semaphore; | 201 | ACPI_EXTERN acpi_semaphore acpi_gbl_global_lock_semaphore; |
201 | 202 | ||
202 | /* | 203 | /* |
@@ -240,7 +241,6 @@ ACPI_EXTERN struct acpi_walk_state *acpi_gbl_breakpoint_walk; | |||
240 | 241 | ||
241 | /* Misc */ | 242 | /* Misc */ |
242 | 243 | ||
243 | ACPI_EXTERN u32 acpi_gbl_global_lock_thread_count; | ||
244 | ACPI_EXTERN u32 acpi_gbl_original_mode; | 244 | ACPI_EXTERN u32 acpi_gbl_original_mode; |
245 | ACPI_EXTERN u32 acpi_gbl_rsdp_original_location; | 245 | ACPI_EXTERN u32 acpi_gbl_rsdp_original_location; |
246 | ACPI_EXTERN u32 acpi_gbl_ns_lookup_count; | 246 | ACPI_EXTERN u32 acpi_gbl_ns_lookup_count; |
diff --git a/include/acpi/acinterp.h b/include/acpi/acinterp.h index 91586d0d5bb5..f266b3851157 100644 --- a/include/acpi/acinterp.h +++ b/include/acpi/acinterp.h | |||
@@ -277,12 +277,6 @@ acpi_status acpi_ex_system_do_suspend(acpi_integer time); | |||
277 | 277 | ||
278 | acpi_status acpi_ex_system_do_stall(u32 time); | 278 | acpi_status acpi_ex_system_do_stall(u32 time); |
279 | 279 | ||
280 | acpi_status | ||
281 | acpi_ex_system_acquire_mutex(union acpi_operand_object *time, | ||
282 | union acpi_operand_object *obj_desc); | ||
283 | |||
284 | acpi_status acpi_ex_system_release_mutex(union acpi_operand_object *obj_desc); | ||
285 | |||
286 | acpi_status acpi_ex_system_signal_event(union acpi_operand_object *obj_desc); | 280 | acpi_status acpi_ex_system_signal_event(union acpi_operand_object *obj_desc); |
287 | 281 | ||
288 | acpi_status | 282 | acpi_status |
diff --git a/include/acpi/aclocal.h b/include/acpi/aclocal.h index 063c4b54290f..d5421403089b 100644 --- a/include/acpi/aclocal.h +++ b/include/acpi/aclocal.h | |||
@@ -51,7 +51,6 @@ | |||
51 | #define ACPI_SERIALIZED 0xFF | 51 | #define ACPI_SERIALIZED 0xFF |
52 | 52 | ||
53 | typedef u32 acpi_mutex_handle; | 53 | typedef u32 acpi_mutex_handle; |
54 | #define ACPI_GLOBAL_LOCK (acpi_semaphore) (-1) | ||
55 | 54 | ||
56 | /* Total number of aml opcodes defined */ | 55 | /* Total number of aml opcodes defined */ |
57 | 56 | ||