1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2019 Marvell International Ltd.
5 #include <rte_cryptodev.h>
6 #include <rte_malloc.h>
9 #include "nitrox_hal.h"
10 #include "nitrox_logs.h"
12 #define MAX_CMD_QLEN 16384
15 nitrox_setup_ridq(struct nitrox_qp *qp, int socket_id)
17 size_t ridq_size = qp->count * sizeof(*qp->ridq);
19 qp->ridq = rte_zmalloc_socket("nitrox ridq", ridq_size,
23 NITROX_LOG(ERR, "Failed to create rid queue\n");
31 nitrox_qp_setup(struct nitrox_qp *qp, uint8_t *bar_addr, const char *dev_name,
32 uint32_t nb_descriptors, uint8_t instr_size, int socket_id)
37 RTE_SET_USED(bar_addr);
38 RTE_SET_USED(instr_size);
39 count = rte_align32pow2(nb_descriptors);
40 if (count > MAX_CMD_QLEN) {
41 NITROX_LOG(ERR, "%s: Number of descriptors too big %d,"
42 " greater than max queue length %d\n",
49 qp->head = qp->tail = 0;
50 rte_atomic16_init(&qp->pending_count);
51 err = nitrox_setup_ridq(qp, socket_id);
63 nitrox_release_ridq(struct nitrox_qp *qp)
69 nitrox_qp_release(struct nitrox_qp *qp, uint8_t *bar_addr)
71 RTE_SET_USED(bar_addr);
72 nitrox_release_ridq(qp);