drm/i915/selftests: Disable preemptive heartbeats over preemption tests
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 15 Jun 2020 16:50:11 +0000 (17:50 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 15 Jun 2020 17:31:16 +0000 (18:31 +0100)
Since the heartbeat may cause a preemption event, disable it over the
preemption suppression tests.

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/20200615165013.22973-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/selftest_lrc.c

index f651bdf..9154349 100644 (file)
@@ -2282,7 +2282,7 @@ static int live_suppress_self_preempt(void *arg)
                if (igt_flush_test(gt->i915))
                        goto err_wedged;
 
-               intel_engine_pm_get(engine);
+               engine_heartbeat_disable(engine);
                engine->execlists.preempt_hang.count = 0;
 
                rq_a = spinner_create_request(&a.spin,
@@ -2290,14 +2290,14 @@ static int live_suppress_self_preempt(void *arg)
                                              MI_NOOP);
                if (IS_ERR(rq_a)) {
                        err = PTR_ERR(rq_a);
-                       intel_engine_pm_put(engine);
+                       engine_heartbeat_enable(engine);
                        goto err_client_b;
                }
 
                i915_request_add(rq_a);
                if (!igt_wait_for_spinner(&a.spin, rq_a)) {
                        pr_err("First client failed to start\n");
-                       intel_engine_pm_put(engine);
+                       engine_heartbeat_enable(engine);
                        goto err_wedged;
                }
 
@@ -2309,7 +2309,7 @@ static int live_suppress_self_preempt(void *arg)
                                                      MI_NOOP);
                        if (IS_ERR(rq_b)) {
                                err = PTR_ERR(rq_b);
-                               intel_engine_pm_put(engine);
+                               engine_heartbeat_enable(engine);
                                goto err_client_b;
                        }
                        i915_request_add(rq_b);
@@ -2320,7 +2320,7 @@ static int live_suppress_self_preempt(void *arg)
 
                        if (!igt_wait_for_spinner(&b.spin, rq_b)) {
                                pr_err("Second client failed to start\n");
-                               intel_engine_pm_put(engine);
+                               engine_heartbeat_enable(engine);
                                goto err_wedged;
                        }
 
@@ -2334,12 +2334,12 @@ static int live_suppress_self_preempt(void *arg)
                               engine->name,
                               engine->execlists.preempt_hang.count,
                               depth);
-                       intel_engine_pm_put(engine);
+                       engine_heartbeat_enable(engine);
                        err = -EINVAL;
                        goto err_client_b;
                }
 
-               intel_engine_pm_put(engine);
+               engine_heartbeat_enable(engine);
                if (igt_flush_test(gt->i915))
                        goto err_wedged;
        }