crypto/octeontx2: discover capabilities
[dpdk.git] / drivers / crypto / octeontx2 / otx2_cryptodev_mbox.h
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 int otx2_cpt_af_reg_read(const struct rte_cryptodev *dev, uint64_t reg,
25                          uint64_t *val);
26
27 int otx2_cpt_af_reg_write(const struct rte_cryptodev *dev, uint64_t reg,
28                           uint64_t val);
29
30 int otx2_cpt_qp_ethdev_bind(const struct rte_cryptodev *dev,
31                             struct otx2_cpt_qp *qp, uint16_t port_id);
32
33 int otx2_cpt_inline_init(const struct rte_cryptodev *dev);
34
35 #endif /* _OTX2_CRYPTODEV_MBOX_H_ */