Skip to content

Commit 34e4e99

Browse files
roidayandavem330
authored andcommitted
net/mlx5: Enable to query min inline for a specific vport
Also move the inline capablities enum to a shared header vport.h Signed-off-by: Roi Dayan <roid@mellanox.com> Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 59bfde0 commit 34e4e99

File tree

4 files changed

+21
-20
lines changed

4 files changed

+21
-20
lines changed

drivers/net/ethernet/mellanox/mlx5/core/en.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -150,12 +150,6 @@ static inline int mlx5_max_log_rq_size(int wq_type)
150150
}
151151
}
152152

153-
enum {
154-
MLX5E_INLINE_MODE_L2,
155-
MLX5E_INLINE_MODE_VPORT_CONTEXT,
156-
MLX5_INLINE_MODE_NOT_REQUIRED,
157-
};
158-
159153
struct mlx5e_tx_wqe {
160154
struct mlx5_wqe_ctrl_seg ctrl;
161155
struct mlx5_wqe_eth_seg eth;

drivers/net/ethernet/mellanox/mlx5/core/en_main.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -957,7 +957,7 @@ static int mlx5e_create_sq(struct mlx5e_channel *c,
957957
sq->bf_buf_size = (1 << MLX5_CAP_GEN(mdev, log_bf_reg_size)) / 2;
958958
sq->max_inline = param->max_inline;
959959
sq->min_inline_mode =
960-
MLX5_CAP_ETH(mdev, wqe_inline_mode) == MLX5E_INLINE_MODE_VPORT_CONTEXT ?
960+
MLX5_CAP_ETH(mdev, wqe_inline_mode) == MLX5_CAP_INLINE_MODE_VPORT_CONTEXT ?
961961
param->min_inline_mode : 0;
962962

963963
err = mlx5e_alloc_sq_db(sq, cpu_to_node(c->cpu));
@@ -3417,14 +3417,13 @@ static void mlx5e_query_min_inline(struct mlx5_core_dev *mdev,
34173417
u8 *min_inline_mode)
34183418
{
34193419
switch (MLX5_CAP_ETH(mdev, wqe_inline_mode)) {
3420-
case MLX5E_INLINE_MODE_L2:
3420+
case MLX5_CAP_INLINE_MODE_L2:
34213421
*min_inline_mode = MLX5_INLINE_MODE_L2;
34223422
break;
3423-
case MLX5E_INLINE_MODE_VPORT_CONTEXT:
3424-
mlx5_query_nic_vport_min_inline(mdev,
3425-
min_inline_mode);
3423+
case MLX5_CAP_INLINE_MODE_VPORT_CONTEXT:
3424+
mlx5_query_nic_vport_min_inline(mdev, 0, min_inline_mode);
34263425
break;
3427-
case MLX5_INLINE_MODE_NOT_REQUIRED:
3426+
case MLX5_CAP_INLINE_MODE_NOT_REQUIRED:
34283427
*min_inline_mode = MLX5_INLINE_MODE_NONE;
34293428
break;
34303429
}

drivers/net/ethernet/mellanox/mlx5/core/vport.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,15 +113,17 @@ static int mlx5_modify_nic_vport_context(struct mlx5_core_dev *mdev, void *in,
113113
return mlx5_cmd_exec(mdev, in, inlen, out, sizeof(out));
114114
}
115115

116-
void mlx5_query_nic_vport_min_inline(struct mlx5_core_dev *mdev,
117-
u8 *min_inline_mode)
116+
int mlx5_query_nic_vport_min_inline(struct mlx5_core_dev *mdev,
117+
u16 vport, u8 *min_inline)
118118
{
119119
u32 out[MLX5_ST_SZ_DW(query_nic_vport_context_out)] = {0};
120+
int err;
120121

121-
mlx5_query_nic_vport_context(mdev, 0, out, sizeof(out));
122-
123-
*min_inline_mode = MLX5_GET(query_nic_vport_context_out, out,
124-
nic_vport_context.min_wqe_inline_mode);
122+
err = mlx5_query_nic_vport_context(mdev, vport, out, sizeof(out));
123+
if (!err)
124+
*min_inline = MLX5_GET(query_nic_vport_context_out, out,
125+
nic_vport_context.min_wqe_inline_mode);
126+
return err;
125127
}
126128
EXPORT_SYMBOL_GPL(mlx5_query_nic_vport_min_inline);
127129

include/linux/mlx5/vport.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,21 @@
3636
#include <linux/mlx5/driver.h>
3737
#include <linux/mlx5/device.h>
3838

39+
enum {
40+
MLX5_CAP_INLINE_MODE_L2,
41+
MLX5_CAP_INLINE_MODE_VPORT_CONTEXT,
42+
MLX5_CAP_INLINE_MODE_NOT_REQUIRED,
43+
};
44+
3945
u8 mlx5_query_vport_state(struct mlx5_core_dev *mdev, u8 opmod, u16 vport);
4046
u8 mlx5_query_vport_admin_state(struct mlx5_core_dev *mdev, u8 opmod,
4147
u16 vport);
4248
int mlx5_modify_vport_admin_state(struct mlx5_core_dev *mdev, u8 opmod,
4349
u16 vport, u8 state);
4450
int mlx5_query_nic_vport_mac_address(struct mlx5_core_dev *mdev,
4551
u16 vport, u8 *addr);
46-
void mlx5_query_nic_vport_min_inline(struct mlx5_core_dev *mdev,
47-
u8 *min_inline);
52+
int mlx5_query_nic_vport_min_inline(struct mlx5_core_dev *mdev,
53+
u16 vport, u8 *min_inline);
4854
int mlx5_modify_nic_vport_min_inline(struct mlx5_core_dev *mdev,
4955
u16 vport, u8 min_inline);
5056
int mlx5_modify_nic_vport_mac_address(struct mlx5_core_dev *dev,

0 commit comments

Comments
 (0)