OSDN Git Service

drm/i915: Only reset hangcheck at the start of an activity cycle
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 9 Jul 2018 13:01:59 +0000 (14:01 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 10 Jul 2018 10:12:15 +0000 (11:12 +0100)
commitb7bb6138c2d5fc0a79a465478c7bbf74902289f7
treeb2dd6172d82b4f48ec3d6899fb02da1a47cf315d
parentcecb368d2fe40e7f6a8166fef35abc69852f7501
drm/i915: Only reset hangcheck at the start of an activity cycle

Across a reset, the seqno (and thus hangcheck) should restart and the
hangcheck naturally progress, for when it does not, we want to declare an
emergency. Currently, we only detect if reset and reinit fails, but we
do not detect if the call to reinit succeeds but the HW is fried - as we
are resetting hangcheck on initialisation the engine. Remove that and
rely on the natural progress to reset the hangcheck timer.

References: e21b141376f9 ("drm/i915: Mark the hangcheck as idle when unparking the engines")
References: 1fd00c0faeec ("drm/i915: Declare the driver wedged if hangcheck makes no progress")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180709130208.11730-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_lrc.c
drivers/gpu/drm/i915/intel_ringbuffer.c