Lines Matching refs:walk_state
53 static acpi_status acpi_ps_get_aml_opcode(struct acpi_walk_state *walk_state);
67 static acpi_status acpi_ps_get_aml_opcode(struct acpi_walk_state *walk_state) in acpi_ps_get_aml_opcode() argument
71 ACPI_FUNCTION_TRACE_PTR(ps_get_aml_opcode, walk_state); in acpi_ps_get_aml_opcode()
73 walk_state->aml = walk_state->parser_state.aml; in acpi_ps_get_aml_opcode()
74 walk_state->opcode = acpi_ps_peek_opcode(&(walk_state->parser_state)); in acpi_ps_get_aml_opcode()
82 walk_state->op_info = acpi_ps_get_opcode_info(walk_state->opcode); in acpi_ps_get_aml_opcode()
84 switch (walk_state->op_info->class) { in acpi_ps_get_aml_opcode()
91 walk_state->opcode = AML_INT_NAMEPATH_OP; in acpi_ps_get_aml_opcode()
92 walk_state->arg_types = ARGP_NAMESTRING; in acpi_ps_get_aml_opcode()
99 if (walk_state->pass_number == 2) { in acpi_ps_get_aml_opcode()
100 aml_offset = (u32)ACPI_PTR_DIFF(walk_state->aml, in acpi_ps_get_aml_opcode()
101 walk_state-> in acpi_ps_get_aml_opcode()
106 walk_state->opcode, in acpi_ps_get_aml_opcode()
110 ACPI_DUMP_BUFFER((walk_state->parser_state.aml - 16), in acpi_ps_get_aml_opcode()
120 walk_state->opcode, in acpi_ps_get_aml_opcode()
126 acpi_ut_dump_buffer(((u8 *)walk_state->parser_state. in acpi_ps_get_aml_opcode()
137 walk_state->parser_state.aml++; in acpi_ps_get_aml_opcode()
138 if (walk_state->opcode > 0xFF) { /* Can only happen if first byte is 0x5B */ in acpi_ps_get_aml_opcode()
139 walk_state->parser_state.aml++; in acpi_ps_get_aml_opcode()
148 walk_state->parser_state.aml += in acpi_ps_get_aml_opcode()
149 acpi_ps_get_opcode_size(walk_state->opcode); in acpi_ps_get_aml_opcode()
150 walk_state->arg_types = walk_state->op_info->parse_args; in acpi_ps_get_aml_opcode()
173 acpi_ps_build_named_op(struct acpi_walk_state *walk_state, in acpi_ps_build_named_op() argument
181 ACPI_FUNCTION_TRACE_PTR(ps_build_named_op, walk_state); in acpi_ps_build_named_op()
185 unnamed_op->common.aml_opcode = walk_state->opcode; in acpi_ps_build_named_op()
191 while (GET_CURRENT_ARG_TYPE(walk_state->arg_types) && in acpi_ps_build_named_op()
192 (GET_CURRENT_ARG_TYPE(walk_state->arg_types) != ARGP_NAME)) { in acpi_ps_build_named_op()
194 acpi_ps_get_next_arg(walk_state, in acpi_ps_build_named_op()
195 &(walk_state->parser_state), in acpi_ps_build_named_op()
196 GET_CURRENT_ARG_TYPE(walk_state-> in acpi_ps_build_named_op()
203 INCREMENT_ARG_LIST(walk_state->arg_types); in acpi_ps_build_named_op()
209 if (!GET_CURRENT_ARG_TYPE(walk_state->arg_types)) { in acpi_ps_build_named_op()
215 INCREMENT_ARG_LIST(walk_state->arg_types); in acpi_ps_build_named_op()
221 walk_state->op = NULL; in acpi_ps_build_named_op()
223 status = walk_state->descending_callback(walk_state, op); in acpi_ps_build_named_op()
236 status = acpi_ps_next_parse_state(walk_state, *op, status); in acpi_ps_build_named_op()
280 acpi_ps_create_op(struct acpi_walk_state *walk_state, in acpi_ps_create_op() argument
290 ACPI_FUNCTION_TRACE_PTR(ps_create_op, walk_state); in acpi_ps_create_op()
292 status = acpi_ps_get_aml_opcode(walk_state); in acpi_ps_create_op()
299 walk_state->op_info = acpi_ps_get_opcode_info(walk_state->opcode); in acpi_ps_create_op()
300 op = acpi_ps_alloc_op(walk_state->opcode, aml_op_start); in acpi_ps_create_op()
305 if (walk_state->op_info->flags & AML_NAMED) { in acpi_ps_create_op()
307 acpi_ps_build_named_op(walk_state, aml_op_start, op, in acpi_ps_create_op()
320 if (walk_state->op_info->flags & AML_CREATE) { in acpi_ps_create_op()
329 if (walk_state->opcode == AML_BANK_FIELD_OP) { in acpi_ps_create_op()
338 parent_scope = acpi_ps_get_parent_scope(&(walk_state->parser_state)); in acpi_ps_create_op()
356 if (walk_state->descending_callback != NULL) { in acpi_ps_create_op()
361 walk_state->op = *new_op = op; in acpi_ps_create_op()
363 status = walk_state->descending_callback(walk_state, &op); in acpi_ps_create_op()
364 status = acpi_ps_next_parse_state(walk_state, op, status); in acpi_ps_create_op()
388 acpi_ps_complete_op(struct acpi_walk_state *walk_state, in acpi_ps_complete_op() argument
393 ACPI_FUNCTION_TRACE_PTR(ps_complete_op, walk_state); in acpi_ps_complete_op()
398 walk_state->parser_state.scope->parse_scope.arg_count--; in acpi_ps_complete_op()
402 status2 = acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
418 walk_state->prev_op = NULL; in acpi_ps_complete_op()
419 walk_state->prev_arg_types = walk_state->arg_types; in acpi_ps_complete_op()
424 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
425 &walk_state->arg_types, in acpi_ps_complete_op()
426 &walk_state->arg_count); in acpi_ps_complete_op()
429 walk_state->op = *op; in acpi_ps_complete_op()
430 walk_state->op_info = in acpi_ps_complete_op()
432 walk_state->opcode = (*op)->common.aml_opcode; in acpi_ps_complete_op()
434 status = walk_state->ascending_callback(walk_state); in acpi_ps_complete_op()
436 acpi_ps_next_parse_state(walk_state, *op, status); in acpi_ps_complete_op()
438 status2 = acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
453 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
454 &walk_state->arg_types, in acpi_ps_complete_op()
455 &walk_state->arg_count); in acpi_ps_complete_op()
460 walk_state->op = *op; in acpi_ps_complete_op()
461 walk_state->op_info = in acpi_ps_complete_op()
463 walk_state->opcode = (*op)->common.aml_opcode; in acpi_ps_complete_op()
465 status = walk_state->ascending_callback(walk_state); in acpi_ps_complete_op()
466 status = acpi_ps_next_parse_state(walk_state, *op, status); in acpi_ps_complete_op()
468 status2 = acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
482 acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
489 (&walk_state->control_state)); in acpi_ps_complete_op()
492 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
493 &walk_state->arg_types, in acpi_ps_complete_op()
494 &walk_state->arg_count); in acpi_ps_complete_op()
505 acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
511 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
512 &walk_state->arg_types, in acpi_ps_complete_op()
513 &walk_state->arg_count); in acpi_ps_complete_op()
523 &walk_state->arg_types, in acpi_ps_complete_op()
524 &walk_state->arg_count); in acpi_ps_complete_op()
527 walk_state->prev_op = NULL; in acpi_ps_complete_op()
528 walk_state->prev_arg_types = walk_state->arg_types; in acpi_ps_complete_op()
534 if (acpi_ps_has_completed_scope(&(walk_state->parser_state))) { in acpi_ps_complete_op()
535 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
536 &walk_state->arg_types, in acpi_ps_complete_op()
537 &walk_state->arg_count); in acpi_ps_complete_op()
562 acpi_ps_complete_final_op(struct acpi_walk_state *walk_state, in acpi_ps_complete_final_op() argument
567 ACPI_FUNCTION_TRACE_PTR(ps_complete_final_op, walk_state); in acpi_ps_complete_final_op()
579 if (walk_state->ascending_callback != NULL) { in acpi_ps_complete_final_op()
580 walk_state->op = op; in acpi_ps_complete_final_op()
581 walk_state->op_info = in acpi_ps_complete_final_op()
584 walk_state->opcode = op->common.aml_opcode; in acpi_ps_complete_final_op()
587 walk_state->ascending_callback(walk_state); in acpi_ps_complete_final_op()
589 acpi_ps_next_parse_state(walk_state, op, in acpi_ps_complete_final_op()
593 acpi_ps_complete_op(walk_state, &op, in acpi_ps_complete_final_op()
608 (walk_state, op); in acpi_ps_complete_final_op()
617 (walk_state-> in acpi_ps_complete_final_op()
620 &walk_state-> in acpi_ps_complete_final_op()
622 &walk_state-> in acpi_ps_complete_final_op()
635 acpi_ps_complete_this_op(walk_state, in acpi_ps_complete_final_op()
641 status2 = acpi_ps_complete_this_op(walk_state, op); in acpi_ps_complete_final_op()
647 acpi_ps_pop_scope(&(walk_state->parser_state), &op, in acpi_ps_complete_final_op()
648 &walk_state->arg_types, in acpi_ps_complete_final_op()
649 &walk_state->arg_count); in acpi_ps_complete_final_op()