Lines Matching refs:subop

2287 	struct nand_subop subop;  member
2361 unsigned int instr_offset = ctx->subop.first_instr_start_off; in nand_op_parser_match_pat()
2363 const struct nand_op_instr *instr = ctx->subop.instrs; in nand_op_parser_match_pat()
2424 ctx->subop.ninstrs = ninstrs; in nand_op_parser_match_pat()
2425 ctx->subop.last_instr_end_off = instr_offset; in nand_op_parser_match_pat()
2437 pr_debug("executing subop (CS%d):\n", ctx->subop.cs); in nand_op_parser_trace()
2442 if (instr == &ctx->subop.instrs[0]) in nand_op_parser_trace()
2447 if (instr == &ctx->subop.instrs[ctx->subop.ninstrs - 1]) in nand_op_parser_trace()
2461 if (a->subop.ninstrs < b->subop.ninstrs) in nand_op_parser_cmp_ctx()
2463 else if (a->subop.ninstrs > b->subop.ninstrs) in nand_op_parser_cmp_ctx()
2466 if (a->subop.last_instr_end_off < b->subop.last_instr_end_off) in nand_op_parser_cmp_ctx()
2468 else if (a->subop.last_instr_end_off > b->subop.last_instr_end_off) in nand_op_parser_cmp_ctx()
2501 .subop.cs = op->cs, in nand_op_parser_exec_op()
2502 .subop.instrs = op->instrs, in nand_op_parser_exec_op()
2508 while (ctx.subop.instrs < op->instrs + op->ninstrs) { in nand_op_parser_exec_op()
2538 ret = pattern->exec(chip, &ctx.subop); in nand_op_parser_exec_op()
2547 ctx.subop.instrs = ctx.subop.instrs + ctx.subop.ninstrs; in nand_op_parser_exec_op()
2548 if (ctx.subop.last_instr_end_off) in nand_op_parser_exec_op()
2549 ctx.subop.instrs -= 1; in nand_op_parser_exec_op()
2551 ctx.subop.first_instr_start_off = ctx.subop.last_instr_end_off; in nand_op_parser_exec_op()
2564 static bool nand_subop_instr_is_valid(const struct nand_subop *subop, in nand_subop_instr_is_valid() argument
2567 return subop && instr_idx < subop->ninstrs; in nand_subop_instr_is_valid()
2570 static unsigned int nand_subop_get_start_off(const struct nand_subop *subop, in nand_subop_get_start_off() argument
2576 return subop->first_instr_start_off; in nand_subop_get_start_off()
2590 unsigned int nand_subop_get_addr_start_off(const struct nand_subop *subop, in nand_subop_get_addr_start_off() argument
2593 if (WARN_ON(!nand_subop_instr_is_valid(subop, instr_idx) || in nand_subop_get_addr_start_off()
2594 subop->instrs[instr_idx].type != NAND_OP_ADDR_INSTR)) in nand_subop_get_addr_start_off()
2597 return nand_subop_get_start_off(subop, instr_idx); in nand_subop_get_addr_start_off()
2612 unsigned int nand_subop_get_num_addr_cyc(const struct nand_subop *subop, in nand_subop_get_num_addr_cyc() argument
2617 if (WARN_ON(!nand_subop_instr_is_valid(subop, instr_idx) || in nand_subop_get_num_addr_cyc()
2618 subop->instrs[instr_idx].type != NAND_OP_ADDR_INSTR)) in nand_subop_get_num_addr_cyc()
2621 start_off = nand_subop_get_addr_start_off(subop, instr_idx); in nand_subop_get_num_addr_cyc()
2623 if (instr_idx == subop->ninstrs - 1 && in nand_subop_get_num_addr_cyc()
2624 subop->last_instr_end_off) in nand_subop_get_num_addr_cyc()
2625 end_off = subop->last_instr_end_off; in nand_subop_get_num_addr_cyc()
2627 end_off = subop->instrs[instr_idx].ctx.addr.naddrs; in nand_subop_get_num_addr_cyc()
2644 unsigned int nand_subop_get_data_start_off(const struct nand_subop *subop, in nand_subop_get_data_start_off() argument
2647 if (WARN_ON(!nand_subop_instr_is_valid(subop, instr_idx) || in nand_subop_get_data_start_off()
2648 !nand_instr_is_data(&subop->instrs[instr_idx]))) in nand_subop_get_data_start_off()
2651 return nand_subop_get_start_off(subop, instr_idx); in nand_subop_get_data_start_off()
2666 unsigned int nand_subop_get_data_len(const struct nand_subop *subop, in nand_subop_get_data_len() argument
2671 if (WARN_ON(!nand_subop_instr_is_valid(subop, instr_idx) || in nand_subop_get_data_len()
2672 !nand_instr_is_data(&subop->instrs[instr_idx]))) in nand_subop_get_data_len()
2675 start_off = nand_subop_get_data_start_off(subop, instr_idx); in nand_subop_get_data_len()
2677 if (instr_idx == subop->ninstrs - 1 && in nand_subop_get_data_len()
2678 subop->last_instr_end_off) in nand_subop_get_data_len()
2679 end_off = subop->last_instr_end_off; in nand_subop_get_data_len()
2681 end_off = subop->instrs[instr_idx].ctx.data.len; in nand_subop_get_data_len()