Not every caller of gpu_idle needs to retire requests. Try to pick only
the callers that need it. This was originally combined with the previous
patch in the first series on the mailing list.

Signed-off-by: Ben Widawsky <[email protected]>
---
 drivers/gpu/drm/i915/i915_dma.c            |    1 -
 drivers/gpu/drm/i915/i915_gem.c            |    1 -
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |    1 -
 drivers/gpu/drm/i915/intel_overlay.c       |    2 --
 4 files changed, 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 36c8d5f..e73389d 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -2016,7 +2016,6 @@ int i915_driver_unload(struct drm_device *dev)
        ret = i915_gpu_idle(dev);
        if (ret)
                DRM_ERROR("failed to idle hardware: %d\n", ret);
-       i915_gem_retire_requests(dev);
        mutex_unlock(&dev->struct_mutex);
 
        /* Cancel the retire work handler, which should be idle now. */
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 25be0e0..3b731ef 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3387,7 +3387,6 @@ i915_gem_idle(struct drm_device *dev)
                mutex_unlock(&dev->struct_mutex);
                return ret;
        }
-       i915_gem_retire_requests(dev);
 
        /* Under UMS, be paranoid and evict. */
        if (!drm_core_check_feature(dev, DRIVER_MODESET))
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c 
b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index cbba0aa..582f6c4 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -1223,7 +1223,6 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
                        ret = i915_gpu_idle(dev);
                        if (ret)
                                goto err;
-                       i915_gem_retire_requests(dev);
 
                        BUG_ON(ring->sync_seqno[i]);
                }
diff --git a/drivers/gpu/drm/i915/intel_overlay.c 
b/drivers/gpu/drm/i915/intel_overlay.c
index e06e46a..07a5cad 100644
--- a/drivers/gpu/drm/i915/intel_overlay.c
+++ b/drivers/gpu/drm/i915/intel_overlay.c
@@ -228,7 +228,6 @@ static int intel_overlay_do_wait_request(struct 
intel_overlay *overlay,
        ret = i915_wait_request(LP_RING(dev_priv), overlay->last_flip_req);
        if (ret)
                return ret;
-       i915_gem_retire_requests(dev);
 
        overlay->last_flip_req = 0;
        return 0;
@@ -450,7 +449,6 @@ static int intel_overlay_recover_from_interrupt(struct 
intel_overlay *overlay)
        ret = i915_wait_request(LP_RING(dev_priv), overlay->last_flip_req);
        if (ret)
                return ret;
-       i915_gem_retire_requests(dev);
 
        if (overlay->flip_tail)
                overlay->flip_tail(overlay);
-- 
1.7.10

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to