eal/linux: allow hugepage file reuse
[dpdk.git] / drivers / regex / cn9k / cn9k_regexdev.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (C) 2020 Marvell International Ltd.
3  */
4
5 #ifndef _CN9K_REGEXDEV_H_
6 #define _CN9K_REGEXDEV_H_
7
8 #include <rte_common.h>
9 #include <rte_regexdev.h>
10
11 #include "roc_api.h"
12
13 #define cn9k_ree_dbg plt_ree_dbg
14 #define cn9k_err plt_err
15
16 #define ree_func_trace cn9k_ree_dbg
17
18 /* Marvell CN9K Regex PMD device name */
19 #define REGEXDEV_NAME_CN9K_PMD  regex_cn9k
20
21 /**
22  * Device private data
23  */
24 struct cn9k_ree_data {
25         uint32_t regexdev_capa;
26         uint64_t rule_flags;
27         /**< Feature flags exposes HW/SW features for the given device */
28         uint16_t max_rules_per_group;
29         /**< Maximum rules supported per subset by this device */
30         uint16_t max_groups;
31         /**< Maximum subset supported by this device */
32         void **queue_pairs;
33         /**< Array of pointers to queue pairs. */
34         uint16_t nb_queue_pairs;
35         /**< Number of device queue pairs. */
36         struct roc_ree_vf vf;
37         /**< vf data */
38         struct rte_regexdev_rule *rules;
39         /**< rules to be compiled */
40         uint16_t nb_rules;
41         /**< number of rules */
42 } __rte_cache_aligned;
43
44 #endif /* _CN9K_REGEXDEV_H_ */