Lines Matching refs:hash
167 if (!bat_priv->dat.hash) in __batadv_dat_purge()
170 for (i = 0; i < bat_priv->dat.hash->size; i++) { in __batadv_dat_purge()
171 head = &bat_priv->dat.hash->table[i]; in __batadv_dat_purge()
172 list_lock = &bat_priv->dat.hash->list_locks[i]; in __batadv_dat_purge()
288 u32 hash = 0; in batadv_hash_dat() local
296 hash += key[i]; in batadv_hash_dat()
297 hash += (hash << 10); in batadv_hash_dat()
298 hash ^= (hash >> 6); in batadv_hash_dat()
304 hash += key[i]; in batadv_hash_dat()
305 hash += (hash << 10); in batadv_hash_dat()
306 hash ^= (hash >> 6); in batadv_hash_dat()
309 hash += (hash << 3); in batadv_hash_dat()
310 hash ^= (hash >> 11); in batadv_hash_dat()
311 hash += (hash << 15); in batadv_hash_dat()
313 return hash % size; in batadv_hash_dat()
331 struct batadv_hashtable *hash = bat_priv->dat.hash; in batadv_dat_entry_hash_find() local
334 if (!hash) in batadv_dat_entry_hash_find()
340 index = batadv_hash_dat(&to_find, hash->size); in batadv_dat_entry_hash_find()
341 head = &hash->table[index]; in batadv_dat_entry_hash_find()
396 hash_added = batadv_hash_add(bat_priv->dat.hash, batadv_compare_dat, in batadv_dat_entry_add()
567 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_choose_next_candidate() local
579 for (i = 0; i < hash->size; i++) { in batadv_choose_next_candidate()
580 head = &hash->table[i]; in batadv_choose_next_candidate()
795 if (!bat_priv->dat.hash) in batadv_dat_hash_free()
800 batadv_hash_destroy(bat_priv->dat.hash); in batadv_dat_hash_free()
802 bat_priv->dat.hash = NULL; in batadv_dat_hash_free()
813 if (bat_priv->dat.hash) in batadv_dat_init()
816 bat_priv->dat.hash = batadv_hash_new(1024); in batadv_dat_init()
818 if (!bat_priv->dat.hash) in batadv_dat_init()
902 struct batadv_hashtable *hash, unsigned int bucket, in batadv_dat_cache_dump_bucket() argument
908 spin_lock_bh(&hash->list_locks[bucket]); in batadv_dat_cache_dump_bucket()
909 cb->seq = atomic_read(&hash->generation) << 1 | 1; in batadv_dat_cache_dump_bucket()
911 hlist_for_each_entry(dat_entry, &hash->table[bucket], hash_entry) { in batadv_dat_cache_dump_bucket()
916 spin_unlock_bh(&hash->list_locks[bucket]); in batadv_dat_cache_dump_bucket()
925 spin_unlock_bh(&hash->list_locks[bucket]); in batadv_dat_cache_dump_bucket()
943 struct batadv_hashtable *hash; in batadv_dat_cache_dump() local
962 hash = bat_priv->dat.hash; in batadv_dat_cache_dump()
970 while (bucket < hash->size) { in batadv_dat_cache_dump()
971 if (batadv_dat_cache_dump_bucket(msg, portid, cb, hash, bucket, in batadv_dat_cache_dump()