History

net/mlx5: Export resource dump interface

Export some of the resource dump API. mlx5_ib driver will use it in downstream patches.

Maor Gottlieb committed 6 years ago

Commit d63cc241 parent 48778463 files · +52 −32Browse files

Unified · Split

3 files
  1. drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c +3 −0
  2. drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.h +1 −32
  3. include/linux/mlx5/rsc_dump.h +48 −0
drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c+3−0
@@ -130,11 +130,13 @@ struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev, · 129 unmodified lines
130130 cmd->mem_size = key->size;
131131 return cmd;
132132 }
133+EXPORT_SYMBOL(mlx5_rsc_dump_cmd_create);
133134
134135 void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd)
135136 {
136137 kfree(cmd);
137138 }
139+EXPORT_SYMBOL(mlx5_rsc_dump_cmd_destroy);
138140
139141 int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
140142 struct page *page, int *size)
@@ -155,6 +157,7 @@ int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd, · 14 unmodified lines
155157
156158 return more_dump;
157159 }
160+EXPORT_SYMBOL(mlx5_rsc_dump_next);
158161
159162 #define MLX5_RSC_DUMP_MENU_SEGMENT 0xffff
160163 static int mlx5_rsc_dump_menu(struct mlx5_core_dev *dev)
drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.h+1−32
@@ -4,41 +4,10 @@ · 3 unmodified lines
44 #ifndef __MLX5_RSC_DUMP_H
55 #define __MLX5_RSC_DUMP_H
66
7+#include <linux/mlx5/rsc_dump.h>
78 #include <linux/mlx5/driver.h>
89 #include "mlx5_core.h"
910
10−enum mlx5_sgmt_type {
11− MLX5_SGMT_TYPE_HW_CQPC,
12− MLX5_SGMT_TYPE_HW_SQPC,
13− MLX5_SGMT_TYPE_HW_RQPC,
14− MLX5_SGMT_TYPE_FULL_SRQC,
15− MLX5_SGMT_TYPE_FULL_CQC,
16− MLX5_SGMT_TYPE_FULL_EQC,
17− MLX5_SGMT_TYPE_FULL_QPC,
18− MLX5_SGMT_TYPE_SND_BUFF,
19− MLX5_SGMT_TYPE_RCV_BUFF,
20− MLX5_SGMT_TYPE_SRQ_BUFF,
21− MLX5_SGMT_TYPE_CQ_BUFF,
22− MLX5_SGMT_TYPE_EQ_BUFF,
23− MLX5_SGMT_TYPE_SX_SLICE,
24− MLX5_SGMT_TYPE_SX_SLICE_ALL,
25− MLX5_SGMT_TYPE_RDB,
26− MLX5_SGMT_TYPE_RX_SLICE_ALL,
27− MLX5_SGMT_TYPE_MENU,
28− MLX5_SGMT_TYPE_TERMINATE,
29−
30− MLX5_SGMT_TYPE_NUM, /* Keep last */
31−};
32−
33−struct mlx5_rsc_key {
34− enum mlx5_sgmt_type rsc;
35− int index1;
36− int index2;
37− int num_of_obj1;
38− int num_of_obj2;
39− int size;
40−};
41−
4211 #define MLX5_RSC_DUMP_ALL 0xFFFF
4312 struct mlx5_rsc_dump_cmd;
4413 struct mlx5_rsc_dump;
include/linux/mlx5/rsc_dump.h+48−0
@@ -0,0 +1,48 @@
1+/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
2+/* Copyright (c) 2020 Mellanox Technologies inc. */
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_MENU,
27+ MLX5_SGMT_TYPE_TERMINATE,
28+
29+ MLX5_SGMT_TYPE_NUM, /* Keep last */
30+};
31+
32+struct mlx5_rsc_key {
33+ enum mlx5_sgmt_type rsc;
34+ int index1;
35+ int index2;
36+ int num_of_obj1;
37+ int num_of_obj2;
38+ int size;
39+};
40+
41+struct mlx5_rsc_dump_cmd;
42+
43+struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev,
44+ struct mlx5_rsc_key *key);
45+void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd);
46+int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
47+ struct page *page, int *size);
48+#endif /* __MLX5_RSC_DUMP */