Symbol: mlxsw_afa
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
197
struct mlxsw_afa *mlxsw_afa_create(unsigned int max_acts_per_set,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
201
struct mlxsw_afa *mlxsw_afa;
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
204
mlxsw_afa = kzalloc_obj(*mlxsw_afa);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
205
if (!mlxsw_afa)
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
207
err = rhashtable_init(&mlxsw_afa->set_ht, &mlxsw_afa_set_ht_params);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
210
err = rhashtable_init(&mlxsw_afa->fwd_entry_ht,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
214
err = rhashtable_init(&mlxsw_afa->cookie_ht,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
218
err = rhashtable_init(&mlxsw_afa->policer_ht,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
222
idr_init(&mlxsw_afa->cookie_idr);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
223
INIT_LIST_HEAD(&mlxsw_afa->policer_list);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
224
mlxsw_afa->max_acts_per_set = max_acts_per_set;
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
225
mlxsw_afa->ops = ops;
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
226
mlxsw_afa->ops_priv = ops_priv;
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
227
return mlxsw_afa;
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
230
rhashtable_destroy(&mlxsw_afa->cookie_ht);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
232
rhashtable_destroy(&mlxsw_afa->fwd_entry_ht);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
234
rhashtable_destroy(&mlxsw_afa->set_ht);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
236
kfree(mlxsw_afa);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
241
void mlxsw_afa_destroy(struct mlxsw_afa *mlxsw_afa)
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
243
WARN_ON(!list_empty(&mlxsw_afa->policer_list));
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
244
WARN_ON(!idr_is_empty(&mlxsw_afa->cookie_idr));
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
245
idr_destroy(&mlxsw_afa->cookie_idr);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
246
rhashtable_destroy(&mlxsw_afa->policer_ht);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
247
rhashtable_destroy(&mlxsw_afa->cookie_ht);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
248
rhashtable_destroy(&mlxsw_afa->fwd_entry_ht);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
249
rhashtable_destroy(&mlxsw_afa->set_ht);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
250
kfree(mlxsw_afa);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
294
static int mlxsw_afa_set_share(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
299
err = rhashtable_insert_fast(&mlxsw_afa->set_ht, &set->ht_node,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
303
err = mlxsw_afa->ops->kvdl_set_add(mlxsw_afa->ops_priv,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
314
rhashtable_remove_fast(&mlxsw_afa->set_ht, &set->ht_node,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
319
static void mlxsw_afa_set_unshare(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
322
mlxsw_afa->ops->kvdl_set_del(mlxsw_afa->ops_priv,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
325
rhashtable_remove_fast(&mlxsw_afa->set_ht, &set->ht_node,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
330
static void mlxsw_afa_set_put(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
336
mlxsw_afa_set_unshare(mlxsw_afa, set);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
340
static struct mlxsw_afa_set *mlxsw_afa_set_get(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
350
set = rhashtable_lookup_fast(&mlxsw_afa->set_ht, &orig_set->ht_key,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
354
mlxsw_afa_set_put(mlxsw_afa, orig_set);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
357
err = mlxsw_afa_set_share(mlxsw_afa, set);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
369
struct mlxsw_afa *afa;
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
405
struct mlxsw_afa_block *mlxsw_afa_block_create(struct mlxsw_afa *mlxsw_afa)
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
413
block->afa = mlxsw_afa;
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
423
if (mlxsw_afa->ops->dummy_first_set) {
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
558
mlxsw_afa_fwd_entry_create(struct mlxsw_afa *mlxsw_afa, u16 local_port)
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
569
err = rhashtable_insert_fast(&mlxsw_afa->fwd_entry_ht,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
575
err = mlxsw_afa->ops->kvdl_fwd_entry_add(mlxsw_afa->ops_priv,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
583
rhashtable_remove_fast(&mlxsw_afa->fwd_entry_ht, &fwd_entry->ht_node,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
590
static void mlxsw_afa_fwd_entry_destroy(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
593
mlxsw_afa->ops->kvdl_fwd_entry_del(mlxsw_afa->ops_priv,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
595
rhashtable_remove_fast(&mlxsw_afa->fwd_entry_ht, &fwd_entry->ht_node,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
601
mlxsw_afa_fwd_entry_get(struct mlxsw_afa *mlxsw_afa, u16 local_port)
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
607
fwd_entry = rhashtable_lookup_fast(&mlxsw_afa->fwd_entry_ht, &ht_key,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
613
return mlxsw_afa_fwd_entry_create(mlxsw_afa, local_port);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
616
static void mlxsw_afa_fwd_entry_put(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
621
mlxsw_afa_fwd_entry_destroy(mlxsw_afa, fwd_entry);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
729
mlxsw_afa_cookie_create(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
744
err = rhashtable_insert_fast(&mlxsw_afa->cookie_ht, &cookie->ht_node,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
754
err = idr_alloc_u32(&mlxsw_afa->cookie_idr, cookie, &cookie_index,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
762
rhashtable_remove_fast(&mlxsw_afa->cookie_ht, &cookie->ht_node,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
769
static void mlxsw_afa_cookie_destroy(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
772
idr_remove(&mlxsw_afa->cookie_idr, cookie->cookie_index);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
773
rhashtable_remove_fast(&mlxsw_afa->cookie_ht, &cookie->ht_node,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
779
mlxsw_afa_cookie_get(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
784
cookie = rhashtable_lookup_fast(&mlxsw_afa->cookie_ht, fa_cookie,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
790
return mlxsw_afa_cookie_create(mlxsw_afa, fa_cookie);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
793
static void mlxsw_afa_cookie_put(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
798
mlxsw_afa_cookie_destroy(mlxsw_afa, cookie);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
803
mlxsw_afa_cookie_lookup(struct mlxsw_afa *mlxsw_afa, u32 cookie_index)
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
810
cookie = idr_find(&mlxsw_afa->cookie_idr, cookie_index);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
869
mlxsw_afa_policer_create(struct mlxsw_afa *mlxsw_afa, u32 fa_index,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
880
err = mlxsw_afa->ops->policer_add(mlxsw_afa->ops_priv, rate_bytes_ps,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
889
err = rhashtable_insert_fast(&mlxsw_afa->policer_ht, &policer->ht_node,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
894
list_add_tail(&policer->list, &mlxsw_afa->policer_list);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
899
mlxsw_afa->ops->policer_del(mlxsw_afa->ops_priv,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
906
static void mlxsw_afa_policer_destroy(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
910
rhashtable_remove_fast(&mlxsw_afa->policer_ht, &policer->ht_node,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
912
mlxsw_afa->ops->policer_del(mlxsw_afa->ops_priv,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
918
mlxsw_afa_policer_get(struct mlxsw_afa *mlxsw_afa, u32 fa_index,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
924
policer = rhashtable_lookup_fast(&mlxsw_afa->policer_ht, &fa_index,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
931
return mlxsw_afa_policer_create(mlxsw_afa, fa_index, rate_bytes_ps,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
935
static void mlxsw_afa_policer_put(struct mlxsw_afa *mlxsw_afa,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
940
mlxsw_afa_policer_destroy(mlxsw_afa, policer);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.h
11
struct mlxsw_afa;
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.h
42
struct mlxsw_afa *mlxsw_afa_create(unsigned int max_acts_per_set,
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.h
45
void mlxsw_afa_destroy(struct mlxsw_afa *mlxsw_afa);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.h
46
struct mlxsw_afa_block *mlxsw_afa_block_create(struct mlxsw_afa *mlxsw_afa);
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.h
57
mlxsw_afa_cookie_lookup(struct mlxsw_afa *mlxsw_afa, u32 cookie_index);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
172
struct mlxsw_afa *afa;