| 222 | } |
| 223 | |
| 224 | static int |
| 225 | nitrox_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 | |
| 258 | static unsigned int |
| 259 | nitrox_sym_dev_sess_get_size(__rte_unused struct rte_cryptodev *cdev) |
no test coverage detected