net/mlx5: Export resource dump interface
authorMaor Gottlieb <maorg@mellanox.com>
Wed, 8 Apr 2020 09:42:09 +0000 (12:42 +0300)
committerLeon Romanovsky <leonro@mellanox.com>
Tue, 23 Jun 2020 14:26:10 +0000 (17:26 +0300)
Export some of the resource dump API. mlx5_ib driver will use
it in downstream patches.

Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c
drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.h
include/linux/mlx5/rsc_dump.h [new file with mode: 0644]

index 17ab7ef..10218c2 100644 (file)
@@ -130,11 +130,13 @@ struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev,
        cmd->mem_size = key->size;
        return cmd;
 }
+EXPORT_SYMBOL(mlx5_rsc_dump_cmd_create);
 
 void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd)
 {
        kfree(cmd);
 }
+EXPORT_SYMBOL(mlx5_rsc_dump_cmd_destroy);
 
 int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
                       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,
 
        return more_dump;
 }
+EXPORT_SYMBOL(mlx5_rsc_dump_next);
 
 #define MLX5_RSC_DUMP_MENU_SEGMENT 0xffff
 static int mlx5_rsc_dump_menu(struct mlx5_core_dev *dev)
index 1482700..64c4956 100644 (file)
@@ -4,41 +4,10 @@
 #ifndef __MLX5_RSC_DUMP_H
 #define __MLX5_RSC_DUMP_H
 
+#include <linux/mlx5/rsc_dump.h>
 #include <linux/mlx5/driver.h>
 #include "mlx5_core.h"
 
-enum mlx5_sgmt_type {
-       MLX5_SGMT_TYPE_HW_CQPC,
-       MLX5_SGMT_TYPE_HW_SQPC,
-       MLX5_SGMT_TYPE_HW_RQPC,
-       MLX5_SGMT_TYPE_FULL_SRQC,
-       MLX5_SGMT_TYPE_FULL_CQC,
-       MLX5_SGMT_TYPE_FULL_EQC,
-       MLX5_SGMT_TYPE_FULL_QPC,
-       MLX5_SGMT_TYPE_SND_BUFF,
-       MLX5_SGMT_TYPE_RCV_BUFF,
-       MLX5_SGMT_TYPE_SRQ_BUFF,
-       MLX5_SGMT_TYPE_CQ_BUFF,
-       MLX5_SGMT_TYPE_EQ_BUFF,
-       MLX5_SGMT_TYPE_SX_SLICE,
-       MLX5_SGMT_TYPE_SX_SLICE_ALL,
-       MLX5_SGMT_TYPE_RDB,
-       MLX5_SGMT_TYPE_RX_SLICE_ALL,
-       MLX5_SGMT_TYPE_MENU,
-       MLX5_SGMT_TYPE_TERMINATE,
-
-       MLX5_SGMT_TYPE_NUM, /* Keep last */
-};
-
-struct mlx5_rsc_key {
-       enum mlx5_sgmt_type rsc;
-       int index1;
-       int index2;
-       int num_of_obj1;
-       int num_of_obj2;
-       int size;
-};
-
 #define MLX5_RSC_DUMP_ALL 0xFFFF
 struct mlx5_rsc_dump_cmd;
 struct mlx5_rsc_dump;
diff --git a/include/linux/mlx5/rsc_dump.h b/include/linux/mlx5/rsc_dump.h
new file mode 100644 (file)
index 0000000..87415fa
--- /dev/null
@@ -0,0 +1,48 @@
+/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
+/* Copyright (c) 2020 Mellanox Technologies inc. */
+
+#include <linux/mlx5/driver.h>
+
+#ifndef __MLX5_RSC_DUMP
+#define __MLX5_RSC_DUMP
+
+enum mlx5_sgmt_type {
+       MLX5_SGMT_TYPE_HW_CQPC,
+       MLX5_SGMT_TYPE_HW_SQPC,
+       MLX5_SGMT_TYPE_HW_RQPC,
+       MLX5_SGMT_TYPE_FULL_SRQC,
+       MLX5_SGMT_TYPE_FULL_CQC,
+       MLX5_SGMT_TYPE_FULL_EQC,
+       MLX5_SGMT_TYPE_FULL_QPC,
+       MLX5_SGMT_TYPE_SND_BUFF,
+       MLX5_SGMT_TYPE_RCV_BUFF,
+       MLX5_SGMT_TYPE_SRQ_BUFF,
+       MLX5_SGMT_TYPE_CQ_BUFF,
+       MLX5_SGMT_TYPE_EQ_BUFF,
+       MLX5_SGMT_TYPE_SX_SLICE,
+       MLX5_SGMT_TYPE_SX_SLICE_ALL,
+       MLX5_SGMT_TYPE_RDB,
+       MLX5_SGMT_TYPE_RX_SLICE_ALL,
+       MLX5_SGMT_TYPE_MENU,
+       MLX5_SGMT_TYPE_TERMINATE,
+
+       MLX5_SGMT_TYPE_NUM, /* Keep last */
+};
+
+struct mlx5_rsc_key {
+       enum mlx5_sgmt_type rsc;
+       int index1;
+       int index2;
+       int num_of_obj1;
+       int num_of_obj2;
+       int size;
+};
+
+struct mlx5_rsc_dump_cmd;
+
+struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev,
+                                                  struct mlx5_rsc_key *key);
+void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd);
+int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
+                      struct page *page, int *size);
+#endif /* __MLX5_RSC_DUMP */