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

Function cpfl_init_ctrl_vport

dpdk/drivers/net/cpfl/cpfl_ethdev.c:2065–2099  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2063}
2064
2065static int
2066cpfl_init_ctrl_vport(struct cpfl_adapter_ext *adapter)
2067{
2068 struct cpfl_vport *vport = &adapter->ctrl_vport;
2069 struct virtchnl2_create_vport *vport_info =
2070 (struct virtchnl2_create_vport *)adapter->ctrl_vport_recv_info;
2071 int i;
2072
2073 vport->itf.adapter = adapter;
2074 vport->base.adapter = &adapter->base;
2075 vport->base.vport_id = vport_info->vport_id;
2076
2077 for (i = 0; i < vport_info->chunks.num_chunks; i++) {
2078 if (vport_info->chunks.chunks[i].type == VIRTCHNL2_QUEUE_TYPE_TX) {
2079 vport->base.chunks_info.tx_start_qid =
2080 vport_info->chunks.chunks[i].start_queue_id;
2081 vport->base.chunks_info.tx_qtail_start =
2082 vport_info->chunks.chunks[i].qtail_reg_start;
2083 vport->base.chunks_info.tx_qtail_spacing =
2084 vport_info->chunks.chunks[i].qtail_reg_spacing;
2085 } else if (vport_info->chunks.chunks[i].type == VIRTCHNL2_QUEUE_TYPE_RX) {
2086 vport->base.chunks_info.rx_start_qid =
2087 vport_info->chunks.chunks[i].start_queue_id;
2088 vport->base.chunks_info.rx_qtail_start =
2089 vport_info->chunks.chunks[i].qtail_reg_start;
2090 vport->base.chunks_info.rx_qtail_spacing =
2091 vport_info->chunks.chunks[i].qtail_reg_spacing;
2092 } else {
2093 PMD_INIT_LOG(ERR, "Unsupported chunk type");
2094 return -EINVAL;
2095 }
2096 }
2097
2098 return 0;
2099}
2100
2101static void
2102cpfl_ctrl_path_close(struct cpfl_adapter_ext *adapter)

Callers 1

cpfl_ctrl_path_openFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected