Lines Matching refs:ht

41 int drm_ht_create(struct drm_open_hash *ht, unsigned int order)  in drm_ht_create()  argument
45 ht->order = order; in drm_ht_create()
46 ht->table = NULL; in drm_ht_create()
47 if (size <= PAGE_SIZE / sizeof(*ht->table)) in drm_ht_create()
48 ht->table = kcalloc(size, sizeof(*ht->table), GFP_KERNEL); in drm_ht_create()
50 ht->table = vzalloc(size*sizeof(*ht->table)); in drm_ht_create()
51 if (!ht->table) { in drm_ht_create()
59 void drm_ht_verbose_list(struct drm_open_hash *ht, unsigned long key) in drm_ht_verbose_list() argument
66 hashed_key = hash_long(key, ht->order); in drm_ht_verbose_list()
68 h_list = &ht->table[hashed_key]; in drm_ht_verbose_list()
73 static struct hlist_node *drm_ht_find_key(struct drm_open_hash *ht, in drm_ht_find_key() argument
80 hashed_key = hash_long(key, ht->order); in drm_ht_find_key()
81 h_list = &ht->table[hashed_key]; in drm_ht_find_key()
91 static struct hlist_node *drm_ht_find_key_rcu(struct drm_open_hash *ht, in drm_ht_find_key_rcu() argument
98 hashed_key = hash_long(key, ht->order); in drm_ht_find_key_rcu()
99 h_list = &ht->table[hashed_key]; in drm_ht_find_key_rcu()
109 int drm_ht_insert_item(struct drm_open_hash *ht, struct drm_hash_item *item) in drm_ht_insert_item() argument
117 hashed_key = hash_long(key, ht->order); in drm_ht_insert_item()
118 h_list = &ht->table[hashed_key]; in drm_ht_insert_item()
140 int drm_ht_just_insert_please(struct drm_open_hash *ht, struct drm_hash_item *item, in drm_ht_just_insert_please() argument
152 ret = drm_ht_insert_item(ht, item); in drm_ht_just_insert_please()
165 int drm_ht_find_item(struct drm_open_hash *ht, unsigned long key, in drm_ht_find_item() argument
170 list = drm_ht_find_key_rcu(ht, key); in drm_ht_find_item()
179 int drm_ht_remove_key(struct drm_open_hash *ht, unsigned long key) in drm_ht_remove_key() argument
183 list = drm_ht_find_key(ht, key); in drm_ht_remove_key()
191 int drm_ht_remove_item(struct drm_open_hash *ht, struct drm_hash_item *item) in drm_ht_remove_item() argument
198 void drm_ht_remove(struct drm_open_hash *ht) in drm_ht_remove() argument
200 if (ht->table) { in drm_ht_remove()
201 if ((PAGE_SIZE / sizeof(*ht->table)) >> ht->order) in drm_ht_remove()
202 kfree(ht->table); in drm_ht_remove()
204 vfree(ht->table); in drm_ht_remove()
205 ht->table = NULL; in drm_ht_remove()