On Fri, Jul 18, 2014 at 1:16 AM, Ben Widawsky <ben@xxxxxxxxxxxx> wrote: > On Fri, Jul 11, 2014 at 10:20:08AM -0700, armin.c.reese@xxxxxxxxx wrote: >> From: Armin Reese <armin.c.reese@xxxxxxxxx> >> >> Signed-off-by: Armin Reese <armin.c.reese@xxxxxxxxx> >> --- >> 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. To elaborate: This w/a is _only_ used on ironlake when the iommu is enabled. Also the performance impact of it is so disastrous that any kind of optimization is pointless. -Daniel -- 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