Skip to content

Commit ea491b2

Browse files
committed
drm/i915: Reset the hangcheck timestamp before repeating a seqno
In the unusual circumstance where we reuse a seqno (for example, in igt), make sure that we reset the hangcheck timestamp before it sees the same seqno again. References: https://bugs.freedesktop.org/show_bug.cgi?id=106215 Signed-off-by: Chris Wilson <[email protected]> Cc: Mika Kuoppala <[email protected]> Reviewed-by: Joonas Lahtinen <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent e01569a commit ea491b2

File tree

2 files changed

+2
-0
lines changed

2 files changed

+2
-0
lines changed

drivers/gpu/drm/i915/i915_request.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ static int reset_all_global_seqno(struct drm_i915_private *i915, u32 seqno)
223223
if (!i915_seqno_passed(seqno, engine->timeline.seqno)) {
224224
/* Flush any waiters before we reuse the seqno */
225225
intel_engine_disarm_breadcrumbs(engine);
226+
intel_engine_init_hangcheck(engine);
226227
GEM_BUG_ON(!list_empty(&engine->breadcrumbs.signals));
227228
}
228229

drivers/gpu/drm/i915/intel_hangcheck.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,7 @@ static void i915_hangcheck_elapsed(struct work_struct *work)
452452
void intel_engine_init_hangcheck(struct intel_engine_cs *engine)
453453
{
454454
memset(&engine->hangcheck, 0, sizeof(engine->hangcheck));
455+
engine->hangcheck.action_timestamp = jiffies;
455456
}
456457

457458
void intel_hangcheck_init(struct drm_i915_private *i915)

0 commit comments

Comments
 (0)