diff options
author | Christian König <christian.koenig@amd.com> | 2018-07-30 08:17:41 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-07-31 17:58:18 -0400 |
commit | a0f208453b97565dab8c334ff013aa5ab3c66d0c (patch) | |
tree | cc476bf48d6d286d729c807c677a4ad449b0fb6d /drivers/gpu/drm/amd | |
parent | 81c6dabcc990c341793368db985ee8aca5713b16 (diff) |
drm/amdgpu: nuke amdgpu_bo_list_free
The RCU grace period is harmless and avoiding it is not worth the effort
of doubling the implementation.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 |
3 files changed, 2 insertions, 14 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c index 556040e45931..5335f1b5459f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | |||
@@ -231,17 +231,6 @@ void amdgpu_bo_list_put(struct amdgpu_bo_list *list) | |||
231 | kref_put(&list->refcount, amdgpu_bo_list_release_rcu); | 231 | kref_put(&list->refcount, amdgpu_bo_list_release_rcu); |
232 | } | 232 | } |
233 | 233 | ||
234 | void amdgpu_bo_list_free(struct amdgpu_bo_list *list) | ||
235 | { | ||
236 | unsigned i; | ||
237 | |||
238 | for (i = 0; i < list->num_entries; ++i) | ||
239 | amdgpu_bo_unref(&list->array[i].robj); | ||
240 | |||
241 | kvfree(list->array); | ||
242 | kfree(list); | ||
243 | } | ||
244 | |||
245 | int amdgpu_bo_create_list_entry_array(struct drm_amdgpu_bo_list_in *in, | 234 | int amdgpu_bo_create_list_entry_array(struct drm_amdgpu_bo_list_in *in, |
246 | struct drm_amdgpu_bo_list_entry **info_param) | 235 | struct drm_amdgpu_bo_list_entry **info_param) |
247 | { | 236 | { |
@@ -310,7 +299,7 @@ int amdgpu_bo_list_ioctl(struct drm_device *dev, void *data, | |||
310 | r = idr_alloc(&fpriv->bo_list_handles, list, 1, 0, GFP_KERNEL); | 299 | r = idr_alloc(&fpriv->bo_list_handles, list, 1, 0, GFP_KERNEL); |
311 | mutex_unlock(&fpriv->bo_list_lock); | 300 | mutex_unlock(&fpriv->bo_list_lock); |
312 | if (r < 0) { | 301 | if (r < 0) { |
313 | amdgpu_bo_list_free(list); | 302 | amdgpu_bo_list_put(list); |
314 | return r; | 303 | return r; |
315 | } | 304 | } |
316 | 305 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h index 89195fdcb1ef..0ce540203db1 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h | |||
@@ -56,7 +56,6 @@ int amdgpu_bo_list_get(struct amdgpu_fpriv *fpriv, int id, | |||
56 | void amdgpu_bo_list_get_list(struct amdgpu_bo_list *list, | 56 | void amdgpu_bo_list_get_list(struct amdgpu_bo_list *list, |
57 | struct list_head *validated); | 57 | struct list_head *validated); |
58 | void amdgpu_bo_list_put(struct amdgpu_bo_list *list); | 58 | void amdgpu_bo_list_put(struct amdgpu_bo_list *list); |
59 | void amdgpu_bo_list_free(struct amdgpu_bo_list *list); | ||
60 | int amdgpu_bo_create_list_entry_array(struct drm_amdgpu_bo_list_in *in, | 59 | int amdgpu_bo_create_list_entry_array(struct drm_amdgpu_bo_list_in *in, |
61 | struct drm_amdgpu_bo_list_entry **info_param); | 60 | struct drm_amdgpu_bo_list_entry **info_param); |
62 | 61 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c index dd2132fa2b89..bd98cc5fb97b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | |||
@@ -967,7 +967,7 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev, | |||
967 | amdgpu_bo_unref(&pd); | 967 | amdgpu_bo_unref(&pd); |
968 | 968 | ||
969 | idr_for_each_entry(&fpriv->bo_list_handles, list, handle) | 969 | idr_for_each_entry(&fpriv->bo_list_handles, list, handle) |
970 | amdgpu_bo_list_free(list); | 970 | amdgpu_bo_list_put(list); |
971 | 971 | ||
972 | idr_destroy(&fpriv->bo_list_handles); | 972 | idr_destroy(&fpriv->bo_list_handles); |
973 | mutex_destroy(&fpriv->bo_list_lock); | 973 | mutex_destroy(&fpriv->bo_list_lock); |