Commit 3c145626 authored by Tariq Toukan's avatar Tariq Toukan Committed by Saeed Mahameed

net/mlx5e: Expose new function for TIS destroy loop

For better modularity and code sharing.
Function internal change to be introduced in the next patches.
Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
parent d5e1c0ef
...@@ -1107,6 +1107,7 @@ int mlx5e_create_tis(struct mlx5_core_dev *mdev, void *in, u32 *tisn); ...@@ -1107,6 +1107,7 @@ int mlx5e_create_tis(struct mlx5_core_dev *mdev, void *in, u32 *tisn);
void mlx5e_destroy_tis(struct mlx5_core_dev *mdev, u32 tisn); void mlx5e_destroy_tis(struct mlx5_core_dev *mdev, u32 tisn);
int mlx5e_create_tises(struct mlx5e_priv *priv); int mlx5e_create_tises(struct mlx5e_priv *priv);
void mlx5e_destroy_tises(struct mlx5e_priv *priv);
int mlx5e_update_nic_rx(struct mlx5e_priv *priv); int mlx5e_update_nic_rx(struct mlx5e_priv *priv);
void mlx5e_update_carrier(struct mlx5e_priv *priv); void mlx5e_update_carrier(struct mlx5e_priv *priv);
int mlx5e_close(struct net_device *netdev); int mlx5e_close(struct net_device *netdev);
......
...@@ -3179,6 +3179,14 @@ void mlx5e_destroy_tis(struct mlx5_core_dev *mdev, u32 tisn) ...@@ -3179,6 +3179,14 @@ void mlx5e_destroy_tis(struct mlx5_core_dev *mdev, u32 tisn)
mlx5_core_destroy_tis(mdev, tisn); mlx5_core_destroy_tis(mdev, tisn);
} }
void mlx5e_destroy_tises(struct mlx5e_priv *priv)
{
int tc;
for (tc = 0; tc < priv->profile->max_tc; tc++)
mlx5e_destroy_tis(priv->mdev, priv->tisn[tc]);
}
int mlx5e_create_tises(struct mlx5e_priv *priv) int mlx5e_create_tises(struct mlx5e_priv *priv)
{ {
int err; int err;
...@@ -3208,10 +3216,7 @@ int mlx5e_create_tises(struct mlx5e_priv *priv) ...@@ -3208,10 +3216,7 @@ int mlx5e_create_tises(struct mlx5e_priv *priv)
static void mlx5e_cleanup_nic_tx(struct mlx5e_priv *priv) static void mlx5e_cleanup_nic_tx(struct mlx5e_priv *priv)
{ {
int tc; mlx5e_destroy_tises(priv);
for (tc = 0; tc < priv->profile->max_tc; tc++)
mlx5e_destroy_tis(priv->mdev, priv->tisn[tc]);
} }
static void mlx5e_build_indir_tir_ctx_common(struct mlx5e_priv *priv, static void mlx5e_build_indir_tir_ctx_common(struct mlx5e_priv *priv,
......
...@@ -1621,7 +1621,7 @@ static int mlx5e_init_rep_tx(struct mlx5e_priv *priv) ...@@ -1621,7 +1621,7 @@ static int mlx5e_init_rep_tx(struct mlx5e_priv *priv)
{ {
struct mlx5e_rep_priv *rpriv = priv->ppriv; struct mlx5e_rep_priv *rpriv = priv->ppriv;
struct mlx5_rep_uplink_priv *uplink_priv; struct mlx5_rep_uplink_priv *uplink_priv;
int tc, err; int err;
err = mlx5e_create_tises(priv); err = mlx5e_create_tises(priv);
if (err) { if (err) {
...@@ -1657,18 +1657,15 @@ static int mlx5e_init_rep_tx(struct mlx5e_priv *priv) ...@@ -1657,18 +1657,15 @@ static int mlx5e_init_rep_tx(struct mlx5e_priv *priv)
tc_esw_cleanup: tc_esw_cleanup:
mlx5e_tc_esw_cleanup(&uplink_priv->tc_ht); mlx5e_tc_esw_cleanup(&uplink_priv->tc_ht);
destroy_tises: destroy_tises:
for (tc = 0; tc < priv->profile->max_tc; tc++) mlx5e_destroy_tises(priv);
mlx5e_destroy_tis(priv->mdev, priv->tisn[tc]);
return err; return err;
} }
static void mlx5e_cleanup_rep_tx(struct mlx5e_priv *priv) static void mlx5e_cleanup_rep_tx(struct mlx5e_priv *priv)
{ {
struct mlx5e_rep_priv *rpriv = priv->ppriv; struct mlx5e_rep_priv *rpriv = priv->ppriv;
int tc;
for (tc = 0; tc < priv->profile->max_tc; tc++) mlx5e_destroy_tises(priv);
mlx5e_destroy_tis(priv->mdev, priv->tisn[tc]);
if (rpriv->rep->vport == MLX5_VPORT_UPLINK) { if (rpriv->rep->vport == MLX5_VPORT_UPLINK) {
/* clean indirect TC block notifications */ /* clean indirect TC block notifications */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment