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,