Lines Matching refs:walk_state

58 acpi_ds_get_predicate_value(struct acpi_walk_state *walk_state,  in acpi_ds_get_predicate_value()  argument
65 ACPI_FUNCTION_TRACE_PTR(ds_get_predicate_value, walk_state); in acpi_ds_get_predicate_value()
67 walk_state->control_state->common.state = 0; in acpi_ds_get_predicate_value()
70 status = acpi_ds_result_pop(&obj_desc, walk_state); in acpi_ds_get_predicate_value()
78 status = acpi_ds_create_operand(walk_state, walk_state->op, 0); in acpi_ds_get_predicate_value()
84 acpi_ex_resolve_to_value(&walk_state->operands[0], in acpi_ds_get_predicate_value()
85 walk_state); in acpi_ds_get_predicate_value()
90 obj_desc = walk_state->operands[0]; in acpi_ds_get_predicate_value()
96 obj_desc, walk_state)); in acpi_ds_get_predicate_value()
114 obj_desc, walk_state, obj_desc->common.type)); in acpi_ds_get_predicate_value()
129 walk_state->control_state->common.value = TRUE; in acpi_ds_get_predicate_value()
135 walk_state->control_state->common.value = FALSE; in acpi_ds_get_predicate_value()
141 (void)acpi_ds_do_implicit_return(local_obj_desc, walk_state, TRUE); in acpi_ds_get_predicate_value()
147 walk_state->control_state->common.value, in acpi_ds_get_predicate_value()
148 walk_state->op)); in acpi_ds_get_predicate_value()
152 acpi_db_display_result_object(local_obj_desc, walk_state); in acpi_ds_get_predicate_value()
163 walk_state->control_state->common.state = ACPI_CONTROL_NORMAL; in acpi_ds_get_predicate_value()
183 acpi_ds_exec_begin_op(struct acpi_walk_state *walk_state, in acpi_ds_exec_begin_op() argument
190 ACPI_FUNCTION_TRACE_PTR(ds_exec_begin_op, walk_state); in acpi_ds_exec_begin_op()
192 op = walk_state->op; in acpi_ds_exec_begin_op()
194 status = acpi_ds_load2_begin_op(walk_state, out_op); in acpi_ds_exec_begin_op()
200 walk_state->op = op; in acpi_ds_exec_begin_op()
201 walk_state->opcode = op->common.aml_opcode; in acpi_ds_exec_begin_op()
202 walk_state->op_info = in acpi_ds_exec_begin_op()
205 if (acpi_ns_opens_scope(walk_state->op_info->object_type)) { in acpi_ds_exec_begin_op()
208 acpi_ut_get_type_name(walk_state-> in acpi_ds_exec_begin_op()
213 status = acpi_ds_scope_stack_pop(walk_state); in acpi_ds_exec_begin_op()
220 if (op == walk_state->origin) { in acpi_ds_exec_begin_op()
233 if ((walk_state->control_state) && in acpi_ds_exec_begin_op()
234 (walk_state->control_state->common.state == in acpi_ds_exec_begin_op()
238 op, walk_state)); in acpi_ds_exec_begin_op()
240 walk_state->control_state->common.state = in acpi_ds_exec_begin_op()
245 walk_state->control_state->control.predicate_op = op; in acpi_ds_exec_begin_op()
248 opcode_class = walk_state->op_info->class; in acpi_ds_exec_begin_op()
262 status = acpi_ds_exec_begin_control_op(walk_state, op); in acpi_ds_exec_begin_op()
267 if (walk_state->walk_type & ACPI_WALK_METHOD) { in acpi_ds_exec_begin_op()
281 acpi_ds_load2_begin_op(walk_state, NULL); in acpi_ds_exec_begin_op()
286 type, walk_state); in acpi_ds_exec_begin_op()
309 status = acpi_ds_method_error(status, walk_state); in acpi_ds_exec_begin_op()
327 acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state) in acpi_ds_exec_end_op() argument
340 ACPI_FUNCTION_TRACE_PTR(ds_exec_end_op, walk_state); in acpi_ds_exec_end_op()
342 op = walk_state->op; in acpi_ds_exec_end_op()
343 op_type = walk_state->op_info->type; in acpi_ds_exec_end_op()
344 op_class = walk_state->op_info->class; in acpi_ds_exec_end_op()
356 walk_state->num_operands = 0; in acpi_ds_exec_end_op()
357 walk_state->operand_index = 0; in acpi_ds_exec_end_op()
358 walk_state->return_desc = NULL; in acpi_ds_exec_end_op()
359 walk_state->result_obj = NULL; in acpi_ds_exec_end_op()
363 status = acpi_db_single_step(walk_state, op, op_class); in acpi_ds_exec_end_op()
373 if (walk_state->opcode == AML_INT_NAMEPATH_OP) { in acpi_ds_exec_end_op()
374 status = acpi_ds_evaluate_name_path(walk_state); in acpi_ds_exec_end_op()
385 status = acpi_ds_create_operands(walk_state, first_arg); in acpi_ds_exec_end_op()
394 if (!(walk_state->op_info->flags & AML_NO_OPERAND_RESOLVE)) { in acpi_ds_exec_end_op()
398 status = acpi_ex_resolve_operands(walk_state->opcode, in acpi_ds_exec_end_op()
399 &(walk_state-> in acpi_ds_exec_end_op()
401 [walk_state-> in acpi_ds_exec_end_op()
403 walk_state); in acpi_ds_exec_end_op()
413 acpi_gbl_op_type_dispatch[op_type] (walk_state); in acpi_ds_exec_end_op()
420 (walk_state->opcode == AML_STORE_OP) && in acpi_ds_exec_end_op()
421 (walk_state->operands[0]->common.type == in acpi_ds_exec_end_op()
423 && (walk_state->operands[1]->common.type == in acpi_ds_exec_end_op()
425 && (walk_state->operands[0]->reference.class == in acpi_ds_exec_end_op()
426 walk_state->operands[1]->reference.class) in acpi_ds_exec_end_op()
427 && (walk_state->operands[0]->reference.value == in acpi_ds_exec_end_op()
428 walk_state->operands[1]->reference.value)) { in acpi_ds_exec_end_op()
434 (walk_state->opcode))); in acpi_ds_exec_end_op()
440 acpi_ds_clear_operands(walk_state); in acpi_ds_exec_end_op()
446 if (ACPI_SUCCESS(status) && walk_state->result_obj) { in acpi_ds_exec_end_op()
448 acpi_ds_result_push(walk_state->result_obj, in acpi_ds_exec_end_op()
449 walk_state); in acpi_ds_exec_end_op()
460 status = acpi_ds_exec_end_control_op(walk_state, op); in acpi_ds_exec_end_op()
503 status = acpi_ds_create_operands(walk_state, next_op); in acpi_ds_exec_end_op()
513 status = acpi_ds_resolve_operands(walk_state); in acpi_ds_exec_end_op()
518 acpi_ds_clear_operands(walk_state); in acpi_ds_exec_end_op()
540 status = acpi_ds_load2_end_op(walk_state); in acpi_ds_exec_end_op()
546 acpi_ds_eval_buffer_field_operands(walk_state, op); in acpi_ds_exec_end_op()
589 walk_state->operands[0] = (void *) in acpi_ds_exec_end_op()
591 walk_state->num_operands = 1; in acpi_ds_exec_end_op()
593 status = acpi_ds_create_node(walk_state, in acpi_ds_exec_end_op()
608 (walk_state, op, in acpi_ds_exec_end_op()
618 (walk_state, op, NULL); in acpi_ds_exec_end_op()
626 if (walk_state->result_obj) { in acpi_ds_exec_end_op()
628 acpi_ds_result_push(walk_state->result_obj, in acpi_ds_exec_end_op()
629 walk_state); in acpi_ds_exec_end_op()
638 status = acpi_ds_load2_end_op(walk_state); in acpi_ds_exec_end_op()
649 acpi_ds_eval_region_operands(walk_state, in acpi_ds_exec_end_op()
661 (walk_state, op); in acpi_ds_exec_end_op()
671 acpi_ds_eval_bank_field_operands(walk_state, in acpi_ds_exec_end_op()
689 walk_state->opcode, op)); in acpi_ds_exec_end_op()
709 (void)acpi_ex_truncate_for32bit_table(walk_state->result_obj); in acpi_ds_exec_end_op()
716 (walk_state->control_state) && in acpi_ds_exec_end_op()
717 (walk_state->control_state->common.state == in acpi_ds_exec_end_op()
719 (walk_state->control_state->control.predicate_op == op)) { in acpi_ds_exec_end_op()
721 acpi_ds_get_predicate_value(walk_state, in acpi_ds_exec_end_op()
722 walk_state->result_obj); in acpi_ds_exec_end_op()
723 walk_state->result_obj = NULL; in acpi_ds_exec_end_op()
728 if (walk_state->result_obj) { in acpi_ds_exec_end_op()
732 acpi_db_display_result_object(walk_state->result_obj, in acpi_ds_exec_end_op()
733 walk_state); in acpi_ds_exec_end_op()
740 acpi_ds_delete_result_if_not_used(op, walk_state->result_obj, in acpi_ds_exec_end_op()
741 walk_state); in acpi_ds_exec_end_op()
745 if (walk_state->parser_state.aml == walk_state->parser_state.aml_end) { in acpi_ds_exec_end_op()
746 acpi_db_method_end(walk_state); in acpi_ds_exec_end_op()
753 status = acpi_ds_method_error(status, walk_state); in acpi_ds_exec_end_op()
758 walk_state->num_operands = 0; in acpi_ds_exec_end_op()