xref: /dpdk/drivers/net/sfc/sfc_sw_stats.h (revision 1acb7f547455f636a6968cb3b4ca3870279dfece)
1fdd7719eSIvan Ilchenko /* SPDX-License-Identifier: BSD-3-Clause
2fdd7719eSIvan Ilchenko  *
3fdd7719eSIvan Ilchenko  * Copyright(c) 2021 Xilinx, Inc.
4fdd7719eSIvan Ilchenko  */
5fdd7719eSIvan Ilchenko #ifndef _SFC_SW_STATS_H
6fdd7719eSIvan Ilchenko #define _SFC_SW_STATS_H
7fdd7719eSIvan Ilchenko 
8*1acb7f54SDavid Marchand #include <dev_driver.h>
9fdd7719eSIvan Ilchenko 
10fdd7719eSIvan Ilchenko #include "sfc.h"
11fdd7719eSIvan Ilchenko 
12fdd7719eSIvan Ilchenko #ifdef __cplusplus
13fdd7719eSIvan Ilchenko extern "C" {
14fdd7719eSIvan Ilchenko #endif
15fdd7719eSIvan Ilchenko 
16fdd7719eSIvan Ilchenko void sfc_sw_xstats_get_vals(struct sfc_adapter *sa,
17fdd7719eSIvan Ilchenko 			    struct rte_eth_xstat *xstats,
18fdd7719eSIvan Ilchenko 			    unsigned int xstats_count, unsigned int *nb_written,
19fdd7719eSIvan Ilchenko 			    unsigned int *nb_supported);
20fdd7719eSIvan Ilchenko 
21fdd7719eSIvan Ilchenko int sfc_sw_xstats_get_names(struct sfc_adapter *sa,
22fdd7719eSIvan Ilchenko 			    struct rte_eth_xstat_name *xstats_names,
23fdd7719eSIvan Ilchenko 			    unsigned int xstats_count, unsigned int *nb_written,
24fdd7719eSIvan Ilchenko 			    unsigned int *nb_supported);
25fdd7719eSIvan Ilchenko 
26fdd7719eSIvan Ilchenko void sfc_sw_xstats_get_vals_by_id(struct sfc_adapter *sa, const uint64_t *ids,
27fdd7719eSIvan Ilchenko 				  uint64_t *values, unsigned int n,
28fdd7719eSIvan Ilchenko 				  unsigned int *nb_supported);
29fdd7719eSIvan Ilchenko 
30fdd7719eSIvan Ilchenko int sfc_sw_xstats_get_names_by_id(struct sfc_adapter *sa, const uint64_t *ids,
31fdd7719eSIvan Ilchenko 				  struct rte_eth_xstat_name *xstats_names,
32fdd7719eSIvan Ilchenko 				  unsigned int size,
33fdd7719eSIvan Ilchenko 				  unsigned int *nb_supported);
34fdd7719eSIvan Ilchenko 
35fdd7719eSIvan Ilchenko unsigned int sfc_sw_xstats_get_nb_supported(struct sfc_adapter *sa);
36fdd7719eSIvan Ilchenko 
37fdd7719eSIvan Ilchenko int sfc_sw_xstats_configure(struct sfc_adapter *sa);
38fdd7719eSIvan Ilchenko 
39fdd7719eSIvan Ilchenko void sfc_sw_xstats_reset(struct sfc_adapter *sa);
40fdd7719eSIvan Ilchenko 
41fdd7719eSIvan Ilchenko int sfc_sw_xstats_init(struct sfc_adapter *sa);
42fdd7719eSIvan Ilchenko 
43fdd7719eSIvan Ilchenko void sfc_sw_xstats_close(struct sfc_adapter *sa);
44fdd7719eSIvan Ilchenko 
45fdd7719eSIvan Ilchenko #ifdef __cplusplus
46fdd7719eSIvan Ilchenko }
47fdd7719eSIvan Ilchenko #endif
48fdd7719eSIvan Ilchenko 
49fdd7719eSIvan Ilchenko #endif  /* _SFC_SW_STATS_H */
50