[Intel-gfx] [PATCH 1/4] drm/i915: s/obj->exec_list/obj->obj_exec_link

Daniel Vetter daniel at ffwll.ch
Wed Aug 14 11:42:27 CEST 2013


On Wed, Aug 14, 2013 at 11:38:33AM +0200, Daniel Vetter wrote:
> From: Ben Widawsky <ben at bwidawsk.net>
> 
> To convert the execbuf code over to use vmas natively we need to
> shuffle the exec_list a bit. This patch here just prepares things with
> the debugfs code, which also uses the old exec_list list_head, newly
> called obj_exec_link.

Meh, patch subject is missing a "in debugfs" at the end. I'll fix this
when merging.
-Daniel

> 
> Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> [danvet: Split out from Ben's big patch.]
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 12 ++++++------
>  drivers/gpu/drm/i915/i915_drv.h     |  2 ++
>  drivers/gpu/drm/i915/i915_gem.c     |  1 +
>  3 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index eb87865..4785d8c 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -195,9 +195,9 @@ static int obj_rank_by_stolen(void *priv,
>  			      struct list_head *A, struct list_head *B)
>  {
>  	struct drm_i915_gem_object *a =
> -		container_of(A, struct drm_i915_gem_object, exec_list);
> +		container_of(A, struct drm_i915_gem_object, obj_exec_link);
>  	struct drm_i915_gem_object *b =
> -		container_of(B, struct drm_i915_gem_object, exec_list);
> +		container_of(B, struct drm_i915_gem_object, obj_exec_link);
>  
>  	return a->stolen->start - b->stolen->start;
>  }
> @@ -221,7 +221,7 @@ static int i915_gem_stolen_list_info(struct seq_file *m, void *data)
>  		if (obj->stolen == NULL)
>  			continue;
>  
> -		list_add(&obj->exec_list, &stolen);
> +		list_add(&obj->obj_exec_link, &stolen);
>  
>  		total_obj_size += obj->base.size;
>  		total_gtt_size += i915_gem_obj_ggtt_size(obj);
> @@ -231,7 +231,7 @@ static int i915_gem_stolen_list_info(struct seq_file *m, void *data)
>  		if (obj->stolen == NULL)
>  			continue;
>  
> -		list_add(&obj->exec_list, &stolen);
> +		list_add(&obj->obj_exec_link, &stolen);
>  
>  		total_obj_size += obj->base.size;
>  		count++;
> @@ -239,11 +239,11 @@ static int i915_gem_stolen_list_info(struct seq_file *m, void *data)
>  	list_sort(NULL, &stolen, obj_rank_by_stolen);
>  	seq_puts(m, "Stolen:\n");
>  	while (!list_empty(&stolen)) {
> -		obj = list_first_entry(&stolen, typeof(*obj), exec_list);
> +		obj = list_first_entry(&stolen, typeof(*obj), obj_exec_link);
>  		seq_puts(m, "   ");
>  		describe_obj(m, obj);
>  		seq_putc(m, '\n');
> -		list_del_init(&obj->exec_list);
> +		list_del_init(&obj->obj_exec_link);
>  	}
>  	mutex_unlock(&dev->struct_mutex);
>  
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 2e7d5f9..6532d97 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1312,6 +1312,8 @@ struct drm_i915_gem_object {
>  	struct list_head global_list;
>  
>  	struct list_head ring_list;
> +	/** Used in execbuf to temporarily hold a ref */
> +	struct list_head obj_exec_link;
>  	/** This object's place in the batchbuffer or on the eviction list */
>  	struct list_head exec_list;
>  
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index fd48724..219e2fb 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -3993,6 +3993,7 @@ void i915_gem_object_init(struct drm_i915_gem_object *obj,
>  	INIT_LIST_HEAD(&obj->global_list);
>  	INIT_LIST_HEAD(&obj->ring_list);
>  	INIT_LIST_HEAD(&obj->exec_list);
> +	INIT_LIST_HEAD(&obj->obj_exec_link);
>  	INIT_LIST_HEAD(&obj->vma_list);
>  
>  	obj->ops = ops;
> -- 
> 1.8.4.rc1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list