net/mlx5: Added missing definitions in preparation for HW Steering
authorYevgeny Kliteynik <kliteyn@nvidia.com>
Tue, 17 Jan 2023 15:14:51 +0000 (17:14 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Mon, 9 Sep 2024 18:10:04 +0000 (11:10 -0700)
As part of preparation for HWS, added missing definitions
in qp.h and fs_core.h:

 - FS_FT_FDB_RX/TX table types that are used by HWS in addition
   to an existing FS_FT_FDB
 - MLX5_WQE_CTRL_INITIATOR_SMALL_FENCE that is used by HWS to
   require fence in WQE

Reviewed-by: Hamdan Agbariya <hamdani@nvidia.com>
Signed-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/fs_core.h
include/linux/mlx5/qp.h

index 78eb6b7..6201647 100644 (file)
@@ -110,7 +110,9 @@ enum fs_flow_table_type {
        FS_FT_RDMA_RX           = 0X7,
        FS_FT_RDMA_TX           = 0X8,
        FS_FT_PORT_SEL          = 0X9,
-       FS_FT_MAX_TYPE = FS_FT_PORT_SEL,
+       FS_FT_FDB_RX            = 0xa,
+       FS_FT_FDB_TX            = 0xb,
+       FS_FT_MAX_TYPE = FS_FT_FDB_TX,
 };
 
 enum fs_flow_table_op_mod {
@@ -368,7 +370,9 @@ struct mlx5_flow_root_namespace *find_root(struct fs_node *node);
        (type == FS_FT_RDMA_RX) ? MLX5_CAP_FLOWTABLE_RDMA_RX(mdev, cap) :               \
        (type == FS_FT_RDMA_TX) ? MLX5_CAP_FLOWTABLE_RDMA_TX(mdev, cap) :      \
        (type == FS_FT_PORT_SEL) ? MLX5_CAP_FLOWTABLE_PORT_SELECTION(mdev, cap) :      \
-       (BUILD_BUG_ON_ZERO(FS_FT_PORT_SEL != FS_FT_MAX_TYPE))\
+       (type == FS_FT_FDB_RX) ? MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, cap) :      \
+       (type == FS_FT_FDB_TX) ? MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, cap) :      \
+       (BUILD_BUG_ON_ZERO(FS_FT_FDB_TX != FS_FT_MAX_TYPE))\
        )
 
 #endif
index ad1ce65..fc7eeff 100644 (file)
@@ -149,6 +149,7 @@ enum {
        MLX5_WQE_CTRL_CQ_UPDATE         = 2 << 2,
        MLX5_WQE_CTRL_CQ_UPDATE_AND_EQE = 3 << 2,
        MLX5_WQE_CTRL_SOLICITED         = 1 << 1,
+       MLX5_WQE_CTRL_INITIATOR_SMALL_FENCE = 1 << 5,
 };
 
 enum {