projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4f2c733
)
drm/i915: Do a full device reset after being wedged
author
Chris Wilson
<chris@chris-wilson.co.uk>
Mon, 3 Sep 2018 08:33:33 +0000
(09:33 +0100)
committer
Chris Wilson
<chris@chris-wilson.co.uk>
Mon, 3 Sep 2018 11:02:01 +0000
(12:02 +0100)
We only call unset_wedged on the global reset path (since it's a global
operation), so if we are terminally wedged and wish to reset, take the
full device reset path rather than the quicker individual engine resets.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20180903083337.13134-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_irq.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/i915_irq.c
b/drivers/gpu/drm/i915/i915_irq.c
index e31093ce871c35b80fc0c8d76ea13bdf4940ae00..10f28a2ee2e6f5ac93f5a144b4fda52f4a2f78c0 100644
(file)
--- a/
drivers/gpu/drm/i915/i915_irq.c
+++ b/
drivers/gpu/drm/i915/i915_irq.c
@@
-3309,7
+3309,8
@@
void i915_handle_error(struct drm_i915_private *dev_priv,
* Try engine reset when available. We fall back to full reset if
* single reset fails.
*/
- if (intel_has_reset_engine(dev_priv)) {
+ if (intel_has_reset_engine(dev_priv) &&
+ !i915_terminally_wedged(&dev_priv->gpu_error)) {
for_each_engine_masked(engine, dev_priv, engine_mask, tmp) {
BUILD_BUG_ON(I915_RESET_MODESET >= I915_RESET_ENGINE);
if (test_and_set_bit(I915_RESET_ENGINE + engine->id,