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