drm/i915/selftests: Drop manual request wakerefs around hangcheck
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 26 Jun 2019 13:44:32 +0000 (14:44 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 26 Jun 2019 15:03:13 +0000 (16:03 +0100)
We no longer need to manually acquire a wakeref for request emission, so
drop the redundant wakerefs, letting us test our wakeref handling more
precisely.

References: 79ffac8599c4 ("drm/i915: Invert the GEM wakeref hierarchy")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190626134433.6318-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/selftest_hangcheck.c
drivers/gpu/drm/i915/gt/selftest_reset.c

index 0e0b6c572ae9ed0b481b02c0c35506e26c465f5c..cf592a049a71d9f0301402a45a4e25f152695c4d 100644 (file)
@@ -373,7 +373,6 @@ static int igt_reset_nop(void *arg)
        struct i915_gem_context *ctx;
        unsigned int reset_count, count;
        enum intel_engine_id id;
-       intel_wakeref_t wakeref;
        struct drm_file *file;
        IGT_TIMEOUT(end_time);
        int err = 0;
@@ -393,7 +392,6 @@ static int igt_reset_nop(void *arg)
        }
 
        i915_gem_context_clear_bannable(ctx);
-       wakeref = intel_runtime_pm_get(&i915->runtime_pm);
        reset_count = i915_reset_count(&i915->gpu_error);
        count = 0;
        do {
@@ -442,8 +440,6 @@ static int igt_reset_nop(void *arg)
        err = igt_flush_test(i915, I915_WAIT_LOCKED);
        mutex_unlock(&i915->drm.struct_mutex);
 
-       intel_runtime_pm_put(&i915->runtime_pm, wakeref);
-
 out:
        mock_file_free(i915, file);
        if (i915_reset_failed(i915))
@@ -457,7 +453,6 @@ static int igt_reset_nop_engine(void *arg)
        struct intel_engine_cs *engine;
        struct i915_gem_context *ctx;
        enum intel_engine_id id;
-       intel_wakeref_t wakeref;
        struct drm_file *file;
        int err = 0;
 
@@ -479,7 +474,6 @@ static int igt_reset_nop_engine(void *arg)
        }
 
        i915_gem_context_clear_bannable(ctx);
-       wakeref = intel_runtime_pm_get(&i915->runtime_pm);
        for_each_engine(engine, i915, id) {
                unsigned int reset_count, reset_engine_count;
                unsigned int count;
@@ -549,7 +543,6 @@ static int igt_reset_nop_engine(void *arg)
        err = igt_flush_test(i915, I915_WAIT_LOCKED);
        mutex_unlock(&i915->drm.struct_mutex);
 
-       intel_runtime_pm_put(&i915->runtime_pm, wakeref);
 out:
        mock_file_free(i915, file);
        if (i915_reset_failed(i915))
index 89da9e7cc1bae0c65bf64054253a975d5829fc94..64c2c8ab64ecaac0e0dd0807c6d3481901a9f9d0 100644 (file)
@@ -63,8 +63,8 @@ static int igt_atomic_reset(void *arg)
 
        /* Check that the resets are usable from atomic context */
 
+       intel_gt_pm_get(&i915->gt);
        igt_global_reset_lock(i915);
-       mutex_lock(&i915->drm.struct_mutex);
 
        /* Flush any requests before we get started and check basics */
        if (!igt_force_reset(i915))
@@ -89,8 +89,8 @@ static int igt_atomic_reset(void *arg)
        igt_force_reset(i915);
 
 unlock:
-       mutex_unlock(&i915->drm.struct_mutex);
        igt_global_reset_unlock(i915);
+       intel_gt_pm_put(&i915->gt);
 
        return err;
 }