On 10/18/2022 4:12 AM, Eli Cohen wrote:
Move some definitions from mlx5_vnet.c to newly added header file
mlx5_vnet.h. We need these definitions for the following patches that
add debugfs tree to expose information vital for debug.

Signed-off-by: Eli Cohen<[email protected]>
Reviewed-by: Si-Wei Liu <[email protected]>
---
  drivers/vdpa/mlx5/net/mlx5_vnet.c | 45 +------------------------
  drivers/vdpa/mlx5/net/mlx5_vnet.h | 55 +++++++++++++++++++++++++++++++
  2 files changed, 56 insertions(+), 44 deletions(-)
  create mode 100644 drivers/vdpa/mlx5/net/mlx5_vnet.h

diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c 
b/drivers/vdpa/mlx5/net/mlx5_vnet.c
index dd29fdfc24ed..64fdb940380f 100644
--- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
+++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
@@ -18,15 +18,12 @@
  #include <linux/mlx5/mlx5_ifc_vdpa.h>
  #include <linux/mlx5/mpfs.h>
  #include "mlx5_vdpa.h"
+#include "mlx5_vnet.h"
MODULE_AUTHOR("Eli Cohen<[email protected]>");
  MODULE_DESCRIPTION("Mellanox VDPA driver");
  MODULE_LICENSE("Dual BSD/GPL");
-#define to_mlx5_vdpa_ndev(__mvdev) \
-       container_of(__mvdev, struct mlx5_vdpa_net, mvdev)
-#define to_mvdev(__vdev) container_of((__vdev), struct mlx5_vdpa_dev, vdev)
-
  #define VALID_FEATURES_MASK                                                   
                     \
        (BIT_ULL(VIRTIO_NET_F_CSUM) | BIT_ULL(VIRTIO_NET_F_GUEST_CSUM) |        
                           \
         BIT_ULL(VIRTIO_NET_F_CTRL_GUEST_OFFLOADS) | BIT_ULL(VIRTIO_NET_F_MTU) 
| BIT_ULL(VIRTIO_NET_F_MAC) |   \
@@ -50,14 +47,6 @@ MODULE_LICENSE("Dual BSD/GPL");
#define MLX5V_UNTAGGED 0x1000 -struct mlx5_vdpa_net_resources {
-       u32 tisn;
-       u32 tdn;
-       u32 tirn;
-       u32 rqtn;
-       bool valid;
-};
-
  struct mlx5_vdpa_cq_buf {
        struct mlx5_frag_buf_ctrl fbc;
        struct mlx5_frag_buf frag_buf;
@@ -146,38 +135,6 @@ static bool is_index_valid(struct mlx5_vdpa_dev *mvdev, 
u16 idx)
        return idx <= mvdev->max_idx;
  }
-#define MLX5V_MACVLAN_SIZE 256
-
-struct mlx5_vdpa_net {
-       struct mlx5_vdpa_dev mvdev;
-       struct mlx5_vdpa_net_resources res;
-       struct virtio_net_config config;
-       struct mlx5_vdpa_virtqueue *vqs;
-       struct vdpa_callback *event_cbs;
-
-       /* Serialize vq resources creation and destruction. This is required
-        * since memory map might change and we need to destroy and create
-        * resources while driver in operational.
-        */
-       struct rw_semaphore reslock;
-       struct mlx5_flow_table *rxft;
-       bool setup;
-       u32 cur_num_vqs;
-       u32 rqt_size;
-       bool nb_registered;
-       struct notifier_block nb;
-       struct vdpa_callback config_cb;
-       struct mlx5_vdpa_wq_ent cvq_ent;
-       struct hlist_head macvlan_hash[MLX5V_MACVLAN_SIZE];
-};
-
-struct macvlan_node {
-       struct hlist_node hlist;
-       struct mlx5_flow_handle *ucast_rule;
-       struct mlx5_flow_handle *mcast_rule;
-       u64 macvlan;
-};
-
  static void free_resources(struct mlx5_vdpa_net *ndev);
  static void init_mvqs(struct mlx5_vdpa_net *ndev);
  static int setup_driver(struct mlx5_vdpa_dev *mvdev);
diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.h 
b/drivers/vdpa/mlx5/net/mlx5_vnet.h
new file mode 100644
index 000000000000..6691c879a6ca
--- /dev/null
+++ b/drivers/vdpa/mlx5/net/mlx5_vnet.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
+/* Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. */
+
+#ifndef __MLX5_VNET_H__
+#define __MLX5_VNET_H__
+
+#include "mlx5_vdpa.h"
+
+#define to_mlx5_vdpa_ndev(__mvdev)                                             
\
+       container_of(__mvdev, struct mlx5_vdpa_net, mvdev)
+#define to_mvdev(__vdev) container_of((__vdev), struct mlx5_vdpa_dev, vdev)
+
+struct mlx5_vdpa_net_resources {
+       u32 tisn;
+       u32 tdn;
+       u32 tirn;
+       u32 rqtn;
+       bool valid;
+};
+
+#define MLX5V_MACVLAN_SIZE 256
+
+struct mlx5_vdpa_net {
+       struct mlx5_vdpa_dev mvdev;
+       struct mlx5_vdpa_net_resources res;
+       struct virtio_net_config config;
+       struct mlx5_vdpa_virtqueue *vqs;
+       struct vdpa_callback *event_cbs;
+
+       /* Serialize vq resources creation and destruction. This is required
+        * since memory map might change and we need to destroy and create
+        * resources while driver in operational.
+        */
+       struct rw_semaphore reslock;
+       struct mlx5_flow_table *rxft;
+       struct dentry *rx_dent;
+       struct dentry *rx_table_dent;
+       bool setup;
+       u32 cur_num_vqs;
+       u32 rqt_size;
+       bool nb_registered;
+       struct notifier_block nb;
+       struct vdpa_callback config_cb;
+       struct mlx5_vdpa_wq_ent cvq_ent;
+       struct hlist_head macvlan_hash[MLX5V_MACVLAN_SIZE];
+};
+
+struct macvlan_node {
+       struct hlist_node hlist;
+       struct mlx5_flow_handle *ucast_rule;
+       struct mlx5_flow_handle *mcast_rule;
+       u64 macvlan;
+};
+
+#endif /* __MLX5_VNET_H__ */
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to