diff options
author | Chris Wilson <[email protected]> | 2017-01-10 17:22:42 +0000 |
---|---|---|
committer | Chris Wilson <[email protected]> | 2017-01-10 20:49:29 +0000 |
commit | 2edc6e0df1c15c0cc665a8aa61dcf2c540e90a70 (patch) | |
tree | aafc3297fd9b5363ea80c83ff0cf1a7b49138b87 | |
parent | 246ee524a2846fc0f32b8ac9d846bc93e38851e8 (diff) |
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 <[email protected]>
Cc: Tvrtko Ursulin <[email protected]>
Cc: Mika Kuoppala <[email protected]>
Reviewed-by: Tvrtko Ursulin <[email protected]>
Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 91d726f8bdfa..fb2433175a3d 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -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); |