Lines Matching full:mutex

138 	 * Mark the method as serialized. Later code will create a mutex for  in acpi_ds_detect_named_opcodes()
242 * DESCRIPTION: Create a mutex object for a serialized control method
254 /* Create the new mutex object */ in acpi_ds_create_method_mutex()
261 /* Create the actual OS Mutex */ in acpi_ds_create_method_mutex()
263 status = acpi_os_create_mutex(&mutex_desc->mutex.os_mutex); in acpi_ds_create_method_mutex()
269 mutex_desc->mutex.sync_level = method_desc->method.sync_level; in acpi_ds_create_method_mutex()
270 method_desc->method.mutex = mutex_desc; in acpi_ds_create_method_mutex()
315 * If this method is serialized, we need to acquire the method mutex. in acpi_ds_begin_method_execution()
319 * Create a mutex for the method if it is defined to be Serialized in acpi_ds_begin_method_execution()
320 * and a mutex has not already been created. We defer the mutex creation in acpi_ds_begin_method_execution()
323 if (!obj_desc->method.mutex) { in acpi_ds_begin_method_execution()
345 obj_desc->method.mutex->mutex.sync_level)) { in acpi_ds_begin_method_execution()
347 "Cannot acquire Mutex for method [%4.4s]" in acpi_ds_begin_method_execution()
356 * Obtain the method mutex if necessary. Do not acquire mutex for a in acpi_ds_begin_method_execution()
360 !obj_desc->method.mutex->mutex.thread_id || in acpi_ds_begin_method_execution()
362 obj_desc->method.mutex->mutex.thread_id)) { in acpi_ds_begin_method_execution()
364 * Acquire the method mutex. This releases the interpreter if we in acpi_ds_begin_method_execution()
368 acpi_ex_system_wait_mutex(obj_desc->method.mutex-> in acpi_ds_begin_method_execution()
369 mutex.os_mutex, in acpi_ds_begin_method_execution()
375 /* Update the mutex and walk info and save the original sync_level */ in acpi_ds_begin_method_execution()
378 obj_desc->method.mutex->mutex. in acpi_ds_begin_method_execution()
382 obj_desc->method.mutex->mutex.thread_id = in acpi_ds_begin_method_execution()
388 * the sync level for the method mutex (created for the in acpi_ds_begin_method_execution()
398 obj_desc->method.mutex->mutex. in acpi_ds_begin_method_execution()
400 obj_desc->method.mutex->mutex.sync_level; in acpi_ds_begin_method_execution()
402 obj_desc->method.mutex->mutex.thread_id = in acpi_ds_begin_method_execution()
409 obj_desc->method.mutex->mutex.acquisition_depth++; in acpi_ds_begin_method_execution()
433 /* On error, must release the method mutex (if present) */ in acpi_ds_begin_method_execution()
435 if (obj_desc->method.mutex) { in acpi_ds_begin_method_execution()
436 acpi_os_release_mutex(obj_desc->method.mutex->mutex.os_mutex); in acpi_ds_begin_method_execution()
486 /* Init for new method, possibly wait on method mutex */ in acpi_ds_call_control_method()
694 * MUTEX: Interpreter is locked
755 * If method is serialized, release the mutex and restore the in acpi_ds_terminate_control_method()
758 if (method_desc->method.mutex) { in acpi_ds_terminate_control_method()
762 method_desc->method.mutex->mutex.acquisition_depth--; in acpi_ds_terminate_control_method()
763 if (!method_desc->method.mutex->mutex.acquisition_depth) { in acpi_ds_terminate_control_method()
765 method_desc->method.mutex->mutex. in acpi_ds_terminate_control_method()
769 mutex->mutex.os_mutex); in acpi_ds_terminate_control_method()
770 method_desc->method.mutex->mutex.thread_id = 0; in acpi_ds_terminate_control_method()