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_ */
39