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