Lines Matching refs:walk_state

89 acpi_ds_get_predicate_value(struct acpi_walk_state *walk_state,  in acpi_ds_get_predicate_value()  argument
96 ACPI_FUNCTION_TRACE_PTR(ds_get_predicate_value, walk_state); in acpi_ds_get_predicate_value()
98 walk_state->control_state->common.state = 0; in acpi_ds_get_predicate_value()
101 status = acpi_ds_result_pop(&obj_desc, walk_state); in acpi_ds_get_predicate_value()
109 status = acpi_ds_create_operand(walk_state, walk_state->op, 0); in acpi_ds_get_predicate_value()
115 acpi_ex_resolve_to_value(&walk_state->operands[0], in acpi_ds_get_predicate_value()
116 walk_state); in acpi_ds_get_predicate_value()
121 obj_desc = walk_state->operands[0]; in acpi_ds_get_predicate_value()
127 obj_desc, walk_state)); in acpi_ds_get_predicate_value()
144 obj_desc, walk_state, obj_desc->common.type)); in acpi_ds_get_predicate_value()
159 walk_state->control_state->common.value = TRUE; in acpi_ds_get_predicate_value()
165 walk_state->control_state->common.value = FALSE; in acpi_ds_get_predicate_value()
171 (void)acpi_ds_do_implicit_return(local_obj_desc, walk_state, TRUE); in acpi_ds_get_predicate_value()
176 walk_state->control_state->common.value, in acpi_ds_get_predicate_value()
177 walk_state->op)); in acpi_ds_get_predicate_value()
182 (local_obj_desc, walk_state)); in acpi_ds_get_predicate_value()
193 walk_state->control_state->common.state = ACPI_CONTROL_NORMAL; in acpi_ds_get_predicate_value()
213 acpi_ds_exec_begin_op(struct acpi_walk_state *walk_state, in acpi_ds_exec_begin_op() argument
220 ACPI_FUNCTION_TRACE_PTR(ds_exec_begin_op, walk_state); in acpi_ds_exec_begin_op()
222 op = walk_state->op; in acpi_ds_exec_begin_op()
224 status = acpi_ds_load2_begin_op(walk_state, out_op); in acpi_ds_exec_begin_op()
230 walk_state->op = op; in acpi_ds_exec_begin_op()
231 walk_state->opcode = op->common.aml_opcode; in acpi_ds_exec_begin_op()
232 walk_state->op_info = in acpi_ds_exec_begin_op()
235 if (acpi_ns_opens_scope(walk_state->op_info->object_type)) { in acpi_ds_exec_begin_op()
238 acpi_ut_get_type_name(walk_state-> in acpi_ds_exec_begin_op()
243 status = acpi_ds_scope_stack_pop(walk_state); in acpi_ds_exec_begin_op()
250 if (op == walk_state->origin) { in acpi_ds_exec_begin_op()
263 if ((walk_state->control_state) && in acpi_ds_exec_begin_op()
264 (walk_state->control_state->common.state == in acpi_ds_exec_begin_op()
268 walk_state)); in acpi_ds_exec_begin_op()
270 walk_state->control_state->common.state = in acpi_ds_exec_begin_op()
275 walk_state->control_state->control.predicate_op = op; in acpi_ds_exec_begin_op()
278 opcode_class = walk_state->op_info->class; in acpi_ds_exec_begin_op()
292 status = acpi_ds_exec_begin_control_op(walk_state, op); in acpi_ds_exec_begin_op()
297 if (walk_state->walk_type & ACPI_WALK_METHOD) { in acpi_ds_exec_begin_op()
311 acpi_ds_load2_begin_op(walk_state, NULL); in acpi_ds_exec_begin_op()
316 type, walk_state); in acpi_ds_exec_begin_op()
339 status = acpi_ds_method_error(status, walk_state); in acpi_ds_exec_begin_op()
357 acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state) in acpi_ds_exec_end_op() argument
366 ACPI_FUNCTION_TRACE_PTR(ds_exec_end_op, walk_state); in acpi_ds_exec_end_op()
368 op = walk_state->op; in acpi_ds_exec_end_op()
369 op_type = walk_state->op_info->type; in acpi_ds_exec_end_op()
370 op_class = walk_state->op_info->class; in acpi_ds_exec_end_op()
382 walk_state->num_operands = 0; in acpi_ds_exec_end_op()
383 walk_state->operand_index = 0; in acpi_ds_exec_end_op()
384 walk_state->return_desc = NULL; in acpi_ds_exec_end_op()
385 walk_state->result_obj = NULL; in acpi_ds_exec_end_op()
390 acpi_db_single_step(walk_state, op, op_class)); in acpi_ds_exec_end_op()
400 if (walk_state->opcode == AML_INT_NAMEPATH_OP) { in acpi_ds_exec_end_op()
401 status = acpi_ds_evaluate_name_path(walk_state); in acpi_ds_exec_end_op()
412 status = acpi_ds_create_operands(walk_state, first_arg); in acpi_ds_exec_end_op()
421 if (!(walk_state->op_info->flags & AML_NO_OPERAND_RESOLVE)) { in acpi_ds_exec_end_op()
425 status = acpi_ex_resolve_operands(walk_state->opcode, in acpi_ds_exec_end_op()
426 &(walk_state-> in acpi_ds_exec_end_op()
428 [walk_state-> in acpi_ds_exec_end_op()
430 walk_state); in acpi_ds_exec_end_op()
440 acpi_gbl_op_type_dispatch[op_type] (walk_state); in acpi_ds_exec_end_op()
447 (walk_state->opcode == AML_STORE_OP) && in acpi_ds_exec_end_op()
448 (walk_state->operands[0]->common.type == in acpi_ds_exec_end_op()
450 && (walk_state->operands[1]->common.type == in acpi_ds_exec_end_op()
452 && (walk_state->operands[0]->reference.class == in acpi_ds_exec_end_op()
453 walk_state->operands[1]->reference.class) in acpi_ds_exec_end_op()
454 && (walk_state->operands[0]->reference.value == in acpi_ds_exec_end_op()
455 walk_state->operands[1]->reference.value)) { in acpi_ds_exec_end_op()
461 (walk_state->opcode))); in acpi_ds_exec_end_op()
467 acpi_ds_clear_operands(walk_state); in acpi_ds_exec_end_op()
473 if (ACPI_SUCCESS(status) && walk_state->result_obj) { in acpi_ds_exec_end_op()
475 acpi_ds_result_push(walk_state->result_obj, in acpi_ds_exec_end_op()
476 walk_state); in acpi_ds_exec_end_op()
487 status = acpi_ds_exec_end_control_op(walk_state, op); in acpi_ds_exec_end_op()
531 status = acpi_ds_create_operands(walk_state, next_op); in acpi_ds_exec_end_op()
541 status = acpi_ds_resolve_operands(walk_state); in acpi_ds_exec_end_op()
546 acpi_ds_clear_operands(walk_state); in acpi_ds_exec_end_op()
568 status = acpi_ds_load2_end_op(walk_state); in acpi_ds_exec_end_op()
574 acpi_ds_eval_buffer_field_operands(walk_state, op); in acpi_ds_exec_end_op()
589 walk_state->operands[0] = 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()
708 (void)acpi_ex_truncate_for32bit_table(walk_state->result_obj); in acpi_ds_exec_end_op()
715 (walk_state->control_state) && in acpi_ds_exec_end_op()
716 (walk_state->control_state->common.state == in acpi_ds_exec_end_op()
718 (walk_state->control_state->control.predicate_op == op)) { in acpi_ds_exec_end_op()
720 acpi_ds_get_predicate_value(walk_state, in acpi_ds_exec_end_op()
721 walk_state->result_obj); in acpi_ds_exec_end_op()
722 walk_state->result_obj = NULL; in acpi_ds_exec_end_op()
727 if (walk_state->result_obj) { in acpi_ds_exec_end_op()
732 (walk_state->result_obj, walk_state)); in acpi_ds_exec_end_op()
739 acpi_ds_delete_result_if_not_used(op, walk_state->result_obj, in acpi_ds_exec_end_op()
740 walk_state); in acpi_ds_exec_end_op()
744 if (walk_state->parser_state.aml == walk_state->parser_state.aml_end) { in acpi_ds_exec_end_op()
745 acpi_db_method_end(walk_state); in acpi_ds_exec_end_op()
752 status = acpi_ds_method_error(status, walk_state); in acpi_ds_exec_end_op()
757 walk_state->num_operands = 0; in acpi_ds_exec_end_op()