112206b17SAya Levin /* SPDX-License-Identifier: GPL-2.0 */ 212206b17SAya Levin /* Copyright (c) 2019 Mellanox Technologies. */ 312206b17SAya Levin 412206b17SAya Levin #ifndef __MLX5_RSC_DUMP_H 5fa2b4912SNathan Chancellor #define __MLX5_RSC_DUMP_H 612206b17SAya Levin 7d63cc249SMaor Gottlieb #include <linux/mlx5/rsc_dump.h> 812206b17SAya Levin #include <linux/mlx5/driver.h> 912206b17SAya Levin #include "mlx5_core.h" 1012206b17SAya Levin 1112206b17SAya Levin #define MLX5_RSC_DUMP_ALL 0xFFFF 1212206b17SAya Levin struct mlx5_rsc_dump_cmd; 1312206b17SAya Levin struct mlx5_rsc_dump; 1412206b17SAya Levin 1512206b17SAya Levin struct mlx5_rsc_dump *mlx5_rsc_dump_create(struct mlx5_core_dev *dev); 1612206b17SAya Levin void mlx5_rsc_dump_destroy(struct mlx5_core_dev *dev); 1712206b17SAya Levin 1812206b17SAya Levin int mlx5_rsc_dump_init(struct mlx5_core_dev *dev); 1912206b17SAya Levin void mlx5_rsc_dump_cleanup(struct mlx5_core_dev *dev); 2012206b17SAya Levin 2112206b17SAya Levin struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev, 2212206b17SAya Levin struct mlx5_rsc_key *key); 2312206b17SAya Levin void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd); 2412206b17SAya Levin 2512206b17SAya Levin int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd, 2612206b17SAya Levin struct page *page, int *size); 2712206b17SAya Levin #endif 28