From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: Re: [PATCH] drm/i915: Optimize the i915_gem_gtt_finish_object function Date: Thu, 17 Jul 2014 16:16:29 -0700 Message-ID: <20140717231629.GA4545@bwidawsk.net> References: <1405099208-4085-1-git-send-email-armin.c.reese@intel.com> <1405099208-4085-2-git-send-email-armin.c.reese@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail.bwidawsk.net (bwidawsk.net [166.78.191.112]) by gabe.freedesktop.org (Postfix) with ESMTP id B28326E6E5 for ; Thu, 17 Jul 2014 16:16:39 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1405099208-4085-2-git-send-email-armin.c.reese@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: armin.c.reese@intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Fri, Jul 11, 2014 at 10:20:08AM -0700, armin.c.reese@intel.com wrote: > From: Armin Reese > > Signed-off-by: Armin Reese > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index afd4eef..7e2190e 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -1624,18 +1624,17 @@ static void ggtt_unbind_vma(struct i915_vma *vma) > > void i915_gem_gtt_finish_object(struct drm_i915_gem_object *obj) > { > - struct drm_device *dev = obj->base.dev; > - struct drm_i915_private *dev_priv = dev->dev_private; > - bool interruptible; > - > - interruptible = do_idling(dev_priv); > + if (!obj->has_dma_mapping) { > + struct drm_device *dev = obj->base.dev; > + struct drm_i915_private *dev_priv = dev->dev_private; > + bool interruptible = do_idling(dev_priv); > > - if (!obj->has_dma_mapping) > dma_unmap_sg(&dev->pdev->dev, > obj->pages->sgl, obj->pages->nents, > PCI_DMA_BIDIRECTIONAL); > > - undo_idling(dev_priv, interruptible); > + undo_idling(dev_priv, interruptible); > + } > } > > static void i915_gtt_color_adjust(struct drm_mm_node *node, Note that this doesn't do much on platforms you care about. -- Ben Widawsky, Intel Open Source Technology Center