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

Function nitrox_sym_dev_qp_release

dpdk/drivers/crypto/nitrox/nitrox_sym.c:224–256  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

222}
223
224static int
225nitrox_sym_dev_qp_release(struct rte_cryptodev *cdev, uint16_t qp_id)
226{
227 struct nitrox_sym_device *sym_dev = cdev->data->dev_private;
228 struct nitrox_device *ndev = sym_dev->ndev;
229 struct nitrox_qp *qp;
230 int err;
231
232 NITROX_LOG(DEBUG, "queue %d\n", qp_id);
233 if (qp_id >= ndev->nr_queues) {
234 NITROX_LOG(ERR, "queue %u invalid, max queues supported %d\n",
235 qp_id, ndev->nr_queues);
236 return -EINVAL;
237 }
238
239 qp = cdev->data->queue_pairs[qp_id];
240 if (!qp) {
241 NITROX_LOG(DEBUG, "queue %u already freed\n", qp_id);
242 return 0;
243 }
244
245 if (!nitrox_qp_is_empty(qp)) {
246 NITROX_LOG(ERR, "queue %d not empty\n", qp_id);
247 return -EAGAIN;
248 }
249
250 cdev->data->queue_pairs[qp_id] = NULL;
251 err = nitrox_qp_release(qp, ndev->bar_addr);
252 nitrox_sym_req_pool_free(qp->sr_mp);
253 rte_free(qp);
254 NITROX_LOG(DEBUG, "queue %d release done\n", qp_id);
255 return err;
256}
257
258static unsigned int
259nitrox_sym_dev_sess_get_size(__rte_unused struct rte_cryptodev *cdev)

Callers 2

nitrox_sym_dev_closeFunction · 0.85
nitrox_sym_dev_qp_setupFunction · 0.85

Calls 4

nitrox_qp_is_emptyFunction · 0.85
nitrox_qp_releaseFunction · 0.85
nitrox_sym_req_pool_freeFunction · 0.85
rte_freeFunction · 0.85

Tested by

no test coverage detected