Lines Matching refs:ht
45 int drm_ht_create(struct drm_open_hash *ht, unsigned int order)
49 ht->order = order;
50 ht->table = NULL;
51 if (size <= PAGE_SIZE / sizeof(*ht->table))
52 ht->table = kcalloc(size, sizeof(*ht->table), GFP_KERNEL);
54 ht->table = vzalloc(array_size(size, sizeof(*ht->table)));
55 if (!ht->table) {
62 void drm_ht_verbose_list(struct drm_open_hash *ht, unsigned long key)
69 hashed_key = hash_long(key, ht->order);
71 h_list = &ht->table[hashed_key];
76 static struct hlist_node *drm_ht_find_key(struct drm_open_hash *ht,
83 hashed_key = hash_long(key, ht->order);
84 h_list = &ht->table[hashed_key];
94 static struct hlist_node *drm_ht_find_key_rcu(struct drm_open_hash *ht,
101 hashed_key = hash_long(key, ht->order);
102 h_list = &ht->table[hashed_key];
112 int drm_ht_insert_item(struct drm_open_hash *ht, struct drm_hash_item *item)
120 hashed_key = hash_long(key, ht->order);
121 h_list = &ht->table[hashed_key];
142 int drm_ht_just_insert_please(struct drm_open_hash *ht, struct drm_hash_item *item,
154 ret = drm_ht_insert_item(ht, item);
166 int drm_ht_find_item(struct drm_open_hash *ht, unsigned long key,
171 list = drm_ht_find_key_rcu(ht, key);
179 int drm_ht_remove_key(struct drm_open_hash *ht, unsigned long key)
183 list = drm_ht_find_key(ht, key);
191 int drm_ht_remove_item(struct drm_open_hash *ht, struct drm_hash_item *item)
197 void drm_ht_remove(struct drm_open_hash *ht)
199 if (ht->table) {
200 kvfree(ht->table);
201 ht->table = NULL;