mirror of https://gitee.com/openkylin/linux.git
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: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170110172246.27297-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
246ee524a2
commit
2edc6e0df1
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue