Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2edc6e0d authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915: Consolidate reset_request()



Always reset the requests of the guilty context, including the hung
request that we tell the hardware to skip. This should help if the
reprogram fails entirely, but more importantly makes the guilty path
more uniform (and simplifies the subsequent patch to tweak the cancelled
requests).

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170110172246.27297-1-chris@chris-wilson.co.uk
parent 246ee524
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -2658,13 +2658,13 @@ static void i915_gem_reset_engine(struct intel_engine_cs *engine)
		ring_hung = false;
	}

	if (ring_hung)
	if (ring_hung) {
		i915_gem_context_mark_guilty(hung_ctx);
	else
		reset_request(request);
	} else {
		i915_gem_context_mark_innocent(hung_ctx);

	if (!ring_hung)
		return;
	}

	DRM_DEBUG_DRIVER("resetting %s to restart from tail of request 0x%x\n",
			 engine->name, request->global_seqno);