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
130 cmd->mem_size = key->size;130 cmd->mem_size = key->size;
131 return cmd;131 return cmd;
132}132}
133EXPORT_SYMBOL(mlx5_rsc_dump_cmd_create);
133 134
134void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd)135void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd)
135{136{
136 kfree(cmd);137 kfree(cmd);
137}138}
139EXPORT_SYMBOL(mlx5_rsc_dump_cmd_destroy);
138 140
139int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,141int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
140 struct page *page, int *size)142 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
155 157
156 return more_dump;158 return more_dump;
157}159}
160EXPORT_SYMBOL(mlx5_rsc_dump_next);
158 161
159#define MLX5_RSC_DUMP_MENU_SEGMENT 0xffff162#define MLX5_RSC_DUMP_MENU_SEGMENT 0xffff
160static int mlx5_rsc_dump_menu(struct mlx5_core_dev *dev)163static 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
4#ifndef __MLX5_RSC_DUMP_H4#ifndef __MLX5_RSC_DUMP_H
5#define __MLX5_RSC_DUMP_H5#define __MLX5_RSC_DUMP_H
6 6
7#include <linux/mlx5/rsc_dump.h>
7#include <linux/mlx5/driver.h>8#include <linux/mlx5/driver.h>
8#include "mlx5_core.h"9#include "mlx5_core.h"
9 10
10enum 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
33struct 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
42#define MLX5_RSC_DUMP_ALL 0xFFFF11#define MLX5_RSC_DUMP_ALL 0xFFFF
43struct mlx5_rsc_dump_cmd;12struct mlx5_rsc_dump_cmd;
44struct mlx5_rsc_dump;13struct 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
9enum 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
32struct 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
41struct mlx5_rsc_dump_cmd;
42
43struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev,
44 struct mlx5_rsc_key *key);
45void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd);
46int 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 */