1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright (C) 2020 Marvell International Ltd. 3 */ 4 5 #ifndef _OTX2_CRYPTODEV_QP_H_ 6 #define _OTX2_CRYPTODEV_QP_H_ 7 8 #include <rte_common.h> 9 #include <rte_eventdev.h> 10 #include <rte_mempool.h> 11 #include <rte_spinlock.h> 12 13 #include "cpt_common.h" 14 15 struct otx2_cpt_qp { 16 uint32_t id; 17 /**< Queue pair id */ 18 uintptr_t base; 19 /**< Base address where BAR is mapped */ 20 void *lmtline; 21 /**< Address of LMTLINE */ 22 rte_iova_t lf_nq_reg; 23 /**< LF enqueue register address */ 24 struct pending_queue pend_q; 25 /**< Pending queue */ 26 struct rte_mempool *sess_mp; 27 /**< Session mempool */ 28 struct rte_mempool *sess_mp_priv; 29 /**< Session private data mempool */ 30 struct cpt_qp_meta_info meta_info; 31 /**< Metabuf info required to support operations on the queue pair */ 32 rte_iova_t iq_dma_addr; 33 /**< Instruction queue address */ 34 struct rte_event ev; 35 /**< Event information required for binding cryptodev queue to 36 * eventdev queue. Used by crypto adapter. 37 */ 38 uint8_t ca_enable; 39 /**< Set when queue pair is added to crypto adapter */ 40 }; 41 42 #endif /* _OTX2_CRYPTODEV_QP_H_ */ 43