/kernel/linux/linux-5.10/drivers/infiniband/ulp/ipoib/ |
H A D | ipoib_main.c | 1245 static u32 ipoib_addr_hash(struct ipoib_neigh_hash *htbl, u8 *daddr) in ipoib_addr_hash() argument 1258 return hv & htbl->mask; in ipoib_addr_hash() 1265 struct ipoib_neigh_hash *htbl; in ipoib_neigh_get() local 1271 htbl = rcu_dereference_bh(ntbl->htbl); in ipoib_neigh_get() 1273 if (!htbl) in ipoib_neigh_get() 1276 hash_val = ipoib_addr_hash(htbl, daddr); in ipoib_neigh_get() 1277 for (neigh = rcu_dereference_bh(htbl->buckets[hash_val]); in ipoib_neigh_get() 1302 struct ipoib_neigh_hash *htbl; in __ipoib_reap_neigh() local 1311 htbl in __ipoib_reap_neigh() 1387 struct ipoib_neigh_hash *htbl; ipoib_neigh_alloc() local 1476 struct ipoib_neigh_hash *htbl; ipoib_neigh_free() local 1511 struct ipoib_neigh_hash *htbl; ipoib_neigh_hash_init() local 1542 struct ipoib_neigh_hash *htbl = container_of(head, neigh_hash_free_rcu() local 1557 struct ipoib_neigh_hash *htbl; ipoib_del_neighs_by_gid() local 1597 struct ipoib_neigh_hash *htbl; ipoib_flush_neighs() local [all...] |
H A D | ipoib.h | 305 struct ipoib_neigh_hash __rcu *htbl; member
|
/kernel/linux/linux-6.6/drivers/infiniband/ulp/ipoib/ |
H A D | ipoib_main.c | 1254 static u32 ipoib_addr_hash(struct ipoib_neigh_hash *htbl, u8 *daddr) in ipoib_addr_hash() argument 1267 return hv & htbl->mask; in ipoib_addr_hash() 1274 struct ipoib_neigh_hash *htbl; in ipoib_neigh_get() local 1280 htbl = rcu_dereference_bh(ntbl->htbl); in ipoib_neigh_get() 1282 if (!htbl) in ipoib_neigh_get() 1285 hash_val = ipoib_addr_hash(htbl, daddr); in ipoib_neigh_get() 1286 for (neigh = rcu_dereference_bh(htbl->buckets[hash_val]); in ipoib_neigh_get() 1311 struct ipoib_neigh_hash *htbl; in __ipoib_reap_neigh() local 1320 htbl in __ipoib_reap_neigh() 1396 struct ipoib_neigh_hash *htbl; ipoib_neigh_alloc() local 1485 struct ipoib_neigh_hash *htbl; ipoib_neigh_free() local 1520 struct ipoib_neigh_hash *htbl; ipoib_neigh_hash_init() local 1551 struct ipoib_neigh_hash *htbl = container_of(head, neigh_hash_free_rcu() local 1566 struct ipoib_neigh_hash *htbl; ipoib_del_neighs_by_gid() local 1606 struct ipoib_neigh_hash *htbl; ipoib_flush_neighs() local [all...] |
H A D | ipoib.h | 305 struct ipoib_neigh_hash __rcu *htbl; member
|
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
H A D | dr_ste.c | 27 u32 mlx5dr_ste_calc_hash_index(u8 *hw_ste_p, struct mlx5dr_ste_htbl *htbl) in mlx5dr_ste_calc_hash_index() argument 29 u32 num_entries = mlx5dr_icm_pool_get_chunk_num_of_entries(htbl->chunk); in mlx5dr_ste_calc_hash_index() 37 if (num_entries == 1 || htbl->byte_mask == 0) in mlx5dr_ste_calc_hash_index() 43 if (htbl->byte_mask & bit) in mlx5dr_ste_calc_hash_index() 126 u64 base_icm_addr = mlx5dr_icm_pool_get_chunk_icm_addr(ste->htbl->chunk); in mlx5dr_ste_get_icm_addr() 127 u32 index = ste - ste->htbl->chunk->ste_arr; in mlx5dr_ste_get_icm_addr() 134 u32 index = ste - ste->htbl->chunk->ste_arr; in mlx5dr_ste_get_mr_addr() 136 return mlx5dr_icm_pool_get_chunk_mr_addr(ste->htbl->chunk) + DR_STE_SIZE * index; in mlx5dr_ste_get_mr_addr() 141 u64 index = ste - ste->htbl->chunk->ste_arr; in mlx5dr_ste_get_hw_ste() 143 return ste->htbl in mlx5dr_ste_get_hw_ste() 401 mlx5dr_ste_set_formatted_ste(struct mlx5dr_ste_ctx *ste_ctx, u16 gvmi, enum mlx5dr_domain_nic_type nic_type, struct mlx5dr_ste_htbl *htbl, u8 *formatted_ste, struct mlx5dr_htbl_connect_info *connect_info) mlx5dr_ste_set_formatted_ste() argument 427 mlx5dr_ste_htbl_init_and_postsend(struct mlx5dr_domain *dmn, struct mlx5dr_domain_rx_tx *nic_dmn, struct mlx5dr_ste_htbl *htbl, struct mlx5dr_htbl_connect_info *connect_info, bool update_hw_ste) mlx5dr_ste_htbl_init_and_postsend() argument 501 struct mlx5dr_ste_htbl *htbl; mlx5dr_ste_htbl_alloc() local 538 mlx5dr_ste_htbl_free(struct mlx5dr_ste_htbl *htbl) mlx5dr_ste_htbl_free() argument [all...] |
H A D | dr_rule.c | 99 ste->htbl->pointing_ste = orig_ste->htbl->pointing_ste; in dr_rule_create_collision_entry() 102 ste->htbl->chunk->miss_list = mlx5dr_ste_get_miss_list(orig_ste); in dr_rule_create_collision_entry() 207 new_ste->htbl->pointing_ste = col_ste->htbl->pointing_ste; in dr_rule_rehash_handle_collision() 210 new_ste->htbl->chunk->miss_list = mlx5dr_ste_get_miss_list(col_ste); in dr_rule_rehash_handle_collision() 338 mlx5dr_htbl_put(cur_ste->htbl); in dr_rule_rehash_copy_miss_list() 469 struct mlx5dr_ste_htbl *prev_htbl = cur_htbl->pointing_ste->htbl; in dr_rule_rehash_htbl() 564 ste->htbl->ctrl.num_of_collisions++; in dr_rule_handle_collision() 565 ste->htbl in dr_rule_handle_collision() 687 dr_rule_need_enlarge_hash(struct mlx5dr_ste_htbl *htbl, struct mlx5dr_domain *dmn, struct mlx5dr_domain_rx_tx *nic_dmn) dr_rule_need_enlarge_hash() argument 1125 struct mlx5dr_ste_htbl *htbl = NULL; dr_rule_create_rule_nic() local [all...] |
H A D | dr_types.h | 168 /* attached to the miss_list head at each htbl entry */ 171 /* this ste is member of htbl */ 172 struct mlx5dr_ste_htbl *htbl; member 233 int mlx5dr_ste_htbl_free(struct mlx5dr_ste_htbl *htbl); 235 static inline void mlx5dr_htbl_put(struct mlx5dr_ste_htbl *htbl) in mlx5dr_htbl_put() argument 237 htbl->refcount--; in mlx5dr_htbl_put() 238 if (!htbl->refcount) in mlx5dr_htbl_put() 239 mlx5dr_ste_htbl_free(htbl); in mlx5dr_htbl_put() 242 static inline void mlx5dr_htbl_get(struct mlx5dr_ste_htbl *htbl) in mlx5dr_htbl_get() argument 244 htbl in mlx5dr_htbl_get() 1261 mlx5dr_ste_htbl_increase_threshold(struct mlx5dr_ste_htbl *htbl) mlx5dr_ste_htbl_increase_threshold() argument 1271 mlx5dr_ste_htbl_may_grow(struct mlx5dr_ste_htbl *htbl) mlx5dr_ste_htbl_may_grow() argument [all...] |
H A D | dr_send.c | 655 struct mlx5dr_ste_htbl *htbl, in dr_get_tbl_copy_details() 661 u32 chunk_byte_size = mlx5dr_icm_pool_get_chunk_byte_size(htbl->chunk); in dr_get_tbl_copy_details() 671 *num_stes = mlx5dr_icm_pool_get_chunk_num_of_entries(htbl->chunk); in dr_get_tbl_copy_details() 707 send_info.rkey = mlx5dr_icm_pool_get_chunk_rkey(ste->htbl->chunk); in mlx5dr_send_postsend_ste() 713 struct mlx5dr_ste_htbl *htbl, in mlx5dr_send_postsend_htbl() 716 u32 byte_size = mlx5dr_icm_pool_get_chunk_byte_size(htbl->chunk); in mlx5dr_send_postsend_htbl() 724 ret = dr_get_tbl_copy_details(dmn, htbl, &data, &byte_size, in mlx5dr_send_postsend_htbl() 740 struct mlx5dr_ste *ste = &htbl->chunk->ste_arr[ste_index + j]; in mlx5dr_send_postsend_htbl() 749 htbl->chunk->hw_ste_arr + in mlx5dr_send_postsend_htbl() 766 mlx5dr_ste_get_mr_addr(htbl in mlx5dr_send_postsend_htbl() 654 dr_get_tbl_copy_details(struct mlx5dr_domain *dmn, struct mlx5dr_ste_htbl *htbl, u8 **data, u32 *byte_size, int *iterations, int *num_stes) dr_get_tbl_copy_details() argument 712 mlx5dr_send_postsend_htbl(struct mlx5dr_domain *dmn, struct mlx5dr_ste_htbl *htbl, u8 *formatted_ste, u8 *mask) mlx5dr_send_postsend_htbl() argument 780 mlx5dr_send_postsend_formatted_htbl(struct mlx5dr_domain *dmn, struct mlx5dr_ste_htbl *htbl, u8 *ste_init_data, bool update_hw_ste) mlx5dr_send_postsend_formatted_htbl() argument [all...] |
H A D | dr_icm_pool.c | 500 void mlx5dr_icm_pool_free_htbl(struct mlx5dr_icm_pool *pool, struct mlx5dr_ste_htbl *htbl) in mlx5dr_icm_pool_free_htbl() argument 502 kmem_cache_free(pool->dmn->htbls_kmem_cache, htbl); in mlx5dr_icm_pool_free_htbl()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
H A D | dr_ste.c | 119 u32 mlx5dr_ste_calc_hash_index(u8 *hw_ste_p, struct mlx5dr_ste_htbl *htbl) in mlx5dr_ste_calc_hash_index() argument 128 if (htbl->chunk->num_of_entries == 1 || htbl->byte_mask == 0) in mlx5dr_ste_calc_hash_index() 134 if (htbl->byte_mask & bit) in mlx5dr_ste_calc_hash_index() 141 index = crc32 & (htbl->chunk->num_of_entries - 1); in mlx5dr_ste_calc_hash_index() 302 u32 index = ste - ste->htbl->ste_arr; in mlx5dr_ste_get_icm_addr() 304 return ste->htbl->chunk->icm_addr + DR_STE_SIZE * index; in mlx5dr_ste_get_icm_addr() 309 u32 index = ste - ste->htbl->ste_arr; in mlx5dr_ste_get_mr_addr() 311 return ste->htbl->chunk->mr_addr + DR_STE_SIZE * index; in mlx5dr_ste_get_mr_addr() 316 u32 index = ste - ste->htbl in mlx5dr_ste_get_miss_list() 561 mlx5dr_ste_set_formatted_ste(u16 gvmi, struct mlx5dr_domain_rx_tx *nic_dmn, struct mlx5dr_ste_htbl *htbl, u8 *formatted_ste, struct mlx5dr_htbl_connect_info *connect_info) mlx5dr_ste_set_formatted_ste() argument 578 mlx5dr_ste_htbl_init_and_postsend(struct mlx5dr_domain *dmn, struct mlx5dr_domain_rx_tx *nic_dmn, struct mlx5dr_ste_htbl *htbl, struct mlx5dr_htbl_connect_info *connect_info, bool update_hw_ste) mlx5dr_ste_htbl_init_and_postsend() argument 644 dr_ste_set_ctrl(struct mlx5dr_ste_htbl *htbl) dr_ste_set_ctrl() argument 664 struct mlx5dr_ste_htbl *htbl; mlx5dr_ste_htbl_alloc() local 703 mlx5dr_ste_htbl_free(struct mlx5dr_ste_htbl *htbl) mlx5dr_ste_htbl_free() argument [all...] |
H A D | dr_types.h | 128 /* attached to the miss_list head at each htbl entry */ 134 /* this ste is member of htbl */ 135 struct mlx5dr_ste_htbl *htbl; member 205 int mlx5dr_ste_htbl_free(struct mlx5dr_ste_htbl *htbl); 207 static inline void mlx5dr_htbl_put(struct mlx5dr_ste_htbl *htbl) in mlx5dr_htbl_put() argument 209 htbl->refcount--; in mlx5dr_htbl_put() 210 if (!htbl->refcount) in mlx5dr_htbl_put() 211 mlx5dr_ste_htbl_free(htbl); in mlx5dr_htbl_put() 214 static inline void mlx5dr_htbl_get(struct mlx5dr_ste_htbl *htbl) in mlx5dr_htbl_get() argument 216 htbl in mlx5dr_htbl_get() [all...] |
H A D | dr_send.c | 388 struct mlx5dr_ste_htbl *htbl, in dr_get_tbl_copy_details() 396 if (htbl->chunk->byte_size > dmn->send_ring->max_post_send_size) { in dr_get_tbl_copy_details() 397 *iterations = htbl->chunk->byte_size / in dr_get_tbl_copy_details() 404 *num_stes = htbl->chunk->num_of_entries; in dr_get_tbl_copy_details() 438 send_info.rkey = ste->htbl->chunk->rkey; in mlx5dr_send_postsend_ste() 444 struct mlx5dr_ste_htbl *htbl, in mlx5dr_send_postsend_htbl() 447 u32 byte_size = htbl->chunk->byte_size; in mlx5dr_send_postsend_htbl() 455 ret = dr_get_tbl_copy_details(dmn, htbl, &data, &byte_size, in mlx5dr_send_postsend_htbl() 469 struct mlx5dr_ste *ste = &htbl->ste_arr[ste_index + j]; in mlx5dr_send_postsend_htbl() 478 htbl in mlx5dr_send_postsend_htbl() 387 dr_get_tbl_copy_details(struct mlx5dr_domain *dmn, struct mlx5dr_ste_htbl *htbl, u8 **data, u32 *byte_size, int *iterations, int *num_stes) dr_get_tbl_copy_details() argument 443 mlx5dr_send_postsend_htbl(struct mlx5dr_domain *dmn, struct mlx5dr_ste_htbl *htbl, u8 *formatted_ste, u8 *mask) mlx5dr_send_postsend_htbl() argument 504 mlx5dr_send_postsend_formatted_htbl(struct mlx5dr_domain *dmn, struct mlx5dr_ste_htbl *htbl, u8 *ste_init_data, bool update_hw_ste) mlx5dr_send_postsend_formatted_htbl() argument [all...] |
H A D | dr_rule.c | 83 ste->htbl->miss_list = mlx5dr_ste_get_miss_list(orig_ste); in dr_rule_create_collision_entry() 180 new_ste->htbl->miss_list = mlx5dr_ste_get_miss_list(col_ste); in dr_rule_rehash_handle_collision() 308 mlx5dr_htbl_put(cur_ste->htbl); in dr_rule_rehash_copy_miss_list() 428 struct mlx5dr_ste_htbl *prev_htbl = cur_htbl->pointing_ste->htbl; in dr_rule_rehash_htbl() 518 ste->htbl->ctrl.num_of_collisions++; in dr_rule_handle_collision() 519 ste->htbl->ctrl.num_of_valid_entries++; in dr_rule_handle_collision() 609 static bool dr_rule_need_enlarge_hash(struct mlx5dr_ste_htbl *htbl, in dr_rule_need_enlarge_hash() argument 613 struct mlx5dr_ste_htbl_ctrl *ctrl = &htbl->ctrl; in dr_rule_need_enlarge_hash() 615 if (dmn->info.max_log_sw_icm_sz <= htbl->chunk_size) in dr_rule_need_enlarge_hash() 621 if (dr_get_bits_per_mask(htbl in dr_rule_need_enlarge_hash() 1025 struct mlx5dr_ste_htbl *htbl = NULL; dr_rule_create_rule_nic() local [all...] |
/kernel/linux/linux-5.10/drivers/media/platform/ |
H A D | rcar_jpu.c | 553 static void put_htbl(u8 *p, const u8 *htbl, unsigned int len) in put_htbl() argument 559 p[i + j] = htbl[i + 3 - j]; in put_htbl()
|
/kernel/linux/linux-6.6/drivers/media/platform/renesas/ |
H A D | rcar_jpu.c | 546 static void put_htbl(u8 *p, const u8 *htbl, unsigned int len) in put_htbl() argument 552 p[i + j] = htbl[i + 3 - j]; in put_htbl()
|
/kernel/linux/linux-5.10/drivers/media/platform/s5p-jpeg/ |
H A D | jpeg-core.c | 642 const unsigned char *htbl, in s5p_jpeg_set_htbl() 648 writel((unsigned int)htbl[i], regs + tab + (i * 0x04)); in s5p_jpeg_set_htbl() 641 s5p_jpeg_set_htbl(void __iomem *regs, const unsigned char *htbl, unsigned long tab, int len) s5p_jpeg_set_htbl() argument
|
/kernel/linux/linux-6.6/drivers/media/platform/samsung/s5p-jpeg/ |
H A D | jpeg-core.c | 642 const unsigned char *htbl, in s5p_jpeg_set_htbl() 648 writel((unsigned int)htbl[i], regs + tab + (i * 0x04)); in s5p_jpeg_set_htbl() 641 s5p_jpeg_set_htbl(void __iomem *regs, const unsigned char *htbl, unsigned long tab, int len) s5p_jpeg_set_htbl() argument
|