1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (c) 2019 Mellanox Technologies. */ 3 4 #ifndef __MLX5_RSC_DUMP_H 5 #define __MLX5_RSC_DUMP_H 6 7 #include <linux/mlx5/rsc_dump.h> 8 #include <linux/mlx5/driver.h> 9 #include "mlx5_core.h" 10 11 #define MLX5_RSC_DUMP_ALL 0xFFFF 12 struct mlx5_rsc_dump_cmd; 13 struct mlx5_rsc_dump; 14 15 struct mlx5_rsc_dump *mlx5_rsc_dump_create(struct mlx5_core_dev *dev); 16 void mlx5_rsc_dump_destroy(struct mlx5_core_dev *dev); 17 18 int mlx5_rsc_dump_init(struct mlx5_core_dev *dev); 19 void mlx5_rsc_dump_cleanup(struct mlx5_core_dev *dev); 20 21 struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev, 22 struct mlx5_rsc_key *key); 23 void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd); 24 25 int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd, 26 struct page *page, int *size); 27 #endif 28