drm/i915: Leave engine parking to the engines
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 2 May 2019 15:00:24 +0000 (16:00 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 3 May 2019 10:35:33 +0000 (11:35 +0100)
Drop the check in GEM parking that the engines were already parked. The
intention here was that before we dropped the GT wakeref, we were sure
that no more interrupts could be raised -- however, we have already
dropped the wakeref by this point and the warning is no longer valid.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190502150024.16636-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_pm.c

index 3b6e8d5be8e1c84a5714973c7e9d9e588fce3c17..49b0ce594f207c3692bfc20cadc342592bb638e1 100644 (file)
@@ -17,24 +17,8 @@ static void i915_gem_park(struct drm_i915_private *i915)
 
        lockdep_assert_held(&i915->drm.struct_mutex);
 
-       for_each_engine(engine, i915, id) {
-               /*
-                * We are committed now to parking the engines, make sure there
-                * will be no more interrupts arriving later and the engines
-                * are truly idle.
-                */
-               if (wait_for(intel_engine_is_idle(engine), 10)) {
-                       struct drm_printer p = drm_debug_printer(__func__);
-
-                       dev_err(i915->drm.dev,
-                               "%s is not idle before parking\n",
-                               engine->name);
-                       intel_engine_dump(engine, &p, NULL);
-               }
-               tasklet_kill(&engine->execlists.tasklet);
-
+       for_each_engine(engine, i915, id)
                i915_gem_batch_pool_fini(&engine->batch_pool);
-       }
 
        i915_timelines_park(i915);
        i915_vma_parked(i915);