net/mlx5: E-switch, Use helper function to load unload representor
To register and unregister devlink ports when loading/unload representors, refactor the code to helper functions. Signed-off-by: Parav Pandit <parav@nvidia.com> Reviewed-by: Roi Dayan <roid@nvidia.com> Reviewed-by: Vu Pham <vuhuong@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
2c40db2f1d
commit
38679b5a0d
|
@ -1820,15 +1820,12 @@ static void __unload_reps_all_vport(struct mlx5_eswitch *esw, u8 rep_type)
|
|||
__esw_offloads_unload_rep(esw, rep, rep_type);
|
||||
}
|
||||
|
||||
int esw_offloads_load_rep(struct mlx5_eswitch *esw, u16 vport_num)
|
||||
static int mlx5_esw_offloads_rep_load(struct mlx5_eswitch *esw, u16 vport_num)
|
||||
{
|
||||
struct mlx5_eswitch_rep *rep;
|
||||
int rep_type;
|
||||
int err;
|
||||
|
||||
if (esw->mode != MLX5_ESWITCH_OFFLOADS)
|
||||
return 0;
|
||||
|
||||
rep = mlx5_eswitch_get_rep(esw, vport_num);
|
||||
for (rep_type = 0; rep_type < NUM_REP_TYPES; rep_type++)
|
||||
if (atomic_cmpxchg(&rep->rep_data[rep_type].state,
|
||||
|
@ -1847,19 +1844,35 @@ err_reps:
|
|||
return err;
|
||||
}
|
||||
|
||||
void esw_offloads_unload_rep(struct mlx5_eswitch *esw, u16 vport_num)
|
||||
static void mlx5_esw_offloads_rep_unload(struct mlx5_eswitch *esw, u16 vport_num)
|
||||
{
|
||||
struct mlx5_eswitch_rep *rep;
|
||||
int rep_type;
|
||||
|
||||
if (esw->mode != MLX5_ESWITCH_OFFLOADS)
|
||||
return;
|
||||
|
||||
rep = mlx5_eswitch_get_rep(esw, vport_num);
|
||||
for (rep_type = NUM_REP_TYPES - 1; rep_type >= 0; rep_type--)
|
||||
__esw_offloads_unload_rep(esw, rep, rep_type);
|
||||
}
|
||||
|
||||
int esw_offloads_load_rep(struct mlx5_eswitch *esw, u16 vport_num)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (esw->mode != MLX5_ESWITCH_OFFLOADS)
|
||||
return 0;
|
||||
|
||||
err = mlx5_esw_offloads_rep_load(esw, vport_num);
|
||||
return err;
|
||||
}
|
||||
|
||||
void esw_offloads_unload_rep(struct mlx5_eswitch *esw, u16 vport_num)
|
||||
{
|
||||
if (esw->mode != MLX5_ESWITCH_OFFLOADS)
|
||||
return;
|
||||
|
||||
mlx5_esw_offloads_rep_unload(esw, vport_num);
|
||||
}
|
||||
|
||||
#define ESW_OFFLOADS_DEVCOM_PAIR (0)
|
||||
#define ESW_OFFLOADS_DEVCOM_UNPAIR (1)
|
||||
|
||||
|
|
Loading…
Reference in New Issue