aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2011-10-25 16:33:37 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2011-12-21 18:33:22 -0500
commit94e895321bade1bafbcb2af1ef1e79b01e018012 (patch)
tree8e725dcbd475037225e352d5e388f9b3ed8d71e3
parent6de8a748881f1cd9d795454da2b6db616d5ca3d7 (diff)
drm/sman: kill user_hash_tab
No longer used. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/drm_sman.c36
-rw-r--r--include/drm/drm_sman.h5
2 files changed, 2 insertions, 39 deletions
diff --git a/drivers/gpu/drm/drm_sman.c b/drivers/gpu/drm/drm_sman.c
index af4728477a90..a8ff350e50b8 100644
--- a/drivers/gpu/drm/drm_sman.c
+++ b/drivers/gpu/drm/drm_sman.c
@@ -47,7 +47,6 @@ struct drm_owner_item {
47 47
48void drm_sman_takedown(struct drm_sman * sman) 48void drm_sman_takedown(struct drm_sman * sman)
49{ 49{
50 drm_ht_remove(&sman->user_hash_tab);
51 kfree(sman->mm); 50 kfree(sman->mm);
52} 51}
53 52
@@ -62,16 +61,11 @@ drm_sman_init(struct drm_sman * sman, unsigned int num_managers,
62 sman->mm = kcalloc(num_managers, sizeof(*sman->mm), GFP_KERNEL); 61 sman->mm = kcalloc(num_managers, sizeof(*sman->mm), GFP_KERNEL);
63 if (!sman->mm) { 62 if (!sman->mm) {
64 ret = -ENOMEM; 63 ret = -ENOMEM;
65 goto out; 64 return ret;
66 } 65 }
67 sman->num_managers = num_managers; 66 sman->num_managers = num_managers;
68 ret = drm_ht_create(&sman->user_hash_tab, user_order);
69 if (!ret)
70 goto out;
71 67
72 kfree(sman->mm); 68 return 0;
73out:
74 return ret;
75} 69}
76 70
77EXPORT_SYMBOL(drm_sman_init); 71EXPORT_SYMBOL(drm_sman_init);
@@ -180,15 +174,8 @@ struct drm_memblock_item *drm_sman_alloc(struct drm_sman *sman, unsigned int man
180 memblock->mm = sman_mm; 174 memblock->mm = sman_mm;
181 memblock->sman = sman; 175 memblock->sman = sman;
182 176
183 if (drm_ht_just_insert_please
184 (&sman->user_hash_tab, &memblock->user_hash,
185 (unsigned long)memblock, 32, 0, 0))
186 goto out1;
187
188 return memblock; 177 return memblock;
189 178
190out1:
191 kfree(memblock);
192out: 179out:
193 sman_mm->free(sman_mm->private, tmp); 180 sman_mm->free(sman_mm->private, tmp);
194 181
@@ -199,31 +186,12 @@ EXPORT_SYMBOL(drm_sman_alloc);
199 186
200void drm_sman_free(struct drm_memblock_item *item) 187void drm_sman_free(struct drm_memblock_item *item)
201{ 188{
202 struct drm_sman *sman = item->sman;
203
204 list_del(&item->owner_list); 189 list_del(&item->owner_list);
205 drm_ht_remove_item(&sman->user_hash_tab, &item->user_hash);
206 item->mm->free(item->mm->private, item->mm_info); 190 item->mm->free(item->mm->private, item->mm_info);
207 kfree(item); 191 kfree(item);
208} 192}
209EXPORT_SYMBOL(drm_sman_free); 193EXPORT_SYMBOL(drm_sman_free);
210 194
211int drm_sman_free_key(struct drm_sman *sman, unsigned int key)
212{
213 struct drm_hash_item *hash_item;
214 struct drm_memblock_item *memblock_item;
215
216 if (drm_ht_find_item(&sman->user_hash_tab, key, &hash_item))
217 return -EINVAL;
218
219 memblock_item = drm_hash_entry(hash_item, struct drm_memblock_item,
220 user_hash);
221 drm_sman_free(memblock_item);
222 return 0;
223}
224
225EXPORT_SYMBOL(drm_sman_free_key);
226
227void drm_sman_cleanup(struct drm_sman *sman) 195void drm_sman_cleanup(struct drm_sman *sman)
228{ 196{
229 unsigned int i; 197 unsigned int i;
diff --git a/include/drm/drm_sman.h b/include/drm/drm_sman.h
index 34ae5ca05a40..031e52189295 100644
--- a/include/drm/drm_sman.h
+++ b/include/drm/drm_sman.h
@@ -87,7 +87,6 @@ struct drm_memblock_item {
87struct drm_sman { 87struct drm_sman {
88 struct drm_sman_mm *mm; 88 struct drm_sman_mm *mm;
89 int num_managers; 89 int num_managers;
90 struct drm_open_hash user_hash_tab;
91}; 90};
92 91
93/* 92/*
@@ -139,11 +138,7 @@ extern struct drm_memblock_item *drm_sman_alloc(struct drm_sman * sman,
139 unsigned long size, 138 unsigned long size,
140 unsigned alignment, 139 unsigned alignment,
141 unsigned long owner); 140 unsigned long owner);
142/*
143 * Free a memory block identified by its user hash key.
144 */
145 141
146extern int drm_sman_free_key(struct drm_sman * sman, unsigned int key);
147extern void drm_sman_free(struct drm_memblock_item *item); 142extern void drm_sman_free(struct drm_memblock_item *item);
148 143
149/* 144/*