From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 7/9] drm/i915: Simplify i915_gem_object_ggtt_unpin Date: Tue, 28 Jan 2014 15:13:34 +0200 Message-ID: <87fvo845c1.fsf@intel.com> References: <1390846259-14915-1-git-send-email-daniel.vetter@ffwll.ch> <1390846259-14915-8-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id BE41BFB90E for ; Tue, 28 Jan 2014 05:10:08 -0800 (PST) In-Reply-To: <1390846259-14915-8-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: Intel Graphics Development Cc: Daniel Vetter , Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org On Mon, 27 Jan 2014, Daniel Vetter 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 > Cc: Ben Widawsky > Signed-off-by: Daniel Vetter > --- > 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@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center