MCPcopy Create free account
hub / github.com/F-Stack/f-stack / idpf_vc_vectors_alloc

Function idpf_vc_vectors_alloc

dpdk/drivers/common/idpf/idpf_common_virtchnl.c:679–707  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

677}
678
679int
680idpf_vc_vectors_alloc(struct idpf_vport *vport, uint16_t num_vectors)
681{
682 struct idpf_adapter *adapter = vport->adapter;
683 struct virtchnl2_alloc_vectors *alloc_vec;
684 struct idpf_cmd_info args;
685 int err, len;
686
687 len = sizeof(struct virtchnl2_alloc_vectors) +
688 (num_vectors - 1) * sizeof(struct virtchnl2_vector_chunk);
689 alloc_vec = rte_zmalloc("alloc_vec", len, 0);
690 if (alloc_vec == NULL)
691 return -ENOMEM;
692
693 alloc_vec->num_vectors = num_vectors;
694
695 args.ops = VIRTCHNL2_OP_ALLOC_VECTORS;
696 args.in_args = (uint8_t *)alloc_vec;
697 args.in_args_size = len;
698 args.out_buffer = adapter->mbx_resp;
699 args.out_size = IDPF_DFLT_MBX_BUF_SIZE;
700 err = idpf_vc_cmd_execute(adapter, &args);
701 if (err != 0)
702 DRV_LOG(ERR, "Failed to execute command VIRTCHNL2_OP_ALLOC_VECTORS");
703
704 rte_memcpy(vport->recv_vectors, args.out_buffer, len);
705 rte_free(alloc_vec);
706 return err;
707}
708
709int
710idpf_vc_vectors_dealloc(struct idpf_vport *vport)

Callers 2

cpfl_dev_startFunction · 0.85
idpf_dev_startFunction · 0.85

Calls 4

rte_zmallocFunction · 0.85
idpf_vc_cmd_executeFunction · 0.85
rte_freeFunction · 0.85
rte_memcpyFunction · 0.50

Tested by

no test coverage detected