Lines Matching refs:walk_state

21 static acpi_status acpi_ps_get_aml_opcode(struct acpi_walk_state *walk_state);
35 static acpi_status acpi_ps_get_aml_opcode(struct acpi_walk_state *walk_state) in acpi_ps_get_aml_opcode() argument
39 ACPI_FUNCTION_TRACE_PTR(ps_get_aml_opcode, walk_state); in acpi_ps_get_aml_opcode()
41 walk_state->aml = walk_state->parser_state.aml; in acpi_ps_get_aml_opcode()
42 walk_state->opcode = acpi_ps_peek_opcode(&(walk_state->parser_state)); in acpi_ps_get_aml_opcode()
50 walk_state->op_info = acpi_ps_get_opcode_info(walk_state->opcode); in acpi_ps_get_aml_opcode()
52 switch (walk_state->op_info->class) { in acpi_ps_get_aml_opcode()
59 walk_state->opcode = AML_INT_NAMEPATH_OP; in acpi_ps_get_aml_opcode()
60 walk_state->arg_types = ARGP_NAMESTRING; in acpi_ps_get_aml_opcode()
67 if (walk_state->pass_number == 2) { in acpi_ps_get_aml_opcode()
69 (u32)ACPI_PTR_DIFF(walk_state->aml, in acpi_ps_get_aml_opcode()
70 walk_state-> in acpi_ps_get_aml_opcode()
76 walk_state->opcode, in acpi_ps_get_aml_opcode()
80 ACPI_DUMP_BUFFER((walk_state->parser_state.aml - 16), in acpi_ps_get_aml_opcode()
90 walk_state->opcode, in acpi_ps_get_aml_opcode()
99 acpi_ut_dump_buffer(((u8 *)walk_state->parser_state. in acpi_ps_get_aml_opcode()
118 walk_state->parser_state.aml++; in acpi_ps_get_aml_opcode()
119 if (walk_state->opcode > 0xFF) { /* Can only happen if first byte is 0x5B */ in acpi_ps_get_aml_opcode()
120 walk_state->parser_state.aml++; in acpi_ps_get_aml_opcode()
129 walk_state->parser_state.aml += in acpi_ps_get_aml_opcode()
130 acpi_ps_get_opcode_size(walk_state->opcode); in acpi_ps_get_aml_opcode()
131 walk_state->arg_types = walk_state->op_info->parse_args; in acpi_ps_get_aml_opcode()
154 acpi_ps_build_named_op(struct acpi_walk_state *walk_state, in acpi_ps_build_named_op() argument
162 ACPI_FUNCTION_TRACE_PTR(ps_build_named_op, walk_state); in acpi_ps_build_named_op()
166 unnamed_op->common.aml_opcode = walk_state->opcode; in acpi_ps_build_named_op()
172 while (GET_CURRENT_ARG_TYPE(walk_state->arg_types) && in acpi_ps_build_named_op()
173 (GET_CURRENT_ARG_TYPE(walk_state->arg_types) != ARGP_NAME)) { in acpi_ps_build_named_op()
174 ASL_CV_CAPTURE_COMMENTS(walk_state); in acpi_ps_build_named_op()
176 acpi_ps_get_next_arg(walk_state, in acpi_ps_build_named_op()
177 &(walk_state->parser_state), in acpi_ps_build_named_op()
178 GET_CURRENT_ARG_TYPE(walk_state-> in acpi_ps_build_named_op()
185 INCREMENT_ARG_LIST(walk_state->arg_types); in acpi_ps_build_named_op()
190 ASL_CV_CAPTURE_COMMENTS(walk_state); in acpi_ps_build_named_op()
203 if (!GET_CURRENT_ARG_TYPE(walk_state->arg_types)) { in acpi_ps_build_named_op()
209 INCREMENT_ARG_LIST(walk_state->arg_types); in acpi_ps_build_named_op()
215 walk_state->op = NULL; in acpi_ps_build_named_op()
217 status = walk_state->descending_callback(walk_state, op); in acpi_ps_build_named_op()
230 status = acpi_ps_next_parse_state(walk_state, *op, status); in acpi_ps_build_named_op()
298 acpi_ps_create_op(struct acpi_walk_state *walk_state, in acpi_ps_create_op() argument
308 ACPI_FUNCTION_TRACE_PTR(ps_create_op, walk_state); in acpi_ps_create_op()
310 status = acpi_ps_get_aml_opcode(walk_state); in acpi_ps_create_op()
320 walk_state->op_info = acpi_ps_get_opcode_info(walk_state->opcode); in acpi_ps_create_op()
321 op = acpi_ps_alloc_op(walk_state->opcode, aml_op_start); in acpi_ps_create_op()
326 if (walk_state->op_info->flags & AML_NAMED) { in acpi_ps_create_op()
328 acpi_ps_build_named_op(walk_state, aml_op_start, op, in acpi_ps_create_op()
334 && walk_state->opcode == AML_EXTERNAL_OP in acpi_ps_create_op()
346 walk_state->aml = walk_state->parser_state.aml + 2; in acpi_ps_create_op()
347 walk_state->parser_state.aml = walk_state->aml; in acpi_ps_create_op()
361 if (walk_state->op_info->flags & AML_CREATE) { in acpi_ps_create_op()
370 if (walk_state->opcode == AML_BANK_FIELD_OP) { in acpi_ps_create_op()
379 parent_scope = acpi_ps_get_parent_scope(&(walk_state->parser_state)); in acpi_ps_create_op()
405 if (walk_state->descending_callback != NULL) { in acpi_ps_create_op()
410 walk_state->op = *new_op = op; in acpi_ps_create_op()
412 status = walk_state->descending_callback(walk_state, &op); in acpi_ps_create_op()
413 status = acpi_ps_next_parse_state(walk_state, op, status); in acpi_ps_create_op()
437 acpi_ps_complete_op(struct acpi_walk_state *walk_state, in acpi_ps_complete_op() argument
442 ACPI_FUNCTION_TRACE_PTR(ps_complete_op, walk_state); in acpi_ps_complete_op()
447 walk_state->parser_state.scope->parse_scope.arg_count--; in acpi_ps_complete_op()
451 status2 = acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
467 walk_state->prev_op = NULL; in acpi_ps_complete_op()
468 walk_state->prev_arg_types = walk_state->arg_types; in acpi_ps_complete_op()
473 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
474 &walk_state->arg_types, in acpi_ps_complete_op()
475 &walk_state->arg_count); in acpi_ps_complete_op()
478 walk_state->op = *op; in acpi_ps_complete_op()
479 walk_state->op_info = in acpi_ps_complete_op()
481 walk_state->opcode = (*op)->common.aml_opcode; in acpi_ps_complete_op()
483 status = walk_state->ascending_callback(walk_state); in acpi_ps_complete_op()
484 (void)acpi_ps_next_parse_state(walk_state, *op, status); in acpi_ps_complete_op()
486 status2 = acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
500 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
501 &walk_state->arg_types, in acpi_ps_complete_op()
502 &walk_state->arg_count); in acpi_ps_complete_op()
507 walk_state->op = *op; in acpi_ps_complete_op()
508 walk_state->op_info = in acpi_ps_complete_op()
510 walk_state->opcode = (*op)->common.aml_opcode; in acpi_ps_complete_op()
512 status = walk_state->ascending_callback(walk_state); in acpi_ps_complete_op()
513 (void)acpi_ps_next_parse_state(walk_state, *op, status); in acpi_ps_complete_op()
515 status2 = acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
528 acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
535 (&walk_state->control_state)); in acpi_ps_complete_op()
538 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
539 &walk_state->arg_types, in acpi_ps_complete_op()
540 &walk_state->arg_count); in acpi_ps_complete_op()
566 acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
572 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
573 &walk_state->arg_types, in acpi_ps_complete_op()
574 &walk_state->arg_count); in acpi_ps_complete_op()
584 &walk_state->arg_types, in acpi_ps_complete_op()
585 &walk_state->arg_count); in acpi_ps_complete_op()
588 walk_state->prev_op = NULL; in acpi_ps_complete_op()
589 walk_state->prev_arg_types = walk_state->arg_types; in acpi_ps_complete_op()
591 if (walk_state->parse_flags & ACPI_PARSE_MODULE_LEVEL) { in acpi_ps_complete_op()
608 if (acpi_ps_has_completed_scope(&(walk_state->parser_state))) { in acpi_ps_complete_op()
609 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
610 &walk_state->arg_types, in acpi_ps_complete_op()
611 &walk_state->arg_count); in acpi_ps_complete_op()
636 acpi_ps_complete_final_op(struct acpi_walk_state *walk_state, in acpi_ps_complete_final_op() argument
641 ACPI_FUNCTION_TRACE_PTR(ps_complete_final_op, walk_state); in acpi_ps_complete_final_op()
653 if (walk_state->ascending_callback != NULL) { in acpi_ps_complete_final_op()
654 walk_state->op = op; in acpi_ps_complete_final_op()
655 walk_state->op_info = in acpi_ps_complete_final_op()
658 walk_state->opcode = op->common.aml_opcode; in acpi_ps_complete_final_op()
661 walk_state->ascending_callback(walk_state); in acpi_ps_complete_final_op()
663 acpi_ps_next_parse_state(walk_state, op, in acpi_ps_complete_final_op()
667 acpi_ps_complete_op(walk_state, &op, in acpi_ps_complete_final_op()
682 (walk_state, op); in acpi_ps_complete_final_op()
691 (walk_state-> in acpi_ps_complete_final_op()
694 &walk_state-> in acpi_ps_complete_final_op()
696 &walk_state-> in acpi_ps_complete_final_op()
709 acpi_ps_complete_this_op(walk_state, in acpi_ps_complete_final_op()
715 status2 = acpi_ps_complete_this_op(walk_state, op); in acpi_ps_complete_final_op()
721 acpi_ps_pop_scope(&(walk_state->parser_state), &op, in acpi_ps_complete_final_op()
722 &walk_state->arg_types, in acpi_ps_complete_final_op()
723 &walk_state->arg_count); in acpi_ps_complete_final_op()