Home | History | Annotate | Download | only in drm

Lines Matching refs:ht

50 int drm_ht_create(struct drm_open_hash *ht, unsigned int order)
54 ht->order = order;
55 ht->table = NULL;
56 if (size <= PAGE_SIZE / sizeof(*ht->table))
57 ht->table = kcalloc(size, sizeof(*ht->table), GFP_KERNEL);
59 ht->table = vzalloc(array_size(size, sizeof(*ht->table)));
60 if (!ht->table) {
68 void drm_ht_verbose_list(struct drm_open_hash *ht, unsigned long key)
75 hashed_key = hash_long(key, ht->order);
77 h_list = &ht->table[hashed_key];
82 static struct hlist_node *drm_ht_find_key(struct drm_open_hash *ht,
89 hashed_key = hash_long(key, ht->order);
90 h_list = &ht->table[hashed_key];
100 static struct hlist_node *drm_ht_find_key_rcu(struct drm_open_hash *ht,
107 hashed_key = hash_long(key, ht->order);
108 h_list = &ht->table[hashed_key];
118 int drm_ht_insert_item(struct drm_open_hash *ht, struct drm_hash_item *item)
126 hashed_key = hash_long(key, ht->order);
127 h_list = &ht->table[hashed_key];
149 int drm_ht_just_insert_please(struct drm_open_hash *ht, struct drm_hash_item *item,
161 ret = drm_ht_insert_item(ht, item);
174 int drm_ht_find_item(struct drm_open_hash *ht, unsigned long key,
179 list = drm_ht_find_key_rcu(ht, key);
188 int drm_ht_remove_key(struct drm_open_hash *ht, unsigned long key)
192 list = drm_ht_find_key(ht, key);
200 int drm_ht_remove_item(struct drm_open_hash *ht, struct drm_hash_item *item)
207 void drm_ht_remove(struct drm_open_hash *ht)
209 if (ht->table) {
210 kvfree(ht->table);
211 ht->table = NULL;