On Mon, 27 Jan 2014, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote: > Split out from Chris vma-bind rework. "simplify" does not explain to me *why* you can skip two checks in the code. BR, Jani. > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/i915/i915_drv.h | 10 ++++++++-- > drivers/gpu/drm/i915/i915_gem.c | 20 -------------------- > 2 files changed, 8 insertions(+), 22 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index dcab2b0a09ef..13991b8ce602 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -2037,9 +2037,7 @@ int __must_check i915_gem_object_pin(struct drm_i915_gem_object *obj, > struct i915_address_space *vm, > uint32_t alignment, > unsigned flags); > -void i915_gem_object_ggtt_unpin(struct drm_i915_gem_object *obj); > int __must_check i915_vma_unbind(struct i915_vma *vma); > -int __must_check i915_gem_object_ggtt_unbind(struct drm_i915_gem_object *obj); > int i915_gem_object_put_pages(struct drm_i915_gem_object *obj); > void i915_gem_release_all_mmaps(struct drm_i915_private *dev_priv); > void i915_gem_release_mmap(struct drm_i915_gem_object *obj); > @@ -2244,6 +2242,14 @@ i915_gem_obj_ggtt_pin(struct drm_i915_gem_object *obj, > return i915_gem_object_pin(obj, obj_to_ggtt(obj), alignment, flags | PIN_GLOBAL); > } > > +static inline int > +i915_gem_object_ggtt_unbind(struct drm_i915_gem_object *obj) > +{ > + return i915_vma_unbind(i915_gem_obj_to_ggtt(obj)); > +} > + > +void i915_gem_object_ggtt_unpin(struct drm_i915_gem_object *obj); > + > /* i915_gem_context.c */ > #define ctx_to_ppgtt(ctx) container_of((ctx)->vm, struct i915_hw_ppgtt, base) > int __must_check i915_gem_context_init(struct drm_device *dev); > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 9f4dab7df5c0..680b300d7454 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -2814,26 +2814,6 @@ int i915_vma_unbind(struct i915_vma *vma) > return 0; > } > > -/** > - * Unbinds an object from the global GTT aperture. > - */ > -int > -i915_gem_object_ggtt_unbind(struct drm_i915_gem_object *obj) > -{ > - struct drm_i915_private *dev_priv = obj->base.dev->dev_private; > - struct i915_address_space *ggtt = &dev_priv->gtt.base; > - > - if (!i915_gem_obj_ggtt_bound(obj)) > - return 0; > - > - if (i915_gem_obj_to_ggtt(obj)->pin_count) > - return -EBUSY; > - > - BUG_ON(obj->pages == NULL); > - > - return i915_vma_unbind(i915_gem_obj_to_vma(obj, ggtt)); > -} > - > int i915_gpu_idle(struct drm_device *dev) > { > drm_i915_private_t *dev_priv = dev->dev_private; > -- > 1.8.5.2 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx