1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (C) 2019 Marvell International Ltd.
3  */
4 
5 #ifndef _OTX2_CRYPTODEV_MBOX_H_
6 #define _OTX2_CRYPTODEV_MBOX_H_
7 
8 #include <rte_cryptodev.h>
9 
10 #include "otx2_cryptodev_hw_access.h"
11 
12 int otx2_cpt_hardware_caps_get(const struct rte_cryptodev *dev,
13 			      union cpt_eng_caps *hw_caps);
14 
15 int otx2_cpt_available_queues_get(const struct rte_cryptodev *dev,
16 				  uint16_t *nb_queues);
17 
18 int otx2_cpt_queues_attach(const struct rte_cryptodev *dev, uint8_t nb_queues);
19 
20 int otx2_cpt_queues_detach(const struct rte_cryptodev *dev);
21 
22 int otx2_cpt_msix_offsets_get(const struct rte_cryptodev *dev);
23 
24 __rte_internal
25 int otx2_cpt_af_reg_read(const struct rte_cryptodev *dev, uint64_t reg,
26 			 uint64_t *val);
27 
28 __rte_internal
29 int otx2_cpt_af_reg_write(const struct rte_cryptodev *dev, uint64_t reg,
30 			  uint64_t val);
31 
32 int otx2_cpt_qp_ethdev_bind(const struct rte_cryptodev *dev,
33 			    struct otx2_cpt_qp *qp, uint16_t port_id);
34 
35 int otx2_cpt_inline_init(const struct rte_cryptodev *dev);
36 
37 #endif /* _OTX2_CRYPTODEV_MBOX_H_ */
38