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
70 ACPI_FUNCTION_TRACE_PTR(ps_get_aml_opcode, walk_state); in acpi_ps_get_aml_opcode()
72 walk_state->aml_offset = in acpi_ps_get_aml_opcode()
73 (u32)ACPI_PTR_DIFF(walk_state->parser_state.aml, in acpi_ps_get_aml_opcode()
74 walk_state->parser_state.aml_start); in acpi_ps_get_aml_opcode()
75 walk_state->opcode = acpi_ps_peek_opcode(&(walk_state->parser_state)); in acpi_ps_get_aml_opcode()
83 walk_state->op_info = acpi_ps_get_opcode_info(walk_state->opcode); in acpi_ps_get_aml_opcode()
85 switch (walk_state->op_info->class) { in acpi_ps_get_aml_opcode()
92 walk_state->opcode = AML_INT_NAMEPATH_OP; in acpi_ps_get_aml_opcode()
93 walk_state->arg_types = ARGP_NAMESTRING; in acpi_ps_get_aml_opcode()
100 if (walk_state->pass_number == 2) { in acpi_ps_get_aml_opcode()
103 walk_state->opcode, in acpi_ps_get_aml_opcode()
104 (u32)(walk_state->aml_offset + in acpi_ps_get_aml_opcode()
107 ACPI_DUMP_BUFFER((walk_state->parser_state.aml - 16), in acpi_ps_get_aml_opcode()
117 walk_state->opcode, in acpi_ps_get_aml_opcode()
118 (u32)(walk_state->aml_offset + in acpi_ps_get_aml_opcode()
123 acpi_ut_dump_buffer(((u8 *)walk_state->parser_state. in acpi_ps_get_aml_opcode()
125 (walk_state->aml_offset + in acpi_ps_get_aml_opcode()
134 walk_state->parser_state.aml++; in acpi_ps_get_aml_opcode()
135 if (walk_state->opcode > 0xFF) { /* Can only happen if first byte is 0x5B */ in acpi_ps_get_aml_opcode()
136 walk_state->parser_state.aml++; in acpi_ps_get_aml_opcode()
145 walk_state->parser_state.aml += in acpi_ps_get_aml_opcode()
146 acpi_ps_get_opcode_size(walk_state->opcode); in acpi_ps_get_aml_opcode()
147 walk_state->arg_types = walk_state->op_info->parse_args; in acpi_ps_get_aml_opcode()
170 acpi_ps_build_named_op(struct acpi_walk_state *walk_state, in acpi_ps_build_named_op() argument
178 ACPI_FUNCTION_TRACE_PTR(ps_build_named_op, walk_state); in acpi_ps_build_named_op()
182 unnamed_op->common.aml_opcode = walk_state->opcode; in acpi_ps_build_named_op()
188 while (GET_CURRENT_ARG_TYPE(walk_state->arg_types) && in acpi_ps_build_named_op()
189 (GET_CURRENT_ARG_TYPE(walk_state->arg_types) != ARGP_NAME)) { in acpi_ps_build_named_op()
191 acpi_ps_get_next_arg(walk_state, in acpi_ps_build_named_op()
192 &(walk_state->parser_state), in acpi_ps_build_named_op()
193 GET_CURRENT_ARG_TYPE(walk_state-> in acpi_ps_build_named_op()
200 INCREMENT_ARG_LIST(walk_state->arg_types); in acpi_ps_build_named_op()
206 if (!GET_CURRENT_ARG_TYPE(walk_state->arg_types)) { in acpi_ps_build_named_op()
212 INCREMENT_ARG_LIST(walk_state->arg_types); in acpi_ps_build_named_op()
218 walk_state->op = NULL; in acpi_ps_build_named_op()
220 status = walk_state->descending_callback(walk_state, op); in acpi_ps_build_named_op()
233 status = acpi_ps_next_parse_state(walk_state, *op, status); in acpi_ps_build_named_op()
277 acpi_ps_create_op(struct acpi_walk_state *walk_state, in acpi_ps_create_op() argument
287 ACPI_FUNCTION_TRACE_PTR(ps_create_op, walk_state); in acpi_ps_create_op()
289 status = acpi_ps_get_aml_opcode(walk_state); in acpi_ps_create_op()
296 walk_state->op_info = acpi_ps_get_opcode_info(walk_state->opcode); in acpi_ps_create_op()
297 op = acpi_ps_alloc_op(walk_state->opcode); in acpi_ps_create_op()
302 if (walk_state->op_info->flags & AML_NAMED) { in acpi_ps_create_op()
304 acpi_ps_build_named_op(walk_state, aml_op_start, op, in acpi_ps_create_op()
317 if (walk_state->op_info->flags & AML_CREATE) { in acpi_ps_create_op()
326 if (walk_state->opcode == AML_BANK_FIELD_OP) { in acpi_ps_create_op()
335 parent_scope = acpi_ps_get_parent_scope(&(walk_state->parser_state)); in acpi_ps_create_op()
353 if (walk_state->descending_callback != NULL) { in acpi_ps_create_op()
358 walk_state->op = *new_op = op; in acpi_ps_create_op()
360 status = walk_state->descending_callback(walk_state, &op); in acpi_ps_create_op()
361 status = acpi_ps_next_parse_state(walk_state, op, status); in acpi_ps_create_op()
385 acpi_ps_complete_op(struct acpi_walk_state *walk_state, in acpi_ps_complete_op() argument
390 ACPI_FUNCTION_TRACE_PTR(ps_complete_op, walk_state); in acpi_ps_complete_op()
395 walk_state->parser_state.scope->parse_scope.arg_count--; in acpi_ps_complete_op()
399 status2 = acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
415 walk_state->prev_op = NULL; in acpi_ps_complete_op()
416 walk_state->prev_arg_types = walk_state->arg_types; in acpi_ps_complete_op()
421 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
422 &walk_state->arg_types, in acpi_ps_complete_op()
423 &walk_state->arg_count); in acpi_ps_complete_op()
426 walk_state->op = *op; in acpi_ps_complete_op()
427 walk_state->op_info = in acpi_ps_complete_op()
429 walk_state->opcode = (*op)->common.aml_opcode; in acpi_ps_complete_op()
431 status = walk_state->ascending_callback(walk_state); in acpi_ps_complete_op()
433 acpi_ps_next_parse_state(walk_state, *op, status); in acpi_ps_complete_op()
435 status2 = acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
450 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
451 &walk_state->arg_types, in acpi_ps_complete_op()
452 &walk_state->arg_count); in acpi_ps_complete_op()
457 walk_state->op = *op; in acpi_ps_complete_op()
458 walk_state->op_info = in acpi_ps_complete_op()
460 walk_state->opcode = (*op)->common.aml_opcode; in acpi_ps_complete_op()
462 status = walk_state->ascending_callback(walk_state); in acpi_ps_complete_op()
463 status = acpi_ps_next_parse_state(walk_state, *op, status); in acpi_ps_complete_op()
465 status2 = acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
479 acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
486 (&walk_state->control_state)); in acpi_ps_complete_op()
489 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
490 &walk_state->arg_types, in acpi_ps_complete_op()
491 &walk_state->arg_count); in acpi_ps_complete_op()
502 acpi_ps_complete_this_op(walk_state, *op); in acpi_ps_complete_op()
508 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
509 &walk_state->arg_types, in acpi_ps_complete_op()
510 &walk_state->arg_count); in acpi_ps_complete_op()
520 &walk_state->arg_types, in acpi_ps_complete_op()
521 &walk_state->arg_count); in acpi_ps_complete_op()
524 walk_state->prev_op = NULL; in acpi_ps_complete_op()
525 walk_state->prev_arg_types = walk_state->arg_types; in acpi_ps_complete_op()
531 if (acpi_ps_has_completed_scope(&(walk_state->parser_state))) { in acpi_ps_complete_op()
532 acpi_ps_pop_scope(&(walk_state->parser_state), op, in acpi_ps_complete_op()
533 &walk_state->arg_types, in acpi_ps_complete_op()
534 &walk_state->arg_count); in acpi_ps_complete_op()
559 acpi_ps_complete_final_op(struct acpi_walk_state *walk_state, in acpi_ps_complete_final_op() argument
564 ACPI_FUNCTION_TRACE_PTR(ps_complete_final_op, walk_state); in acpi_ps_complete_final_op()
576 if (walk_state->ascending_callback != NULL) { in acpi_ps_complete_final_op()
577 walk_state->op = op; in acpi_ps_complete_final_op()
578 walk_state->op_info = in acpi_ps_complete_final_op()
581 walk_state->opcode = op->common.aml_opcode; in acpi_ps_complete_final_op()
584 walk_state->ascending_callback(walk_state); in acpi_ps_complete_final_op()
586 acpi_ps_next_parse_state(walk_state, op, in acpi_ps_complete_final_op()
590 acpi_ps_complete_op(walk_state, &op, in acpi_ps_complete_final_op()
605 (walk_state, op); in acpi_ps_complete_final_op()
614 (walk_state-> in acpi_ps_complete_final_op()
617 &walk_state-> in acpi_ps_complete_final_op()
619 &walk_state-> in acpi_ps_complete_final_op()
632 acpi_ps_complete_this_op(walk_state, in acpi_ps_complete_final_op()
638 status2 = acpi_ps_complete_this_op(walk_state, op); in acpi_ps_complete_final_op()
644 acpi_ps_pop_scope(&(walk_state->parser_state), &op, in acpi_ps_complete_final_op()
645 &walk_state->arg_types, in acpi_ps_complete_final_op()
646 &walk_state->arg_count); in acpi_ps_complete_final_op()