htbl 305 drivers/infiniband/ulp/ipoib/ipoib.h struct ipoib_neigh_hash __rcu *htbl; htbl 1247 drivers/infiniband/ulp/ipoib/ipoib_main.c static u32 ipoib_addr_hash(struct ipoib_neigh_hash *htbl, u8 *daddr) htbl 1260 drivers/infiniband/ulp/ipoib/ipoib_main.c return hv & htbl->mask; htbl 1267 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh_hash *htbl; htbl 1273 drivers/infiniband/ulp/ipoib/ipoib_main.c htbl = rcu_dereference_bh(ntbl->htbl); htbl 1275 drivers/infiniband/ulp/ipoib/ipoib_main.c if (!htbl) htbl 1278 drivers/infiniband/ulp/ipoib/ipoib_main.c hash_val = ipoib_addr_hash(htbl, daddr); htbl 1279 drivers/infiniband/ulp/ipoib/ipoib_main.c for (neigh = rcu_dereference_bh(htbl->buckets[hash_val]); htbl 1304 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh_hash *htbl; htbl 1313 drivers/infiniband/ulp/ipoib/ipoib_main.c htbl = rcu_dereference_protected(ntbl->htbl, htbl 1316 drivers/infiniband/ulp/ipoib/ipoib_main.c if (!htbl) htbl 1323 drivers/infiniband/ulp/ipoib/ipoib_main.c for (i = 0; i < htbl->size; i++) { htbl 1325 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh __rcu **np = &htbl->buckets[i]; htbl 1389 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh_hash *htbl; htbl 1393 drivers/infiniband/ulp/ipoib/ipoib_main.c htbl = rcu_dereference_protected(ntbl->htbl, htbl 1395 drivers/infiniband/ulp/ipoib/ipoib_main.c if (!htbl) { htbl 1403 drivers/infiniband/ulp/ipoib/ipoib_main.c hash_val = ipoib_addr_hash(htbl, daddr); htbl 1404 drivers/infiniband/ulp/ipoib/ipoib_main.c for (neigh = rcu_dereference_protected(htbl->buckets[hash_val], htbl 1430 drivers/infiniband/ulp/ipoib/ipoib_main.c rcu_dereference_protected(htbl->buckets[hash_val], htbl 1432 drivers/infiniband/ulp/ipoib/ipoib_main.c rcu_assign_pointer(htbl->buckets[hash_val], neigh); htbl 1478 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh_hash *htbl; htbl 1483 drivers/infiniband/ulp/ipoib/ipoib_main.c htbl = rcu_dereference_protected(ntbl->htbl, htbl 1485 drivers/infiniband/ulp/ipoib/ipoib_main.c if (!htbl) htbl 1488 drivers/infiniband/ulp/ipoib/ipoib_main.c hash_val = ipoib_addr_hash(htbl, neigh->daddr); htbl 1489 drivers/infiniband/ulp/ipoib/ipoib_main.c np = &htbl->buckets[hash_val]; htbl 1513 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh_hash *htbl; htbl 1518 drivers/infiniband/ulp/ipoib/ipoib_main.c ntbl->htbl = NULL; htbl 1519 drivers/infiniband/ulp/ipoib/ipoib_main.c htbl = kzalloc(sizeof(*htbl), GFP_KERNEL); htbl 1520 drivers/infiniband/ulp/ipoib/ipoib_main.c if (!htbl) htbl 1525 drivers/infiniband/ulp/ipoib/ipoib_main.c kfree(htbl); htbl 1528 drivers/infiniband/ulp/ipoib/ipoib_main.c htbl->size = size; htbl 1529 drivers/infiniband/ulp/ipoib/ipoib_main.c htbl->mask = (size - 1); htbl 1530 drivers/infiniband/ulp/ipoib/ipoib_main.c htbl->buckets = buckets; htbl 1531 drivers/infiniband/ulp/ipoib/ipoib_main.c RCU_INIT_POINTER(ntbl->htbl, htbl); htbl 1532 drivers/infiniband/ulp/ipoib/ipoib_main.c htbl->ntbl = ntbl; htbl 1544 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh_hash *htbl = container_of(head, htbl 1547 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh __rcu **buckets = htbl->buckets; htbl 1548 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh_table *ntbl = htbl->ntbl; htbl 1551 drivers/infiniband/ulp/ipoib/ipoib_main.c kfree(htbl); htbl 1559 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh_hash *htbl; htbl 1566 drivers/infiniband/ulp/ipoib/ipoib_main.c htbl = rcu_dereference_protected(ntbl->htbl, htbl 1569 drivers/infiniband/ulp/ipoib/ipoib_main.c if (!htbl) htbl 1572 drivers/infiniband/ulp/ipoib/ipoib_main.c for (i = 0; i < htbl->size; i++) { htbl 1574 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh __rcu **np = &htbl->buckets[i]; htbl 1599 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh_hash *htbl; htbl 1608 drivers/infiniband/ulp/ipoib/ipoib_main.c htbl = rcu_dereference_protected(ntbl->htbl, htbl 1610 drivers/infiniband/ulp/ipoib/ipoib_main.c if (!htbl) htbl 1617 drivers/infiniband/ulp/ipoib/ipoib_main.c for (i = 0; i < htbl->size; i++) { htbl 1619 drivers/infiniband/ulp/ipoib/ipoib_main.c struct ipoib_neigh __rcu **np = &htbl->buckets[i]; htbl 1633 drivers/infiniband/ulp/ipoib/ipoib_main.c rcu_assign_pointer(ntbl->htbl, NULL); htbl 1634 drivers/infiniband/ulp/ipoib/ipoib_main.c call_rcu(&htbl->rcu, neigh_hash_free_rcu); htbl 553 drivers/media/platform/rcar_jpu.c static void put_htbl(u8 *p, const u8 *htbl, unsigned int len) htbl 559 drivers/media/platform/rcar_jpu.c p[i + j] = htbl[i + 3 - j]; htbl 641 drivers/media/platform/s5p-jpeg/jpeg-core.c const unsigned char *htbl, htbl 647 drivers/media/platform/s5p-jpeg/jpeg-core.c writel((unsigned int)htbl[i], regs + tab + (i * 0x04)); htbl 83 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ste->htbl->miss_list = mlx5dr_ste_get_miss_list(orig_ste); htbl 180 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c new_ste->htbl->miss_list = mlx5dr_ste_get_miss_list(col_ste); htbl 308 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_htbl_put(cur_ste->htbl); htbl 428 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_ste_htbl *prev_htbl = cur_htbl->pointing_ste->htbl; htbl 518 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ste->htbl->ctrl.num_of_collisions++; htbl 519 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ste->htbl->ctrl.num_of_valid_entries++; htbl 610 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static bool dr_rule_need_enlarge_hash(struct mlx5dr_ste_htbl *htbl, htbl 614 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_ste_htbl_ctrl *ctrl = &htbl->ctrl; htbl 616 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (dmn->info.max_log_sw_icm_sz <= htbl->chunk_size) htbl 622 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (dr_get_bits_per_mask(htbl->byte_mask) * BITS_PER_BYTE <= htbl->chunk_size) htbl 696 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_set_hit_addr_by_next_htbl(prev_hw_ste, action_ste->htbl); htbl 1026 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_ste_htbl *htbl = NULL; htbl 1082 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c &htbl); htbl 1114 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (htbl) htbl 1115 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_htbl_put(htbl); htbl 385 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c struct mlx5dr_ste_htbl *htbl, htbl 393 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c if (htbl->chunk->byte_size > dmn->send_ring->max_post_send_size) { htbl 394 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c *iterations = htbl->chunk->byte_size / htbl 401 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c *num_stes = htbl->chunk->num_of_entries; htbl 435 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c send_info.rkey = ste->htbl->chunk->rkey; htbl 441 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c struct mlx5dr_ste_htbl *htbl, htbl 444 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c u32 byte_size = htbl->chunk->byte_size; htbl 452 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c ret = dr_get_tbl_copy_details(dmn, htbl, &data, &byte_size, htbl 466 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c u8 *hw_ste = htbl->ste_arr[ste_index + j].hw_ste; htbl 475 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c htbl->ste_arr[ste_index + j].hw_ste, htbl 487 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c mlx5dr_ste_get_mr_addr(htbl->ste_arr + ste_index); htbl 488 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c send_info.rkey = htbl->chunk->rkey; htbl 502 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c struct mlx5dr_ste_htbl *htbl, htbl 506 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c u32 byte_size = htbl->chunk->byte_size; htbl 513 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c ret = dr_get_tbl_copy_details(dmn, htbl, &data, &byte_size, htbl 527 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c copy_dst = htbl->hw_ste_arr + i * DR_STE_SIZE_REDUCED; htbl 541 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c mlx5dr_ste_get_mr_addr(htbl->ste_arr + ste_index); htbl 542 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c send_info.rkey = htbl->chunk->rkey; htbl 110 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c u32 mlx5dr_ste_calc_hash_index(u8 *hw_ste_p, struct mlx5dr_ste_htbl *htbl) htbl 119 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c if (htbl->chunk->num_of_entries == 1 || htbl->byte_mask == 0) htbl 125 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c if (htbl->byte_mask & bit) htbl 132 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c index = crc32 & (htbl->chunk->num_of_entries - 1); htbl 286 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c u32 index = ste - ste->htbl->ste_arr; htbl 288 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c return ste->htbl->chunk->icm_addr + DR_STE_SIZE * index; htbl 293 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c u32 index = ste - ste->htbl->ste_arr; htbl 295 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c return ste->htbl->chunk->mr_addr + DR_STE_SIZE * index; htbl 300 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c u32 index = ste - ste->htbl->ste_arr; htbl 302 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c return &ste->htbl->miss_list[index]; htbl 395 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c next_miss_htbl = next_ste->htbl; htbl 463 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c stats_tbl = first_ste->htbl; htbl 507 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c mlx5dr_htbl_put(ste->htbl); htbl 566 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_ste_htbl *htbl, htbl 572 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c mlx5dr_ste_init(formatted_ste, htbl->lu_type, nic_dmn->ste_type, gvmi); htbl 583 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_ste_htbl *htbl, htbl 591 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl, htbl 595 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c return mlx5dr_send_postsend_formatted_htbl(dmn, htbl, formatted_ste, update_hw_ste); htbl 647 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c static void dr_ste_set_ctrl(struct mlx5dr_ste_htbl *htbl) htbl 649 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_ste_htbl_ctrl *ctrl = &htbl->ctrl; htbl 652 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl->ctrl.may_grow = true; htbl 654 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c if (htbl->chunk_size == DR_CHUNK_SIZE_MAX - 1 || !htbl->byte_mask) htbl 655 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl->ctrl.may_grow = false; htbl 658 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c num_of_entries = mlx5dr_icm_pool_chunk_size_to_entries(htbl->chunk_size); htbl 667 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_ste_htbl *htbl; htbl 670 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl = kzalloc(sizeof(*htbl), GFP_KERNEL); htbl 671 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c if (!htbl) htbl 678 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl->chunk = chunk; htbl 679 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl->lu_type = lu_type; htbl 680 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl->byte_mask = byte_mask; htbl 681 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl->ste_arr = chunk->ste_arr; htbl 682 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl->hw_ste_arr = chunk->hw_ste_arr; htbl 683 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl->miss_list = chunk->miss_list; htbl 684 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl->refcount = 0; htbl 687 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_ste *ste = &htbl->ste_arr[i]; htbl 689 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c ste->hw_ste = htbl->hw_ste_arr + i * DR_STE_SIZE_REDUCED; htbl 690 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c ste->htbl = htbl; htbl 693 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c INIT_LIST_HEAD(&htbl->miss_list[i]); htbl 697 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c htbl->chunk_size = chunk_size; htbl 698 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c dr_ste_set_ctrl(htbl); htbl 699 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c return htbl; htbl 702 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c kfree(htbl); htbl 706 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c int mlx5dr_ste_htbl_free(struct mlx5dr_ste_htbl *htbl) htbl 708 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c if (htbl->refcount) htbl 711 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c mlx5dr_icm_free_chunk(htbl->chunk); htbl 712 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c kfree(htbl); htbl 129 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_ste_htbl *htbl; htbl 199 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h int mlx5dr_ste_htbl_free(struct mlx5dr_ste_htbl *htbl); htbl 201 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h static inline void mlx5dr_htbl_put(struct mlx5dr_ste_htbl *htbl) htbl 203 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h htbl->refcount--; htbl 204 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h if (!htbl->refcount) htbl 205 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h mlx5dr_ste_htbl_free(htbl); htbl 208 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h static inline void mlx5dr_htbl_get(struct mlx5dr_ste_htbl *htbl) htbl 210 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h htbl->refcount++; htbl 214 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h u32 mlx5dr_ste_calc_hash_index(u8 *hw_ste_p, struct mlx5dr_ste_htbl *htbl); htbl 955 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_ste_htbl *htbl, htbl 960 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_ste_htbl *htbl, htbl 1040 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_ste_htbl *htbl, htbl 1043 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_ste_htbl *htbl,