| 1 |
|
| 2 |
|
| 3 |
|
| 4 | #include <linux/mlx5/driver.h>
|
| 5 |
|
| 6 | #ifndef __MLX5_RSC_DUMP
|
| 7 | #define __MLX5_RSC_DUMP
|
| 8 |
|
| 9 | enum mlx5_sgmt_type {
|
| 10 | MLX5_SGMT_TYPE_HW_CQPC,
|
| 11 | MLX5_SGMT_TYPE_HW_SQPC,
|
| 12 | MLX5_SGMT_TYPE_HW_RQPC,
|
| 13 | MLX5_SGMT_TYPE_FULL_SRQC,
|
| 14 | MLX5_SGMT_TYPE_FULL_CQC,
|
| 15 | MLX5_SGMT_TYPE_FULL_EQC,
|
| 16 | MLX5_SGMT_TYPE_FULL_QPC,
|
| 17 | MLX5_SGMT_TYPE_SND_BUFF,
|
| 18 | MLX5_SGMT_TYPE_RCV_BUFF,
|
| 19 | MLX5_SGMT_TYPE_SRQ_BUFF,
|
| 20 | MLX5_SGMT_TYPE_CQ_BUFF,
|
| 21 | MLX5_SGMT_TYPE_EQ_BUFF,
|
| 22 | MLX5_SGMT_TYPE_SX_SLICE,
|
| 23 | MLX5_SGMT_TYPE_SX_SLICE_ALL,
|
| 24 | MLX5_SGMT_TYPE_RDB,
|
| 25 | MLX5_SGMT_TYPE_RX_SLICE_ALL,
|
| 26 | MLX5_SGMT_TYPE_PRM_QUERY_QP,
|
| 27 | MLX5_SGMT_TYPE_PRM_QUERY_CQ,
|
| 28 | MLX5_SGMT_TYPE_PRM_QUERY_MKEY,
|
| 29 | MLX5_SGMT_TYPE_MENU,
|
| 30 | MLX5_SGMT_TYPE_TERMINATE,
|
| 31 |
|
| 32 | MLX5_SGMT_TYPE_NUM,
|
| 33 | };
|
| 34 |
|
| 35 | struct mlx5_rsc_key {
|
| 36 | enum mlx5_sgmt_type rsc;
|
| 37 | int index1;
|
| 38 | int index2;
|
| 39 | int num_of_obj1;
|
| 40 | int num_of_obj2;
|
| 41 | int size;
|
| 42 | };
|
| 43 |
|
| 44 | struct mlx5_rsc_dump_cmd;
|
| 45 |
|
| 46 | struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev,
|
| 47 | struct mlx5_rsc_key *key);
|
| 48 | void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd);
|
| 49 | int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
|
| 50 | struct page *page, int *size);
|
| 51 | #endif
|