Skip to content

Commit

Permalink
drm/i915/selftests: Assert that the idle_pulse is sent
Browse files Browse the repository at this point in the history
When checking the heartbeat pulse, we expect it to have been sent by the
time we have slept. We can verify this by checking the engine serial
number to see if that matches the predicted pulse serial. It will always
be true if, and only if, the pulse was sent by itself (as designed by
the test).

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/20191031094259.23028-1-chris@chris-wilson.co.uk
  • Loading branch information
Chris Wilson committed Oct 31, 2019
1 parent 29b2765 commit 1db257c
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ static int __live_idle_pulse(struct intel_engine_cs *engine,
goto out;
}

GEM_BUG_ON(READ_ONCE(engine->serial) != engine->wakeref_serial);

pulse_unlock_wait(p); /* synchronize with the retirement callback */

if (!i915_active_is_idle(&p->active)) {
Expand Down Expand Up @@ -337,7 +339,7 @@ int intel_heartbeat_live_selftests(struct drm_i915_private *i915)
saved_hangcheck = i915_modparams.enable_hangcheck;
i915_modparams.enable_hangcheck = INT_MAX;

err = intel_gt_live_subtests(tests, &i915->gt);
err = intel_gt_live_subtests(tests, &i915->gt);

i915_modparams.enable_hangcheck = saved_hangcheck;
return err;
Expand Down

0 comments on commit 1db257c

Please sign in to comment.