regex/octeontx2: introduce REE driver
[dpdk.git] / drivers / regex / octeontx2 / otx2_regexdev_mbox.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (C) 2020 Marvell International Ltd.
3  */
4
5 #ifndef _OTX2_REGEXDEV_MBOX_H_
6 #define _OTX2_REGEXDEV_MBOX_H_
7
8 #include <rte_regexdev.h>
9
10 int otx2_ree_available_queues_get(const struct rte_regexdev *dev,
11                                   uint16_t *nb_queues);
12
13 int otx2_ree_queues_attach(const struct rte_regexdev *dev, uint8_t nb_queues);
14
15 int otx2_ree_queues_detach(const struct rte_regexdev *dev);
16
17 int otx2_ree_msix_offsets_get(const struct rte_regexdev *dev);
18
19 int otx2_ree_config_lf(const struct rte_regexdev *dev, uint8_t lf, uint8_t pri,
20                        uint32_t size);
21
22 int otx2_ree_af_reg_read(const struct rte_regexdev *dev, uint64_t reg,
23                          uint64_t *val);
24
25 int otx2_ree_af_reg_write(const struct rte_regexdev *dev, uint64_t reg,
26                           uint64_t val);
27
28 int otx2_ree_rule_db_get(const struct rte_regexdev *dev, char *rule_db,
29                  uint32_t rule_db_len, char *rule_dbi, uint32_t rule_dbi_len);
30
31 int otx2_ree_rule_db_len_get(const struct rte_regexdev *dev,
32                              uint32_t *rule_db_len, uint32_t *rule_dbi_len);
33
34 int otx2_ree_rule_db_prog(const struct rte_regexdev *dev, const char *rule_db,
35                 uint32_t rule_db_len, const char *rule_dbi,
36                 uint32_t rule_dbi_len);
37
38 #endif /* _OTX2_REGEXDEV_MBOX_H_ */