[PATCH 12/36] drm/amd: remove _unlocked suffix in drm_object_put_unlocked

Christian König christian.koenig at amd.com
Fri May 8 09:23:36 UTC 2020


Am 07.05.20 um 17:07 schrieb Emil Velikov:
> From: Emil Velikov <emil.velikov at collabora.com>
>
> Spelling out _unlocked for each and every driver is a annoying.
> Especially if we consider how many drivers, do not know (or need to)
> about the horror stories involving struct_mutex.
>
> Just drop the suffix. It makes the API cleaner.

In general sounds like a good idea to me, but I don't see the full 
patchset in my mailbox.

With the current code this change would probably trigger the 
"WARN_ON(!mutex_is_locked(&obj->dev->struct_mutex));" in 
drm_gem_object_put().

Christian.

>
> Done via the following script:
>
> __from=drm_gem_object_put_unlocked
> __to=drm_gem_object_put
> for __file in $(git grep --name-only $__from); do
>    sed -i  "s/$__from/$__to/g" $__file;
> done
>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Cc: "Christian König" <christian.koenig at amd.com>
> Cc: "David (ChunMing) Zhou" <David1.Zhou at amd.com>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c |  2 +-
>   drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c      |  2 +-
>   drivers/gpu/drm/amd/amdgpu/amdgpu_display.c |  4 ++--
>   drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c |  2 +-
>   drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c      |  4 ++--
>   drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c     | 20 ++++++++++----------
>   drivers/gpu/drm/amd/amdgpu/dce_v10_0.c      |  6 +++---
>   drivers/gpu/drm/amd/amdgpu/dce_v11_0.c      |  6 +++---
>   drivers/gpu/drm/amd/amdgpu/dce_v6_0.c       |  6 +++---
>   drivers/gpu/drm/amd/amdgpu/dce_v8_0.c       |  6 +++---
>   10 files changed, 29 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
> index 85b0515c0fdc..4053597b3af2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
> @@ -102,7 +102,7 @@ int amdgpu_bo_list_create(struct amdgpu_device *adev, struct drm_file *filp,
>   		}
>   
>   		bo = amdgpu_bo_ref(gem_to_amdgpu_bo(gobj));
> -		drm_gem_object_put_unlocked(gobj);
> +		drm_gem_object_put(gobj);
>   
>   		usermm = amdgpu_ttm_tt_get_usermm(bo->tbo.ttm);
>   		if (usermm) {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> index af91627b19b0..76ea245f2106 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> @@ -57,7 +57,7 @@ static int amdgpu_cs_user_fence_chunk(struct amdgpu_cs_parser *p,
>   	/* One for TTM and one for the CS job */
>   	p->uf_entry.tv.num_shared = 2;
>   
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   
>   	size = amdgpu_bo_size(bo);
>   	if (size != PAGE_SIZE || (data->offset + 8) > size) {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> index 84cee27cd7ef..de9b62e2800a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> @@ -575,14 +575,14 @@ amdgpu_display_user_framebuffer_create(struct drm_device *dev,
>   
>   	amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL);
>   	if (amdgpu_fb == NULL) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ERR_PTR(-ENOMEM);
>   	}
>   
>   	ret = amdgpu_display_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj);
>   	if (ret) {
>   		kfree(amdgpu_fb);
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ERR_PTR(ret);
>   	}
>   
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
> index 652c57a3b847..43d8ed7dbd00 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
> @@ -587,7 +587,7 @@ struct drm_gem_object *amdgpu_gem_prime_import(struct drm_device *dev,
>   	attach = dma_buf_dynamic_attach(dma_buf, dev->dev,
>   					&amdgpu_dma_buf_attach_ops, obj);
>   	if (IS_ERR(attach)) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ERR_CAST(attach);
>   	}
>   
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> index 9ae7b61f696a..ca5dde4ec47d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> @@ -114,7 +114,7 @@ static void amdgpufb_destroy_pinned_object(struct drm_gem_object *gobj)
>   		amdgpu_bo_unpin(abo);
>   		amdgpu_bo_unreserve(abo);
>   	}
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   }
>   
>   static int amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev,
> @@ -279,7 +279,7 @@ static int amdgpufb_create(struct drm_fb_helper *helper,
>   
>   	}
>   	if (fb && ret) {
> -		drm_gem_object_put_unlocked(gobj);
> +		drm_gem_object_put(gobj);
>   		drm_framebuffer_unregister_private(fb);
>   		drm_framebuffer_cleanup(fb);
>   		kfree(fb);
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> index e42608115c99..8c0597f306ec 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> @@ -106,7 +106,7 @@ void amdgpu_gem_force_release(struct amdgpu_device *adev)
>   		spin_lock(&file->table_lock);
>   		idr_for_each_entry(&file->object_idr, gobj, handle) {
>   			WARN_ONCE(1, "And also active allocations!\n");
> -			drm_gem_object_put_unlocked(gobj);
> +			drm_gem_object_put(gobj);
>   		}
>   		idr_destroy(&file->object_idr);
>   		spin_unlock(&file->table_lock);
> @@ -272,7 +272,7 @@ int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data,
>   
>   	r = drm_gem_handle_create(filp, gobj, &handle);
>   	/* drop reference from allocate - handle holds it now */
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	if (r)
>   		return r;
>   
> @@ -356,7 +356,7 @@ int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data,
>   		amdgpu_ttm_tt_get_user_pages_done(bo->tbo.ttm);
>   
>   release_object:
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   
>   	return r;
>   }
> @@ -375,11 +375,11 @@ int amdgpu_mode_dumb_mmap(struct drm_file *filp,
>   	robj = gem_to_amdgpu_bo(gobj);
>   	if (amdgpu_ttm_tt_get_usermm(robj->tbo.ttm) ||
>   	    (robj->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS)) {
> -		drm_gem_object_put_unlocked(gobj);
> +		drm_gem_object_put(gobj);
>   		return -EPERM;
>   	}
>   	*offset_p = amdgpu_bo_mmap_offset(robj);
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	return 0;
>   }
>   
> @@ -449,7 +449,7 @@ int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data,
>   	} else
>   		r = ret;
>   
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	return r;
>   }
>   
> @@ -492,7 +492,7 @@ int amdgpu_gem_metadata_ioctl(struct drm_device *dev, void *data,
>   unreserve:
>   	amdgpu_bo_unreserve(robj);
>   out:
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	return r;
>   }
>   
> @@ -691,7 +691,7 @@ int amdgpu_gem_va_ioctl(struct drm_device *dev, void *data,
>   	ttm_eu_backoff_reservation(&ticket, &list);
>   
>   error_unref:
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	return r;
>   }
>   
> @@ -767,7 +767,7 @@ int amdgpu_gem_op_ioctl(struct drm_device *dev, void *data,
>   	}
>   
>   out:
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	return r;
>   }
>   
> @@ -804,7 +804,7 @@ int amdgpu_mode_dumb_create(struct drm_file *file_priv,
>   
>   	r = drm_gem_handle_create(file_priv, gobj, &handle);
>   	/* drop reference from allocate - handle holds it now */
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	if (r) {
>   		return r;
>   	}
> diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
> index 2512e7ebfedf..47a6e3d0aa96 100644
> --- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
> @@ -2404,7 +2404,7 @@ static int dce_v10_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	aobj = gem_to_amdgpu_bo(obj);
>   	ret = amdgpu_bo_reserve(aobj, false);
>   	if (ret != 0) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   
> @@ -2412,7 +2412,7 @@ static int dce_v10_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	amdgpu_bo_unreserve(aobj);
>   	if (ret) {
>   		DRM_ERROR("Failed to pin new cursor BO (%d)\n", ret);
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   	amdgpu_crtc->cursor_addr = amdgpu_bo_gpu_offset(aobj);
> @@ -2447,7 +2447,7 @@ static int dce_v10_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   			amdgpu_bo_unpin(aobj);
>   			amdgpu_bo_unreserve(aobj);
>   		}
> -		drm_gem_object_put_unlocked(amdgpu_crtc->cursor_bo);
> +		drm_gem_object_put(amdgpu_crtc->cursor_bo);
>   	}
>   
>   	amdgpu_crtc->cursor_bo = obj;
> diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
> index 0dde22db9848..7d16fb5a9482 100644
> --- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
> @@ -2483,7 +2483,7 @@ static int dce_v11_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	aobj = gem_to_amdgpu_bo(obj);
>   	ret = amdgpu_bo_reserve(aobj, false);
>   	if (ret != 0) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   
> @@ -2491,7 +2491,7 @@ static int dce_v11_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	amdgpu_bo_unreserve(aobj);
>   	if (ret) {
>   		DRM_ERROR("Failed to pin new cursor BO (%d)\n", ret);
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   	amdgpu_crtc->cursor_addr = amdgpu_bo_gpu_offset(aobj);
> @@ -2526,7 +2526,7 @@ static int dce_v11_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   			amdgpu_bo_unpin(aobj);
>   			amdgpu_bo_unreserve(aobj);
>   		}
> -		drm_gem_object_put_unlocked(amdgpu_crtc->cursor_bo);
> +		drm_gem_object_put(amdgpu_crtc->cursor_bo);
>   	}
>   
>   	amdgpu_crtc->cursor_bo = obj;
> diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
> index 84219534bd38..1ab33aa3980e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
> @@ -2299,7 +2299,7 @@ static int dce_v6_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	aobj = gem_to_amdgpu_bo(obj);
>   	ret = amdgpu_bo_reserve(aobj, false);
>   	if (ret != 0) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   
> @@ -2307,7 +2307,7 @@ static int dce_v6_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	amdgpu_bo_unreserve(aobj);
>   	if (ret) {
>   		DRM_ERROR("Failed to pin new cursor BO (%d)\n", ret);
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   	amdgpu_crtc->cursor_addr = amdgpu_bo_gpu_offset(aobj);
> @@ -2342,7 +2342,7 @@ static int dce_v6_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   			amdgpu_bo_unpin(aobj);
>   			amdgpu_bo_unreserve(aobj);
>   		}
> -		drm_gem_object_put_unlocked(amdgpu_crtc->cursor_bo);
> +		drm_gem_object_put(amdgpu_crtc->cursor_bo);
>   	}
>   
>   	amdgpu_crtc->cursor_bo = obj;
> diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
> index 3a640702d7d1..8a8f1aa49212 100644
> --- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
> @@ -2305,7 +2305,7 @@ static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	aobj = gem_to_amdgpu_bo(obj);
>   	ret = amdgpu_bo_reserve(aobj, false);
>   	if (ret != 0) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   
> @@ -2313,7 +2313,7 @@ static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	amdgpu_bo_unreserve(aobj);
>   	if (ret) {
>   		DRM_ERROR("Failed to pin new cursor BO (%d)\n", ret);
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   	amdgpu_crtc->cursor_addr = amdgpu_bo_gpu_offset(aobj);
> @@ -2348,7 +2348,7 @@ static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   			amdgpu_bo_unpin(aobj);
>   			amdgpu_bo_unreserve(aobj);
>   		}
> -		drm_gem_object_put_unlocked(amdgpu_crtc->cursor_bo);
> +		drm_gem_object_put(amdgpu_crtc->cursor_bo);
>   	}
>   
>   	amdgpu_crtc->cursor_bo = obj;



More information about the dri-devel mailing list