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>
This commit is contained in:
@@ -197,6 +197,7 @@ ACPI_EXTERN struct acpi_mutex_info acpi_gbl_mutex_info[ACPI_NUM_MUTEX];
|
||||
/*
|
||||
* Global lock semaphore works in conjunction with the actual HW global lock
|
||||
*/
|
||||
ACPI_EXTERN acpi_mutex acpi_gbl_global_lock_mutex;
|
||||
ACPI_EXTERN acpi_semaphore acpi_gbl_global_lock_semaphore;
|
||||
|
||||
/*
|
||||
@@ -240,7 +241,6 @@ ACPI_EXTERN struct acpi_walk_state *acpi_gbl_breakpoint_walk;
|
||||
|
||||
/* Misc */
|
||||
|
||||
ACPI_EXTERN u32 acpi_gbl_global_lock_thread_count;
|
||||
ACPI_EXTERN u32 acpi_gbl_original_mode;
|
||||
ACPI_EXTERN u32 acpi_gbl_rsdp_original_location;
|
||||
ACPI_EXTERN u32 acpi_gbl_ns_lookup_count;
|
||||
|
@@ -277,12 +277,6 @@ acpi_status acpi_ex_system_do_suspend(acpi_integer time);
|
||||
|
||||
acpi_status acpi_ex_system_do_stall(u32 time);
|
||||
|
||||
acpi_status
|
||||
acpi_ex_system_acquire_mutex(union acpi_operand_object *time,
|
||||
union acpi_operand_object *obj_desc);
|
||||
|
||||
acpi_status acpi_ex_system_release_mutex(union acpi_operand_object *obj_desc);
|
||||
|
||||
acpi_status acpi_ex_system_signal_event(union acpi_operand_object *obj_desc);
|
||||
|
||||
acpi_status
|
||||
|
@@ -51,7 +51,6 @@
|
||||
#define ACPI_SERIALIZED 0xFF
|
||||
|
||||
typedef u32 acpi_mutex_handle;
|
||||
#define ACPI_GLOBAL_LOCK (acpi_semaphore) (-1)
|
||||
|
||||
/* Total number of aml opcodes defined */
|
||||
|
||||
|
Reference in New Issue
Block a user