Lines Matching refs:entry
23 struct mlx5_hlist_entry *entry) in mlx5_hlist_default_remove_cb() argument
25 mlx5_free(entry); in mlx5_hlist_default_remove_cb()
30 struct mlx5_hlist_entry *entry, in mlx5_hlist_default_match_cb() argument
33 return entry->key != key; in mlx5_hlist_default_match_cb()
132 struct mlx5_hlist_entry *entry; in mlx5_hlist_register() local
139 entry = hlist_lookup(h, key, ctx, true); in mlx5_hlist_register()
140 if (entry) in mlx5_hlist_register()
141 return entry; in mlx5_hlist_register()
147 entry = __hlist_lookup(h, key, ctx, true); in mlx5_hlist_register()
148 if (entry) in mlx5_hlist_register()
156 entry = h->cb_create(h, key, ctx); in mlx5_hlist_register()
157 if (!entry) { in mlx5_hlist_register()
162 entry->key = key; in mlx5_hlist_register()
163 entry->ref_cnt = 1; in mlx5_hlist_register()
164 LIST_INSERT_HEAD(first, entry, next); in mlx5_hlist_register()
167 h->name, (void *)entry, entry->ref_cnt); in mlx5_hlist_register()
170 return entry; in mlx5_hlist_register()
174 mlx5_hlist_unregister(struct mlx5_hlist *h, struct mlx5_hlist_entry *entry) in mlx5_hlist_unregister() argument
177 MLX5_ASSERT(entry && entry->ref_cnt && entry->next.le_prev); in mlx5_hlist_unregister()
179 h->name, (void *)entry, entry->ref_cnt); in mlx5_hlist_unregister()
180 if (--entry->ref_cnt) { in mlx5_hlist_unregister()
184 LIST_REMOVE(entry, next); in mlx5_hlist_unregister()
186 entry->next.le_prev = NULL; in mlx5_hlist_unregister()
187 h->cb_remove(h, entry); in mlx5_hlist_unregister()
190 h->name, (void *)entry); in mlx5_hlist_unregister()
198 struct mlx5_hlist_entry *entry; in mlx5_hlist_destroy() local
204 entry = LIST_FIRST(&h->heads[idx]); in mlx5_hlist_destroy()
205 LIST_REMOVE(entry, next); in mlx5_hlist_destroy()
214 h->cb_remove(h, entry); in mlx5_hlist_destroy()
224 struct mlx5_cache_entry *entry __rte_unused, in mlx5_clist_default_create_cb()
232 struct mlx5_cache_entry *entry) in mlx5_clist_default_remove_cb() argument
234 mlx5_free(entry); in mlx5_clist_default_remove_cb()
263 struct mlx5_cache_entry *entry; in __cache_lookup() local
265 LIST_FOREACH(entry, &list->head, next) { in __cache_lookup()
266 if (list->cb_match(list, entry, ctx)) in __cache_lookup()
269 __atomic_add_fetch(&entry->ref_cnt, 1, in __cache_lookup()
272 list->name, (void *)entry, entry->ref_cnt); in __cache_lookup()
276 return entry; in __cache_lookup()
282 struct mlx5_cache_entry *entry; in cache_lookup() local
285 entry = __cache_lookup(list, ctx, reuse); in cache_lookup()
287 return entry; in cache_lookup()
299 struct mlx5_cache_entry *entry; in mlx5_cache_register() local
305 entry = cache_lookup(list, ctx, true); in mlx5_cache_register()
306 if (entry) in mlx5_cache_register()
307 return entry; in mlx5_cache_register()
313 entry = __cache_lookup(list, ctx, true); in mlx5_cache_register()
314 if (entry) in mlx5_cache_register()
317 entry = list->cb_create(list, entry, ctx); in mlx5_cache_register()
318 if (!entry) { in mlx5_cache_register()
320 list->name, (void *)entry); in mlx5_cache_register()
323 entry->ref_cnt = 1; in mlx5_cache_register()
324 LIST_INSERT_HEAD(&list->head, entry, next); in mlx5_cache_register()
328 list->name, (void *)entry, entry->ref_cnt); in mlx5_cache_register()
331 return entry; in mlx5_cache_register()
336 struct mlx5_cache_entry *entry) in mlx5_cache_unregister() argument
339 MLX5_ASSERT(entry && entry->next.le_prev); in mlx5_cache_unregister()
341 list->name, (void *)entry, entry->ref_cnt); in mlx5_cache_unregister()
342 if (--entry->ref_cnt) { in mlx5_cache_unregister()
348 LIST_REMOVE(entry, next); in mlx5_cache_unregister()
349 list->cb_remove(list, entry); in mlx5_cache_unregister()
352 list->name, (void *)entry); in mlx5_cache_unregister()
359 struct mlx5_cache_entry *entry; in mlx5_cache_list_destroy() local
364 entry = LIST_FIRST(&list->head); in mlx5_cache_list_destroy()
365 LIST_REMOVE(entry, next); in mlx5_cache_list_destroy()
366 list->cb_remove(list, entry); in mlx5_cache_list_destroy()
368 list->name, (void *)entry); in mlx5_cache_list_destroy()
617 void *entry = mlx5_ipool_malloc(pool, idx); in mlx5_ipool_zmalloc() local
619 if (entry && pool->cfg.size) in mlx5_ipool_zmalloc()
620 memset(entry, 0, pool->cfg.size); in mlx5_ipool_zmalloc()
621 return entry; in mlx5_ipool_zmalloc()
870 data->word = w_e_tbl->entry[entry_idx].data; in __l3t_get_entry()
871 if (w_e_tbl->entry[entry_idx].data) in __l3t_get_entry()
872 w_e_tbl->entry[entry_idx].ref_cnt++; in __l3t_get_entry()
876 data->dword = dw_e_tbl->entry[entry_idx].data; in __l3t_get_entry()
877 if (dw_e_tbl->entry[entry_idx].data) in __l3t_get_entry()
878 dw_e_tbl->entry[entry_idx].ref_cnt++; in __l3t_get_entry()
882 data->qword = qw_e_tbl->entry[entry_idx].data; in __l3t_get_entry()
883 if (qw_e_tbl->entry[entry_idx].data) in __l3t_get_entry()
884 qw_e_tbl->entry[entry_idx].ref_cnt++; in __l3t_get_entry()
888 data->ptr = ptr_e_tbl->entry[entry_idx].data; in __l3t_get_entry()
889 if (ptr_e_tbl->entry[entry_idx].data) in __l3t_get_entry()
890 ptr_e_tbl->entry[entry_idx].ref_cnt++; in __l3t_get_entry()
935 MLX5_ASSERT(w_e_tbl->entry[entry_idx].ref_cnt); in mlx5_l3t_clear_entry()
936 ret = --w_e_tbl->entry[entry_idx].ref_cnt; in mlx5_l3t_clear_entry()
939 w_e_tbl->entry[entry_idx].data = 0; in mlx5_l3t_clear_entry()
944 MLX5_ASSERT(dw_e_tbl->entry[entry_idx].ref_cnt); in mlx5_l3t_clear_entry()
945 ret = --dw_e_tbl->entry[entry_idx].ref_cnt; in mlx5_l3t_clear_entry()
948 dw_e_tbl->entry[entry_idx].data = 0; in mlx5_l3t_clear_entry()
953 MLX5_ASSERT(qw_e_tbl->entry[entry_idx].ref_cnt); in mlx5_l3t_clear_entry()
954 ret = --qw_e_tbl->entry[entry_idx].ref_cnt; in mlx5_l3t_clear_entry()
957 qw_e_tbl->entry[entry_idx].data = 0; in mlx5_l3t_clear_entry()
962 MLX5_ASSERT(ptr_e_tbl->entry[entry_idx].ref_cnt); in mlx5_l3t_clear_entry()
963 ret = --ptr_e_tbl->entry[entry_idx].ref_cnt; in mlx5_l3t_clear_entry()
966 ptr_e_tbl->entry[entry_idx].data = NULL; in mlx5_l3t_clear_entry()
1053 if (w_e_tbl->entry[entry_idx].data) { in __l3t_set_entry()
1054 data->word = w_e_tbl->entry[entry_idx].data; in __l3t_set_entry()
1055 w_e_tbl->entry[entry_idx].ref_cnt++; in __l3t_set_entry()
1059 w_e_tbl->entry[entry_idx].data = data->word; in __l3t_set_entry()
1060 w_e_tbl->entry[entry_idx].ref_cnt = 1; in __l3t_set_entry()
1065 if (dw_e_tbl->entry[entry_idx].data) { in __l3t_set_entry()
1066 data->dword = dw_e_tbl->entry[entry_idx].data; in __l3t_set_entry()
1067 dw_e_tbl->entry[entry_idx].ref_cnt++; in __l3t_set_entry()
1071 dw_e_tbl->entry[entry_idx].data = data->dword; in __l3t_set_entry()
1072 dw_e_tbl->entry[entry_idx].ref_cnt = 1; in __l3t_set_entry()
1077 if (qw_e_tbl->entry[entry_idx].data) { in __l3t_set_entry()
1078 data->qword = qw_e_tbl->entry[entry_idx].data; in __l3t_set_entry()
1079 qw_e_tbl->entry[entry_idx].ref_cnt++; in __l3t_set_entry()
1083 qw_e_tbl->entry[entry_idx].data = data->qword; in __l3t_set_entry()
1084 qw_e_tbl->entry[entry_idx].ref_cnt = 1; in __l3t_set_entry()
1089 if (ptr_e_tbl->entry[entry_idx].data) { in __l3t_set_entry()
1090 data->ptr = ptr_e_tbl->entry[entry_idx].data; in __l3t_set_entry()
1091 ptr_e_tbl->entry[entry_idx].ref_cnt++; in __l3t_set_entry()
1095 ptr_e_tbl->entry[entry_idx].data = data->ptr; in __l3t_set_entry()
1096 ptr_e_tbl->entry[entry_idx].ref_cnt = 1; in __l3t_set_entry()