mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-19 23:56:16 +07:00
drm/i915: Skip repeated calls to i915_gem_set_wedged()
If we already wedged, i915_gem_set_wedged() becomes a complicated no-op. References: https://bugs.freedesktop.org/show_bug.cgi?id=107343 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180723145335.24579-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
07685c827b
commit
3970c65c2b
@ -3312,8 +3312,8 @@ void i915_gem_set_wedged(struct drm_i915_private *i915)
|
||||
intel_engine_dump(engine, &p, "%s\n", engine->name);
|
||||
}
|
||||
|
||||
set_bit(I915_WEDGED, &i915->gpu_error.flags);
|
||||
smp_mb__after_atomic();
|
||||
if (test_and_set_bit(I915_WEDGED, &i915->gpu_error.flags))
|
||||
goto out;
|
||||
|
||||
/*
|
||||
* First, stop submission to hw, but do not yet complete requests by
|
||||
@ -3372,6 +3372,7 @@ void i915_gem_set_wedged(struct drm_i915_private *i915)
|
||||
i915_gem_reset_finish_engine(engine);
|
||||
}
|
||||
|
||||
out:
|
||||
GEM_TRACE("end\n");
|
||||
|
||||
wake_up_all(&i915->gpu_error.reset_queue);
|
||||
|
Loading…
Reference in New Issue
Block a user