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

Function nitrox_setup_cmdq

dpdk/drivers/crypto/nitrox/nitrox_qp.c:15–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13#define CMDQ_PKT_IN_ALIGN 16
14
15static int
16nitrox_setup_cmdq(struct nitrox_qp *qp, uint8_t *bar_addr,
17 const char *dev_name, uint8_t instr_size, int socket_id)
18{
19 char mz_name[RTE_MEMZONE_NAMESIZE];
20 const struct rte_memzone *mz;
21 size_t cmdq_size = qp->count * instr_size;
22 uint64_t offset;
23
24 snprintf(mz_name, sizeof(mz_name), "%s_cmdq_%d", dev_name, qp->qno);
25 mz = rte_memzone_reserve_aligned(mz_name, cmdq_size, socket_id,
26 RTE_MEMZONE_SIZE_HINT_ONLY |
27 RTE_MEMZONE_256MB,
28 CMDQ_PKT_IN_ALIGN);
29 if (!mz) {
30 NITROX_LOG(ERR, "cmdq memzone reserve failed for %s queue\n",
31 mz_name);
32 return -ENOMEM;
33 }
34
35 qp->cmdq.mz = mz;
36 offset = NPS_PKT_IN_INSTR_BAOFF_DBELLX(qp->qno);
37 qp->cmdq.dbell_csr_addr = NITROX_CSR_ADDR(bar_addr, offset);
38 qp->cmdq.ring = mz->addr;
39 qp->cmdq.instr_size = instr_size;
40 setup_nps_pkt_input_ring(bar_addr, qp->qno, qp->count, mz->iova);
41 setup_nps_pkt_solicit_output_port(bar_addr, qp->qno);
42
43 return 0;
44}
45
46static int
47nitrox_setup_ridq(struct nitrox_qp *qp, int socket_id)

Callers 1

nitrox_qp_setupFunction · 0.85

Calls 4

snprintfFunction · 0.85
setup_nps_pkt_input_ringFunction · 0.85

Tested by

no test coverage detected