Lines Matching refs:dump

329 static int nfp_add_tlv(u32 type, u32 total_tlv_sz, struct nfp_dump_state *dump)  in nfp_add_tlv()  argument
331 struct nfp_dump_tl *tl = dump->p; in nfp_add_tlv()
333 if (total_tlv_sz > dump->buf_size) in nfp_add_tlv()
336 if (dump->buf_size - total_tlv_sz < dump->dumped_size) in nfp_add_tlv()
342 dump->dumped_size += total_tlv_sz; in nfp_add_tlv()
343 dump->p += total_tlv_sz; in nfp_add_tlv()
350 struct nfp_dump_state *dump) in nfp_dump_error_tlv() argument
352 struct nfp_dump_error *dump_header = dump->p; in nfp_dump_error_tlv()
359 err = nfp_add_tlv(NFP_DUMPSPEC_TYPE_ERROR, total_size, dump); in nfp_dump_error_tlv()
369 static int nfp_dump_fwname(struct nfp_pf *pf, struct nfp_dump_state *dump) in nfp_dump_fwname() argument
371 struct nfp_dump_tl *dump_header = dump->p; in nfp_dump_fwname()
380 err = nfp_add_tlv(NFP_DUMPSPEC_TYPE_FWNAME, total_size, dump); in nfp_dump_fwname()
391 struct nfp_dump_state *dump) in nfp_dump_hwinfo() argument
393 struct nfp_dump_tl *dump_header = dump->p; in nfp_dump_hwinfo()
402 err = nfp_add_tlv(NFP_DUMPSPEC_TYPE_HWINFO, total_size, dump); in nfp_dump_hwinfo()
412 struct nfp_dump_state *dump) in nfp_dump_hwinfo_field() argument
414 struct nfp_dump_tl *dump_header = dump->p; in nfp_dump_hwinfo_field()
423 return nfp_dump_error_tlv(spec, -EINVAL, dump); in nfp_dump_hwinfo_field()
428 return nfp_dump_error_tlv(spec, -ENOENT, dump); in nfp_dump_hwinfo_field()
432 err = nfp_add_tlv(NFP_DUMPSPEC_TYPE_HWINFO_FIELD, total_size, dump); in nfp_dump_hwinfo_field()
450 struct nfp_dump_state *dump) in nfp_dump_csr_range() argument
452 struct nfp_dump_csr *dump_header = dump->p; in nfp_dump_csr_range()
461 return nfp_dump_error_tlv(&spec_csr->tl, -EINVAL, dump); in nfp_dump_csr_range()
467 dest = dump->p + header_size; in nfp_dump_csr_range()
469 err = nfp_add_tlv(be32_to_cpu(spec_csr->tl.type), total_size, dump); in nfp_dump_csr_range()
553 struct nfp_dump_state *dump) in nfp_dump_indirect_csr_range() argument
555 struct nfp_dump_csr *dump_header = dump->p; in nfp_dump_indirect_csr_range()
563 return nfp_dump_error_tlv(&spec_csr->tl, -EINVAL, dump); in nfp_dump_indirect_csr_range()
570 dest = dump->p + header_size; in nfp_dump_indirect_csr_range()
572 err = nfp_add_tlv(be32_to_cpu(spec_csr->tl.type), total_size, dump); in nfp_dump_indirect_csr_range()
598 struct nfp_dump_state *dump) in nfp_dump_single_rtsym() argument
600 struct nfp_dump_rtsym *dump_header = dump->p; in nfp_dump_single_rtsym()
613 return nfp_dump_error_tlv(&spec->tl, -EINVAL, dump); in nfp_dump_single_rtsym()
617 return nfp_dump_error_tlv(&spec->tl, -ENOENT, dump); in nfp_dump_single_rtsym()
623 dest = dump->p + header_size; in nfp_dump_single_rtsym()
625 err = nfp_add_tlv(be32_to_cpu(spec->tl.type), total_size, dump); in nfp_dump_single_rtsym()
657 struct nfp_dump_state *dump = param; in nfp_dump_for_tlv() local
663 err = nfp_dump_fwname(pf, dump); in nfp_dump_for_tlv()
671 err = nfp_dump_csr_range(pf, spec_csr, dump); in nfp_dump_for_tlv()
677 err = nfp_dump_indirect_csr_range(pf, spec_csr, dump); in nfp_dump_for_tlv()
683 err = nfp_dump_single_rtsym(pf, spec_rtsym, dump); in nfp_dump_for_tlv()
688 err = nfp_dump_hwinfo(pf, tl, dump); in nfp_dump_for_tlv()
693 err = nfp_dump_hwinfo_field(pf, tl, dump); in nfp_dump_for_tlv()
698 err = nfp_dump_error_tlv(tl, -EOPNOTSUPP, dump); in nfp_dump_for_tlv()
710 struct nfp_dump_state *dump = param; in nfp_dump_specific_level() local
712 if (dump_level->type != dump->requested_level) in nfp_dump_specific_level()
716 be32_to_cpu(dump_level->length), dump, in nfp_dump_specific_level()
720 static int nfp_dump_populate_prolog(struct nfp_dump_state *dump) in nfp_dump_populate_prolog() argument
722 struct nfp_dump_prolog *prolog = dump->p; in nfp_dump_populate_prolog()
728 err = nfp_add_tlv(NFP_DUMPSPEC_TYPE_PROLOG, total_size, dump); in nfp_dump_populate_prolog()
732 prolog->dump_level = dump->requested_level; in nfp_dump_populate_prolog()
740 struct nfp_dump_state dump; in nfp_net_dump_populate_buffer() local
743 dump.requested_level = cpu_to_be32(dump_param->flag); in nfp_net_dump_populate_buffer()
744 dump.dumped_size = 0; in nfp_net_dump_populate_buffer()
745 dump.p = dest; in nfp_net_dump_populate_buffer()
746 dump.buf_size = dump_param->len; in nfp_net_dump_populate_buffer()
748 err = nfp_dump_populate_prolog(&dump); in nfp_net_dump_populate_buffer()
752 err = nfp_traverse_tlvs(pf, spec->data, spec->size, &dump, in nfp_net_dump_populate_buffer()
760 dump_param->len = dump.dumped_size; in nfp_net_dump_populate_buffer()