|
Thomas Bogendoerfer |
5ba80f |
From: Maxim Mikityanskiy <maximmi@nvidia.com>
|
|
Thomas Bogendoerfer |
5ba80f |
Date: Tue, 6 Apr 2021 11:20:42 +0300
|
|
Thomas Bogendoerfer |
5ba80f |
Subject: net/mlx5e: Remove mdev from mlx5e_build_indir_tir_ctx_common()
|
|
Thomas Bogendoerfer |
5ba80f |
Patch-mainline: v5.15-rc1
|
|
Thomas Bogendoerfer |
5ba80f |
Git-commit: 4b3e42eecb1cd8731af59fa01d85af109f0234e4
|
|
Thomas Bogendoerfer |
5ba80f |
References: jsc#SLE-19253
|
|
Thomas Bogendoerfer |
5ba80f |
|
|
Thomas Bogendoerfer |
5ba80f |
In order to drop a dependency to mdev and make the function more
|
|
Thomas Bogendoerfer |
5ba80f |
universal, stop passing mdev to mlx5e_build_indir_tir_ctx_common() and
|
|
Thomas Bogendoerfer |
5ba80f |
pass transport domain directly instead. It also prepares this function
|
|
Thomas Bogendoerfer |
5ba80f |
to be used in other contexts that need a custom transport domain, such
|
|
Thomas Bogendoerfer |
5ba80f |
as hairpin.
|
|
Thomas Bogendoerfer |
5ba80f |
|
|
Thomas Bogendoerfer |
5ba80f |
Signed-off-by: Maxim Mikityanskiy <maximmi@nvidia.com>
|
|
Thomas Bogendoerfer |
5ba80f |
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
|
|
Thomas Bogendoerfer |
5ba80f |
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
|
|
Thomas Bogendoerfer |
5ba80f |
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
|
|
Thomas Bogendoerfer |
5ba80f |
---
|
|
Thomas Bogendoerfer |
5ba80f |
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 19 +++++++++----------
|
|
Thomas Bogendoerfer |
5ba80f |
1 file changed, 9 insertions(+), 10 deletions(-)
|
|
Thomas Bogendoerfer |
5ba80f |
|
|
Thomas Bogendoerfer |
5ba80f |
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
|
|
Thomas Bogendoerfer |
5ba80f |
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
|
|
Thomas Bogendoerfer |
5ba80f |
@@ -3120,22 +3120,20 @@ static void mlx5e_cleanup_nic_tx(struct
|
|
Thomas Bogendoerfer |
5ba80f |
mlx5e_destroy_tises(priv);
|
|
Thomas Bogendoerfer |
5ba80f |
}
|
|
Thomas Bogendoerfer |
5ba80f |
|
|
Thomas Bogendoerfer |
5ba80f |
-static void mlx5e_build_indir_tir_ctx_common(struct mlx5_core_dev *mdev,
|
|
Thomas Bogendoerfer |
5ba80f |
- bool inner_ft_support,
|
|
Thomas Bogendoerfer |
5ba80f |
+static void mlx5e_build_indir_tir_ctx_common(u32 tdn, bool inner_ft_support,
|
|
Thomas Bogendoerfer |
5ba80f |
u32 rqtn, u32 *tirc)
|
|
Thomas Bogendoerfer |
5ba80f |
{
|
|
Thomas Bogendoerfer |
5ba80f |
- MLX5_SET(tirc, tirc, transport_domain, mdev->mlx5e_res.hw_objs.td.tdn);
|
|
Thomas Bogendoerfer |
5ba80f |
+ MLX5_SET(tirc, tirc, transport_domain, tdn);
|
|
Thomas Bogendoerfer |
5ba80f |
MLX5_SET(tirc, tirc, disp_type, MLX5_TIRC_DISP_TYPE_INDIRECT);
|
|
Thomas Bogendoerfer |
5ba80f |
MLX5_SET(tirc, tirc, indirect_table, rqtn);
|
|
Thomas Bogendoerfer |
5ba80f |
MLX5_SET(tirc, tirc, tunneled_offload_en, inner_ft_support);
|
|
Thomas Bogendoerfer |
5ba80f |
}
|
|
Thomas Bogendoerfer |
5ba80f |
|
|
Thomas Bogendoerfer |
5ba80f |
-static void mlx5e_build_direct_tir_ctx(struct mlx5_core_dev *mdev,
|
|
Thomas Bogendoerfer |
5ba80f |
- struct mlx5e_lro_param *lro_param,
|
|
Thomas Bogendoerfer |
5ba80f |
- bool inner_ft_support,
|
|
Thomas Bogendoerfer |
5ba80f |
+static void mlx5e_build_direct_tir_ctx(struct mlx5e_lro_param *lro_param,
|
|
Thomas Bogendoerfer |
5ba80f |
+ u32 tdn, bool inner_ft_support,
|
|
Thomas Bogendoerfer |
5ba80f |
u32 rqtn, u32 *tirc)
|
|
Thomas Bogendoerfer |
5ba80f |
{
|
|
Thomas Bogendoerfer |
5ba80f |
- mlx5e_build_indir_tir_ctx_common(mdev, inner_ft_support, rqtn, tirc);
|
|
Thomas Bogendoerfer |
5ba80f |
+ mlx5e_build_indir_tir_ctx_common(tdn, inner_ft_support, rqtn, tirc);
|
|
Thomas Bogendoerfer |
5ba80f |
mlx5e_build_tir_ctx_lro(lro_param, tirc);
|
|
Thomas Bogendoerfer |
5ba80f |
MLX5_SET(tirc, tirc, rx_hash_fn, MLX5_RX_HASH_FN_INVERTED_XOR8);
|
|
Thomas Bogendoerfer |
5ba80f |
}
|
|
Thomas Bogendoerfer |
5ba80f |
@@ -3165,7 +3163,7 @@ int mlx5e_create_indirect_tirs(struct ml
|
|
Thomas Bogendoerfer |
5ba80f |
memset(in, 0, inlen);
|
|
Thomas Bogendoerfer |
5ba80f |
tir = &res->rss[tt].indir_tir;
|
|
Thomas Bogendoerfer |
5ba80f |
tirc = MLX5_ADDR_OF(create_tir_in, in, ctx);
|
|
Thomas Bogendoerfer |
5ba80f |
- mlx5e_build_indir_tir_ctx_common(priv->mdev,
|
|
Thomas Bogendoerfer |
5ba80f |
+ mlx5e_build_indir_tir_ctx_common(priv->mdev->mlx5e_res.hw_objs.td.tdn,
|
|
Thomas Bogendoerfer |
5ba80f |
priv->channels.params.tunneled_offload_en,
|
|
Thomas Bogendoerfer |
5ba80f |
indir_rqtn, tirc);
|
|
Thomas Bogendoerfer |
5ba80f |
mlx5e_build_tir_ctx_lro(&lro_param, tirc);
|
|
Thomas Bogendoerfer |
5ba80f |
@@ -3186,7 +3184,7 @@ int mlx5e_create_indirect_tirs(struct ml
|
|
Thomas Bogendoerfer |
5ba80f |
memset(in, 0, inlen);
|
|
Thomas Bogendoerfer |
5ba80f |
tir = &res->rss[i].inner_indir_tir;
|
|
Thomas Bogendoerfer |
5ba80f |
tirc = MLX5_ADDR_OF(create_tir_in, in, ctx);
|
|
Thomas Bogendoerfer |
5ba80f |
- mlx5e_build_indir_tir_ctx_common(priv->mdev,
|
|
Thomas Bogendoerfer |
5ba80f |
+ mlx5e_build_indir_tir_ctx_common(priv->mdev->mlx5e_res.hw_objs.td.tdn,
|
|
Thomas Bogendoerfer |
5ba80f |
priv->channels.params.tunneled_offload_en,
|
|
Thomas Bogendoerfer |
5ba80f |
indir_rqtn, tirc);
|
|
Thomas Bogendoerfer |
5ba80f |
mlx5e_build_tir_ctx_lro(&lro_param, tirc);
|
|
Thomas Bogendoerfer |
5ba80f |
@@ -3232,7 +3230,8 @@ static int mlx5e_create_direct_tir(struc
|
|
Thomas Bogendoerfer |
5ba80f |
|
|
Thomas Bogendoerfer |
5ba80f |
tirc = MLX5_ADDR_OF(create_tir_in, in, ctx);
|
|
Thomas Bogendoerfer |
5ba80f |
lro_param = mlx5e_get_lro_param(&priv->channels.params);
|
|
Thomas Bogendoerfer |
5ba80f |
- mlx5e_build_direct_tir_ctx(priv->mdev, &lro_param,
|
|
Thomas Bogendoerfer |
5ba80f |
+ mlx5e_build_direct_tir_ctx(&lro_param,
|
|
Thomas Bogendoerfer |
5ba80f |
+ priv->mdev->mlx5e_res.hw_objs.td.tdn,
|
|
Thomas Bogendoerfer |
5ba80f |
priv->channels.params.tunneled_offload_en,
|
|
Thomas Bogendoerfer |
5ba80f |
mlx5e_rqt_get_rqtn(rqt), tirc);
|
|
Thomas Bogendoerfer |
5ba80f |
err = mlx5e_create_tir(priv->mdev, tir, in);
|