[Intel-gfx] [PATCH 4/9] drm/i915: Wrap drm_gem_object_reference in i915_gem_object_get

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Wed Jul 20 11:45:13 UTC 2016


On ke, 2016-07-20 at 09:59 +0100, Chris Wilson wrote:
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

Mechanical stuff,

Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>

> ---
>  drivers/gpu/drm/i915/i915_drv.h            | 11 +++++++++++
>  drivers/gpu/drm/i915/i915_gem.c            |  4 ++--
>  drivers/gpu/drm/i915/i915_gem_dmabuf.c     |  3 +--
>  drivers/gpu/drm/i915/i915_gem_evict.c      |  2 +-
>  drivers/gpu/drm/i915/i915_gem_execbuffer.c |  4 ++--
>  drivers/gpu/drm/i915/i915_gem_shrinker.c   |  2 +-
>  drivers/gpu/drm/i915/i915_gem_userptr.c    |  3 +--
>  drivers/gpu/drm/i915/intel_display.c       |  3 +--
>  8 files changed, 20 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 47f244f9c64e..163d28e8e92c 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2306,6 +2306,17 @@ __deprecated
>  extern struct drm_gem_object *
>  drm_gem_object_lookup(struct drm_file *file, u32 handle);
>  
> +__attribute__((nonnull))
> +static inline struct drm_i915_gem_object *
> +i915_gem_object_get(struct drm_i915_gem_object *obj)
> +{
> +	drm_gem_object_reference(&obj->base);
> +	return obj;
> +}
> +
> +__deprecated
> +extern void drm_gem_object_reference(struct drm_gem_object *);
> +
>  static inline bool
>  i915_gem_object_has_struct_page(const struct drm_i915_gem_object *obj)
>  {
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 970496419098..f886c0bb24ca 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -289,7 +289,7 @@ drop_pages(struct drm_i915_gem_object *obj)
>  	struct i915_vma *vma, *next;
>  	int ret;
>  
> -	drm_gem_object_reference(&obj->base);
> +	i915_gem_object_get(obj);
>  	list_for_each_entry_safe(vma, next, &obj->vma_list, obj_link)
>  		if (i915_vma_unbind(vma))
>  			break;
> @@ -2361,7 +2361,7 @@ void i915_vma_move_to_active(struct i915_vma *vma,
>  
>  	/* Add a reference if we're newly entering the active list. */
>  	if (obj->active == 0)
> -		drm_gem_object_reference(&obj->base);
> +		i915_gem_object_get(obj);
>  	obj->active |= intel_engine_flag(engine);
>  
>  	list_move_tail(&obj->engine_list[engine->id], &engine->active_list);
> diff --git a/drivers/gpu/drm/i915/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
> index 7d08ac08c401..3a00ab3ad06e 100644
> --- a/drivers/gpu/drm/i915/i915_gem_dmabuf.c
> +++ b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
> @@ -278,8 +278,7 @@ struct drm_gem_object *i915_gem_prime_import(struct drm_device *dev,
>  			 * Importing dmabuf exported from out own gem increases
>  			 * refcount on gem itself instead of f_count of dmabuf.
>  			 */
> -			drm_gem_object_reference(&obj->base);
> -			return &obj->base;
> +			return &i915_gem_object_get(obj)->base;
>  		}
>  	}
>  
> diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c
> index b1194c7c0a48..56103948ee16 100644
> --- a/drivers/gpu/drm/i915/i915_gem_evict.c
> +++ b/drivers/gpu/drm/i915/i915_gem_evict.c
> @@ -183,7 +183,7 @@ found:
>  				       exec_list);
>  		if (drm_mm_scan_remove_block(&vma->node)) {
>  			list_move(&vma->exec_list, &eviction_list);
> -			drm_gem_object_reference(&vma->obj->base);
> +			i915_gem_object_get(vma->obj);
>  			continue;
>  		}
>  		list_del_init(&vma->exec_list);
> diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> index 551dd4f549fa..28bcc99a0cc1 100644
> --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> @@ -123,7 +123,7 @@ eb_lookup_vmas(struct eb_vmas *eb,
>  			goto err;
>  		}
>  
> -		drm_gem_object_reference(&obj->base);
> +		i915_gem_object_get(obj);
>  		list_add_tail(&obj->obj_exec_link, &objects);
>  	}
>  	spin_unlock(&file->table_lock);
> @@ -1236,7 +1236,7 @@ i915_gem_execbuffer_parse(struct intel_engine_cs *engine,
>  	vma = i915_gem_obj_to_ggtt(shadow_batch_obj);
>  	vma->exec_entry = shadow_exec_entry;
>  	vma->exec_entry->flags = __EXEC_OBJECT_HAS_PIN;
> -	drm_gem_object_reference(&shadow_batch_obj->base);
> +	i915_gem_object_get(shadow_batch_obj);
>  	list_add_tail(&vma->exec_list, &eb->vmas);
>  
>  	shadow_batch_obj->base.pending_read_domains = I915_GEM_DOMAIN_COMMAND;
> diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c
> index 6f10b421487b..3aa76d3608ea 100644
> --- a/drivers/gpu/drm/i915/i915_gem_shrinker.c
> +++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c
> @@ -190,7 +190,7 @@ i915_gem_shrink(struct drm_i915_private *dev_priv,
>  			if (!can_release_pages(obj))
>  				continue;
>  
> -			drm_gem_object_reference(&obj->base);
> +			i915_gem_object_get(obj);
>  
>  			/* For the unbound phase, this should be a no-op! */
>  			list_for_each_entry_safe(vma, v,
> diff --git a/drivers/gpu/drm/i915/i915_gem_userptr.c b/drivers/gpu/drm/i915/i915_gem_userptr.c
> index ba16e044fac6..c41bf74f926e 100644
> --- a/drivers/gpu/drm/i915/i915_gem_userptr.c
> +++ b/drivers/gpu/drm/i915/i915_gem_userptr.c
> @@ -622,8 +622,7 @@ __i915_gem_userptr_get_pages_schedule(struct drm_i915_gem_object *obj,
>  	obj->userptr.work = &work->work;
>  	obj->userptr.workers++;
>  
> -	work->obj = obj;
> -	drm_gem_object_reference(&obj->base);
> +	work->obj = i915_gem_object_get(obj);
>  
>  	work->task = current;
>  	get_task_struct(work->task);
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 77d320584478..84904a2d3fcd 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -11649,7 +11649,6 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
>  
>  	/* Reference the objects for the scheduled work. */
>  	drm_framebuffer_reference(work->old_fb);
> -	drm_gem_object_reference(&obj->base);
>  
>  	crtc->primary->fb = fb;
>  	update_state_fb(crtc->primary);
> @@ -11657,7 +11656,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
>  	intel_fbc_pre_update(intel_crtc, intel_crtc->config,
>  			     to_intel_plane_state(primary->state));
>  
> -	work->pending_flip_obj = obj;
> +	work->pending_flip_obj = i915_gem_object_get(obj);
>  
>  	ret = i915_mutex_lock_interruptible(dev);
>  	if (ret)
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation


More information about the Intel-gfx mailing list