1 | /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ |
2 | /* Copyright (c) 2017-2018 Mellanox Technologies. All rights reserved */ |
3 | |
4 | #ifndef _MLXSW_SPECTRUM_CNT_H |
5 | #define _MLXSW_SPECTRUM_CNT_H |
6 | |
7 | #include "core.h" |
8 | #include "spectrum.h" |
9 | |
10 | enum mlxsw_sp_counter_sub_pool_id { |
11 | MLXSW_SP_COUNTER_SUB_POOL_RIF, |
12 | MLXSW_SP_COUNTER_SUB_POOL_FLOW, |
13 | }; |
14 | |
15 | int mlxsw_sp_counter_alloc(struct mlxsw_sp *mlxsw_sp, |
16 | enum mlxsw_sp_counter_sub_pool_id sub_pool_id, |
17 | unsigned int *p_counter_index); |
18 | void mlxsw_sp_counter_free(struct mlxsw_sp *mlxsw_sp, |
19 | enum mlxsw_sp_counter_sub_pool_id sub_pool_id, |
20 | unsigned int counter_index); |
21 | int mlxsw_sp_counter_pool_init(struct mlxsw_sp *mlxsw_sp); |
22 | void mlxsw_sp_counter_pool_fini(struct mlxsw_sp *mlxsw_sp); |
23 | int mlxsw_sp_counter_resources_register(struct mlxsw_core *mlxsw_core); |
24 | |
25 | #endif |
26 | |