mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 01:51:34 +00:00
drm/i915/gt: Only ignore already reset requests
If a request is being re-run after an innocent reset, it is marked as -EAGAIN. So only skip an engine reset if the request is marked as -EIO. Testcase: igt/gem_ctx_exec/basic-nohangcheck Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200207161602.2838218-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
0db1a5f870
commit
6e17ae7380
@ -419,7 +419,7 @@ static struct intel_engine_cs *__active_engine(struct i915_request *rq)
|
||||
}
|
||||
|
||||
engine = NULL;
|
||||
if (i915_request_is_active(rq) && !rq->fence.error)
|
||||
if (i915_request_is_active(rq) && rq->fence.error != -EIO)
|
||||
engine = rq->engine;
|
||||
|
||||
spin_unlock_irq(&locked->active.lock);
|
||||
|
@ -1182,7 +1182,7 @@ static void intel_gt_reset_global(struct intel_gt *gt,
|
||||
|
||||
kobject_uevent_env(kobj, KOBJ_CHANGE, error_event);
|
||||
|
||||
drm_dbg(>->i915->drm, "resetting chip\n");
|
||||
drm_dbg(>->i915->drm, "resetting chip, engines=%x\n", engine_mask);
|
||||
kobject_uevent_env(kobj, KOBJ_CHANGE, reset_event);
|
||||
|
||||
/* Use a watchdog to ensure that our reset completes */
|
||||
|
Loading…
Reference in New Issue
Block a user