[PATCH 6/9] drm/amdgpu: nuke amdgpu_bo_list_free

Huang Rui ray.huang at amd.com
Tue Jul 31 05:31:14 UTC 2018


On Mon, Jul 30, 2018 at 04:51:56PM +0200, Christian König wrote:
> 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 at amd.com>

Reviewed-by: Huang Rui <ray.huang at amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 13 +------------
>  drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h |  1 -
>  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)
>  	kref_put(&list->refcount, amdgpu_bo_list_release_rcu);
>  }
>  
> -void amdgpu_bo_list_free(struct amdgpu_bo_list *list)
> -{
> -	unsigned i;
> -
> -	for (i = 0; i < list->num_entries; ++i)
> -		amdgpu_bo_unref(&list->array[i].robj);
> -
> -	kvfree(list->array);
> -	kfree(list);
> -}
> -
>  int amdgpu_bo_create_list_entry_array(struct drm_amdgpu_bo_list_in *in,
>  				      struct drm_amdgpu_bo_list_entry **info_param)
>  {
> @@ -310,7 +299,7 @@ int amdgpu_bo_list_ioctl(struct drm_device *dev, void *data,
>  		r = idr_alloc(&fpriv->bo_list_handles, list, 1, 0, GFP_KERNEL);
>  		mutex_unlock(&fpriv->bo_list_lock);
>  		if (r < 0) {
> -			amdgpu_bo_list_free(list);
> +			amdgpu_bo_list_put(list);
>  			return r;
>  		}
>  
> 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,
>  void amdgpu_bo_list_get_list(struct amdgpu_bo_list *list,
>  			     struct list_head *validated);
>  void amdgpu_bo_list_put(struct amdgpu_bo_list *list);
> -void amdgpu_bo_list_free(struct amdgpu_bo_list *list);
>  int amdgpu_bo_create_list_entry_array(struct drm_amdgpu_bo_list_in *in,
>  				      struct drm_amdgpu_bo_list_entry **info_param);
>  
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index 7956848ac092..5b26e0447221 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,
>  	amdgpu_bo_unref(&pd);
>  
>  	idr_for_each_entry(&fpriv->bo_list_handles, list, handle)
> -		amdgpu_bo_list_free(list);
> +		amdgpu_bo_list_put(list);
>  
>  	idr_destroy(&fpriv->bo_list_handles);
>  	mutex_destroy(&fpriv->bo_list_lock);
> -- 
> 2.14.1
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list