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