xref: /dpdk/drivers/regex/mlx5/mlx5_regex.h (revision 9428310ae1f14e53a626636dab0493c47b303e66)
1cf9b3c36SYuval Avnery /* SPDX-License-Identifier: BSD-3-Clause
2cf9b3c36SYuval Avnery  * Copyright 2020 Mellanox Technologies, Ltd
3cf9b3c36SYuval Avnery  */
4cf9b3c36SYuval Avnery 
5cf9b3c36SYuval Avnery #ifndef MLX5_REGEX_H
6cf9b3c36SYuval Avnery #define MLX5_REGEX_H
7cf9b3c36SYuval Avnery 
8*9428310aSOri Kam #include <rte_regexdev.h>
9*9428310aSOri Kam 
10cfc672a9SOri Kam struct mlx5_regex_priv {
11cfc672a9SOri Kam 	TAILQ_ENTRY(mlx5_regex_priv) next;
12cfc672a9SOri Kam 	struct ibv_context *ctx; /* Device context. */
13cfc672a9SOri Kam 	struct rte_pci_device *pci_dev;
14cfc672a9SOri Kam 	struct rte_regexdev *regexdev; /* Pointer to the RegEx dev. */
15cfc672a9SOri Kam };
16c126512bSOri Kam 
17c126512bSOri Kam /* mlx5_rxp.c */
18c126512bSOri Kam int mlx5_regex_info_get(struct rte_regexdev *dev,
19c126512bSOri Kam 			struct rte_regexdev_info *info);
20c126512bSOri Kam 
21*9428310aSOri Kam /* mlx5_regex_devx.c */
22*9428310aSOri Kam int mlx5_devx_regex_register_write(struct ibv_context *ctx, int engine_id,
23*9428310aSOri Kam 				   uint32_t addr, uint32_t data);
24*9428310aSOri Kam int mlx5_devx_regex_register_read(struct ibv_context *ctx, int engine_id,
25*9428310aSOri Kam 				  uint32_t addr, uint32_t *data);
26*9428310aSOri Kam 
27cf9b3c36SYuval Avnery #endif /* MLX5_REGEX_H */
28