• Home
  • Raw
  • Download

Lines Matching refs:obj_desc

54 acpi_ex_link_mutex(union acpi_operand_object *obj_desc,
69 void acpi_ex_unlink_mutex(union acpi_operand_object *obj_desc) in acpi_ex_unlink_mutex() argument
71 struct acpi_thread_state *thread = obj_desc->mutex.owner_thread; in acpi_ex_unlink_mutex()
79 if (obj_desc->mutex.next) { in acpi_ex_unlink_mutex()
80 (obj_desc->mutex.next)->mutex.prev = obj_desc->mutex.prev; in acpi_ex_unlink_mutex()
83 if (obj_desc->mutex.prev) { in acpi_ex_unlink_mutex()
84 (obj_desc->mutex.prev)->mutex.next = obj_desc->mutex.next; in acpi_ex_unlink_mutex()
92 (obj_desc->mutex.prev)->mutex.original_sync_level = in acpi_ex_unlink_mutex()
93 obj_desc->mutex.original_sync_level; in acpi_ex_unlink_mutex()
95 thread->acquired_mutex_list = obj_desc->mutex.next; in acpi_ex_unlink_mutex()
113 acpi_ex_link_mutex(union acpi_operand_object *obj_desc, in acpi_ex_link_mutex() argument
122 obj_desc->mutex.prev = NULL; in acpi_ex_link_mutex()
123 obj_desc->mutex.next = list_head; in acpi_ex_link_mutex()
128 list_head->mutex.prev = obj_desc; in acpi_ex_link_mutex()
133 thread->acquired_mutex_list = obj_desc; in acpi_ex_link_mutex()
161 union acpi_operand_object *obj_desc, in acpi_ex_acquire_mutex_object() argument
166 ACPI_FUNCTION_TRACE_PTR(ex_acquire_mutex_object, obj_desc); in acpi_ex_acquire_mutex_object()
168 if (!obj_desc) { in acpi_ex_acquire_mutex_object()
174 if (obj_desc->mutex.thread_id == thread_id) { in acpi_ex_acquire_mutex_object()
179 obj_desc->mutex.acquisition_depth++; in acpi_ex_acquire_mutex_object()
185 if (obj_desc == acpi_gbl_global_lock_mutex) { in acpi_ex_acquire_mutex_object()
188 status = acpi_ex_system_wait_mutex(obj_desc->mutex.os_mutex, in acpi_ex_acquire_mutex_object()
201 obj_desc->mutex.thread_id = thread_id; in acpi_ex_acquire_mutex_object()
202 obj_desc->mutex.acquisition_depth = 1; in acpi_ex_acquire_mutex_object()
203 obj_desc->mutex.original_sync_level = 0; in acpi_ex_acquire_mutex_object()
204 obj_desc->mutex.owner_thread = NULL; /* Used only for AML Acquire() */ in acpi_ex_acquire_mutex_object()
225 union acpi_operand_object *obj_desc, in acpi_ex_acquire_mutex() argument
230 ACPI_FUNCTION_TRACE_PTR(ex_acquire_mutex, obj_desc); in acpi_ex_acquire_mutex()
232 if (!obj_desc) { in acpi_ex_acquire_mutex()
241 acpi_ut_get_node_name(obj_desc->mutex.node))); in acpi_ex_acquire_mutex()
249 if (walk_state->thread->current_sync_level > obj_desc->mutex.sync_level) { in acpi_ex_acquire_mutex()
252 acpi_ut_get_node_name(obj_desc->mutex.node), in acpi_ex_acquire_mutex()
258 obj_desc, in acpi_ex_acquire_mutex()
260 if (ACPI_SUCCESS(status) && obj_desc->mutex.acquisition_depth == 1) { in acpi_ex_acquire_mutex()
264 obj_desc->mutex.owner_thread = walk_state->thread; in acpi_ex_acquire_mutex()
265 obj_desc->mutex.original_sync_level = in acpi_ex_acquire_mutex()
268 obj_desc->mutex.sync_level; in acpi_ex_acquire_mutex()
272 acpi_ex_link_mutex(obj_desc, walk_state->thread); in acpi_ex_acquire_mutex()
300 acpi_status acpi_ex_release_mutex_object(union acpi_operand_object *obj_desc) in acpi_ex_release_mutex_object() argument
306 if (obj_desc->mutex.acquisition_depth == 0) { in acpi_ex_release_mutex_object()
312 obj_desc->mutex.acquisition_depth--; in acpi_ex_release_mutex_object()
313 if (obj_desc->mutex.acquisition_depth != 0) { in acpi_ex_release_mutex_object()
320 if (obj_desc->mutex.owner_thread) { in acpi_ex_release_mutex_object()
324 acpi_ex_unlink_mutex(obj_desc); in acpi_ex_release_mutex_object()
325 obj_desc->mutex.owner_thread = NULL; in acpi_ex_release_mutex_object()
330 if (obj_desc == acpi_gbl_global_lock_mutex) { in acpi_ex_release_mutex_object()
333 acpi_os_release_mutex(obj_desc->mutex.os_mutex); in acpi_ex_release_mutex_object()
338 obj_desc->mutex.thread_id = 0; in acpi_ex_release_mutex_object()
356 acpi_ex_release_mutex(union acpi_operand_object *obj_desc, in acpi_ex_release_mutex() argument
365 if (!obj_desc) { in acpi_ex_release_mutex()
369 owner_thread = obj_desc->mutex.owner_thread; in acpi_ex_release_mutex()
376 acpi_ut_get_node_name(obj_desc->mutex.node))); in acpi_ex_release_mutex()
385 acpi_ut_get_node_name(obj_desc->mutex.node))); in acpi_ex_release_mutex()
394 (obj_desc != acpi_gbl_global_lock_mutex)) { in acpi_ex_release_mutex()
398 acpi_ut_get_node_name(obj_desc->mutex.node), in acpi_ex_release_mutex()
410 if (obj_desc->mutex.sync_level != owner_thread->current_sync_level) { in acpi_ex_release_mutex()
413 acpi_ut_get_node_name(obj_desc->mutex.node), in acpi_ex_release_mutex()
414 obj_desc->mutex.sync_level, in acpi_ex_release_mutex()
427 status = acpi_ex_release_mutex_object(obj_desc); in acpi_ex_release_mutex()
432 if (obj_desc->mutex.acquisition_depth == 0) { in acpi_ex_release_mutex()
463 union acpi_operand_object *obj_desc; in acpi_ex_release_all_mutexes() local
470 obj_desc = next; in acpi_ex_release_all_mutexes()
471 next = obj_desc->mutex.next; in acpi_ex_release_all_mutexes()
473 obj_desc->mutex.prev = NULL; in acpi_ex_release_all_mutexes()
474 obj_desc->mutex.next = NULL; in acpi_ex_release_all_mutexes()
475 obj_desc->mutex.acquisition_depth = 0; in acpi_ex_release_all_mutexes()
479 obj_desc)); in acpi_ex_release_all_mutexes()
483 if (obj_desc == acpi_gbl_global_lock_mutex) { in acpi_ex_release_all_mutexes()
489 acpi_os_release_mutex(obj_desc->mutex.os_mutex); in acpi_ex_release_all_mutexes()
494 obj_desc->mutex.owner_thread = NULL; in acpi_ex_release_all_mutexes()
495 obj_desc->mutex.thread_id = 0; in acpi_ex_release_all_mutexes()
500 obj_desc->mutex.original_sync_level; in acpi_ex_release_all_mutexes()