On ke, 2016-07-20 at 09:59 +0100, Chris Wilson wrote: > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Mechanical stuff, Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > --- > 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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx