1*4a98544dSPaul Blakey /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
2*4a98544dSPaul Blakey /* Copyright (c) 2021 Mellanox Technologies. */
3*4a98544dSPaul Blakey 
4*4a98544dSPaul Blakey #ifndef __MLX5_FS_FT_POOL_H__
5*4a98544dSPaul Blakey #define __MLX5_FS_FT_POOL_H__
6*4a98544dSPaul Blakey 
7*4a98544dSPaul Blakey #include <linux/mlx5/driver.h>
8*4a98544dSPaul Blakey #include "fs_core.h"
9*4a98544dSPaul Blakey 
10*4a98544dSPaul Blakey #define POOL_NEXT_SIZE 0
11*4a98544dSPaul Blakey 
12*4a98544dSPaul Blakey int mlx5_ft_pool_init(struct mlx5_core_dev *dev);
13*4a98544dSPaul Blakey void mlx5_ft_pool_destroy(struct mlx5_core_dev *dev);
14*4a98544dSPaul Blakey 
15*4a98544dSPaul Blakey int
16*4a98544dSPaul Blakey mlx5_ft_pool_get_avail_sz(struct mlx5_core_dev *dev, enum fs_flow_table_type table_type,
17*4a98544dSPaul Blakey 			  int desired_size);
18*4a98544dSPaul Blakey void
19*4a98544dSPaul Blakey mlx5_ft_pool_put_sz(struct mlx5_core_dev *dev, int sz);
20*4a98544dSPaul Blakey 
21*4a98544dSPaul Blakey #endif /* __MLX5_FS_FT_POOL_H__ */
22