Lines Matching refs:walk_state

32 acpi_ps_get_arguments(struct acpi_walk_state *walk_state,
50 acpi_ps_get_arguments(struct acpi_walk_state *walk_state, in acpi_ps_get_arguments() argument
56 ACPI_FUNCTION_TRACE_PTR(ps_get_arguments, walk_state); in acpi_ps_get_arguments()
71 acpi_ps_get_next_simple_arg(&(walk_state->parser_state), in acpi_ps_get_arguments()
72 GET_CURRENT_ARG_TYPE(walk_state-> in acpi_ps_get_arguments()
79 status = acpi_ps_get_next_namepath(walk_state, in acpi_ps_get_arguments()
80 &(walk_state->parser_state), in acpi_ps_get_arguments()
87 walk_state->arg_types = 0; in acpi_ps_get_arguments()
94 while (GET_CURRENT_ARG_TYPE(walk_state->arg_types) && in acpi_ps_get_arguments()
95 !walk_state->arg_count) { in acpi_ps_get_arguments()
96 walk_state->aml = walk_state->parser_state.aml; in acpi_ps_get_arguments()
109 ASL_CV_CAPTURE_COMMENTS(walk_state); in acpi_ps_get_arguments()
114 acpi_ps_get_next_arg(walk_state, in acpi_ps_get_arguments()
115 &(walk_state->parser_state), in acpi_ps_get_arguments()
117 (walk_state->arg_types), &arg); in acpi_ps_get_arguments()
126 INCREMENT_ARG_LIST(walk_state->arg_types); in acpi_ps_get_arguments()
131 walk_state->arg_count, in acpi_ps_get_arguments()
132 walk_state->pass_number)); in acpi_ps_get_arguments()
144 op->named.data = walk_state->parser_state.aml; in acpi_ps_get_arguments()
146 (walk_state->parser_state.pkg_end - in acpi_ps_get_arguments()
147 walk_state->parser_state.aml); in acpi_ps_get_arguments()
151 walk_state->parser_state.aml = in acpi_ps_get_arguments()
152 walk_state->parser_state.pkg_end; in acpi_ps_get_arguments()
153 walk_state->arg_count = 0; in acpi_ps_get_arguments()
163 && (walk_state->pass_number <= in acpi_ps_get_arguments()
167 walk_state->pass_number, in acpi_ps_get_arguments()
176 (walk_state->parser_state.pkg_end - in acpi_ps_get_arguments()
181 walk_state->parser_state.aml = in acpi_ps_get_arguments()
182 walk_state->parser_state.pkg_end; in acpi_ps_get_arguments()
183 walk_state->arg_count = 0; in acpi_ps_get_arguments()
189 if (walk_state->control_state) { in acpi_ps_get_arguments()
190 walk_state->control_state->control.package_end = in acpi_ps_get_arguments()
191 walk_state->parser_state.pkg_end; in acpi_ps_get_arguments()
221 acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) in acpi_ps_parse_loop() argument
229 ACPI_FUNCTION_TRACE_PTR(ps_parse_loop, walk_state); in acpi_ps_parse_loop()
231 if (walk_state->descending_callback == NULL) { in acpi_ps_parse_loop()
235 parser_state = &walk_state->parser_state; in acpi_ps_parse_loop()
236 walk_state->arg_types = 0; in acpi_ps_parse_loop()
240 if (walk_state->walk_type & ACPI_WALK_METHOD_RESTART) { in acpi_ps_parse_loop()
254 && (walk_state->control_state) in acpi_ps_parse_loop()
255 && (walk_state->control_state->common.state == in acpi_ps_parse_loop()
261 walk_state->op = NULL; in acpi_ps_parse_loop()
263 acpi_ds_get_predicate_value(walk_state, in acpi_ps_parse_loop()
279 acpi_ps_next_parse_state(walk_state, op, in acpi_ps_parse_loop()
284 &walk_state->arg_types, in acpi_ps_parse_loop()
285 &walk_state->arg_count); in acpi_ps_parse_loop()
288 } else if (walk_state->prev_op) { in acpi_ps_parse_loop()
292 op = walk_state->prev_op; in acpi_ps_parse_loop()
293 walk_state->arg_types = walk_state->prev_arg_types; in acpi_ps_parse_loop()
301 ASL_CV_CAPTURE_COMMENTS(walk_state); in acpi_ps_parse_loop()
306 acpi_ps_create_op(walk_state, aml_op_start, &op); in acpi_ps_parse_loop()
315 if ((walk_state-> in acpi_ps_parse_loop()
334 acpi_ps_complete_op(walk_state, &op, in acpi_ps_parse_loop()
341 (walk_state->opcode)->object_type)) { in acpi_ps_parse_loop()
347 … parse of AML opcode: %s (0x%4.4X)", acpi_ps_get_opcode_name(walk_state->opcode), walk_state->opco… in acpi_ps_parse_loop()
354 if ((walk_state->opcode & 0xFF00) == in acpi_ps_parse_loop()
358 walk_state->parser_state.aml = in acpi_ps_parse_loop()
359 walk_state->aml + opcode_length; in acpi_ps_parse_loop()
361 walk_state->parser_state.aml = in acpi_ps_parse_loop()
363 (&walk_state->parser_state); in acpi_ps_parse_loop()
364 walk_state->aml = in acpi_ps_parse_loop()
365 walk_state->parser_state.aml; in acpi_ps_parse_loop()
371 acpi_ex_start_trace_opcode(op, walk_state); in acpi_ps_parse_loop()
378 walk_state->arg_count = 0; in acpi_ps_parse_loop()
390 ASL_CV_CAPTURE_COMMENTS(walk_state); in acpi_ps_parse_loop()
396 if (walk_state->arg_types) { in acpi_ps_parse_loop()
401 acpi_ps_get_arguments(walk_state, aml_op_start, op); in acpi_ps_parse_loop()
404 acpi_ps_complete_op(walk_state, &op, in acpi_ps_parse_loop()
409 if ((walk_state->control_state) && in acpi_ps_parse_loop()
410 ((walk_state->control_state->control. in acpi_ps_parse_loop()
412 || (walk_state->control_state->control. in acpi_ps_parse_loop()
419 walk_state->control_state->control. in acpi_ps_parse_loop()
424 walk_state->aml = parser_state->aml; in acpi_ps_parse_loop()
428 if (*walk_state->aml == AML_ELSE_OP) { in acpi_ps_parse_loop()
431 walk_state->parser_state.aml = in acpi_ps_parse_loop()
432 walk_state->aml + 1; in acpi_ps_parse_loop()
433 walk_state->parser_state.aml = in acpi_ps_parse_loop()
436 walk_state->aml = in acpi_ps_parse_loop()
440 (&walk_state->control_state)); in acpi_ps_parse_loop()
451 walk_state->arg_count)); in acpi_ps_parse_loop()
453 if (walk_state->arg_count) { in acpi_ps_parse_loop()
459 walk_state->arg_types, in acpi_ps_parse_loop()
460 walk_state->arg_count); in acpi_ps_parse_loop()
463 acpi_ps_complete_op(walk_state, &op, in acpi_ps_parse_loop()
480 walk_state->op_info = in acpi_ps_parse_loop()
482 if (walk_state->op_info->flags & AML_NAMED) { in acpi_ps_parse_loop()
498 if (walk_state->op_info->flags & AML_CREATE) { in acpi_ps_parse_loop()
521 if (walk_state->ascending_callback != NULL) { in acpi_ps_parse_loop()
522 walk_state->op = op; in acpi_ps_parse_loop()
523 walk_state->opcode = op->common.aml_opcode; in acpi_ps_parse_loop()
525 status = walk_state->ascending_callback(walk_state); in acpi_ps_parse_loop()
527 acpi_ps_next_parse_state(walk_state, op, status); in acpi_ps_parse_loop()
531 if ((walk_state-> in acpi_ps_parse_loop()
552 status = acpi_ps_complete_op(walk_state, &op, status); in acpi_ps_parse_loop()
559 status = acpi_ps_complete_final_op(walk_state, op, status); in acpi_ps_parse_loop()