forked from Minki/linux
mlxsw: spectrum: Put pointer to flex action ops to mlxsw_sp
Spectrum-2 need a slightly different handling of flexible actions. So put an ops pointer in mlxsw_sp struct and rename it. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
82b63bcf8c
commit
9dbab6f588
@ -3621,6 +3621,8 @@ static int mlxsw_sp_init(struct mlxsw_core *mlxsw_core,
|
||||
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
|
||||
int err;
|
||||
|
||||
mlxsw_sp->afa_ops = &mlxsw_sp1_act_afa_ops;
|
||||
|
||||
mlxsw_sp->core = mlxsw_core;
|
||||
mlxsw_sp->bus_info = mlxsw_bus_info;
|
||||
|
||||
|
@ -168,6 +168,7 @@ struct mlxsw_sp {
|
||||
struct mlxsw_sp_span_entry *entries;
|
||||
int entries_count;
|
||||
} span;
|
||||
const struct mlxsw_afa_ops *afa_ops;
|
||||
};
|
||||
|
||||
static inline struct mlxsw_sp_upper *
|
||||
@ -584,6 +585,9 @@ void mlxsw_sp_acl_fini(struct mlxsw_sp *mlxsw_sp);
|
||||
/* spectrum_acl_tcam.c */
|
||||
extern const struct mlxsw_sp_acl_ops mlxsw_sp_acl_tcam_ops;
|
||||
|
||||
/* spectrum_acl_flex_actions.c */
|
||||
extern const struct mlxsw_afa_ops mlxsw_sp1_act_afa_ops;
|
||||
|
||||
/* spectrum_flower.c */
|
||||
int mlxsw_sp_flower_replace(struct mlxsw_sp *mlxsw_sp,
|
||||
struct mlxsw_sp_acl_block *block,
|
||||
|
@ -154,7 +154,7 @@ mlxsw_sp_act_mirror_del(void *priv, u8 local_in_port, int span_id, bool ingress)
|
||||
mlxsw_sp_span_mirror_del(in_port, span_id, type, false);
|
||||
}
|
||||
|
||||
static const struct mlxsw_afa_ops mlxsw_sp_act_afa_ops = {
|
||||
const struct mlxsw_afa_ops mlxsw_sp1_act_afa_ops = {
|
||||
.kvdl_set_add = mlxsw_sp_act_kvdl_set_add,
|
||||
.kvdl_set_del = mlxsw_sp_act_kvdl_set_del,
|
||||
.kvdl_fwd_entry_add = mlxsw_sp_act_kvdl_fwd_entry_add,
|
||||
@ -169,7 +169,7 @@ int mlxsw_sp_afa_init(struct mlxsw_sp *mlxsw_sp)
|
||||
{
|
||||
mlxsw_sp->afa = mlxsw_afa_create(MLXSW_CORE_RES_GET(mlxsw_sp->core,
|
||||
ACL_ACTIONS_PER_SET),
|
||||
&mlxsw_sp_act_afa_ops, mlxsw_sp);
|
||||
mlxsw_sp->afa_ops, mlxsw_sp);
|
||||
return PTR_ERR_OR_ZERO(mlxsw_sp->afa);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user