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

Function nitrox_qp_setup

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

Source from the content-addressed store, hash-verified

68}
69
70int
71nitrox_qp_setup(struct nitrox_qp *qp, uint8_t *bar_addr, const char *dev_name,
72 uint32_t nb_descriptors, uint8_t instr_size, int socket_id)
73{
74 int err;
75 uint32_t count;
76
77 count = rte_align32pow2(nb_descriptors);
78 if (count > MAX_CMD_QLEN) {
79 NITROX_LOG(ERR, "%s: Number of descriptors too big %d,"
80 " greater than max queue length %d\n",
81 dev_name, count,
82 MAX_CMD_QLEN);
83 return -EINVAL;
84 }
85
86 qp->count = count;
87 qp->head = qp->tail = 0;
88 rte_atomic16_init(&qp->pending_count);
89 err = nitrox_setup_cmdq(qp, bar_addr, dev_name, instr_size, socket_id);
90 if (err)
91 return err;
92
93 err = nitrox_setup_ridq(qp, socket_id);
94 if (err)
95 goto ridq_err;
96
97 return 0;
98
99ridq_err:
100 nitrox_release_cmdq(qp, bar_addr);
101 return err;
102}
103
104static void
105nitrox_release_ridq(struct nitrox_qp *qp)

Callers 1

nitrox_sym_dev_qp_setupFunction · 0.85

Calls 5

rte_atomic16_initFunction · 0.85
nitrox_setup_cmdqFunction · 0.85
nitrox_setup_ridqFunction · 0.85
nitrox_release_cmdqFunction · 0.85
rte_align32pow2Function · 0.50

Tested by

no test coverage detected