On Wed, Aug 14, 2013 at 11:38:33AM +0200, Daniel Vetter wrote:
> From: Ben Widawsky <b...@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 <b...@bwidawsk.net>
> [danvet: Split out from Ben's big patch.]
> Signed-off-by: Daniel Vetter <daniel.vet...@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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to