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 */ 24struct 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_ */ 45