aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2018-08-08 06:50:59 -0400
committerChris Wilson <chris@chris-wilson.co.uk>2018-08-08 12:08:06 -0400
commitc1e63f6df3d3e9e4d0da67f6c8aabdfbe592371f (patch)
tree69c8dbad74a76053a16fa9ff9e11749b1b4c3074 /drivers/gpu/drm/i915
parent1a260e1117a4ba5c39224fd00adcac78c84411b1 (diff)
drm/i915: Warn if we hit the timeout for wait-for-idle
Hitting the timeout and finding that all engines are actually idle is indicative of an interrupt delivery problem. This problem is an issue that we need to fix, so make sure we log it and provide the GEM trace. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180808105101.913-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 460f256114f7..71502512ac1f 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3823,6 +3823,12 @@ int i915_gem_wait_for_idle(struct drm_i915_private *i915,
3823 if (timeout < 0) 3823 if (timeout < 0)
3824 return timeout; 3824 return timeout;
3825 } 3825 }
3826 if (GEM_SHOW_DEBUG() && !timeout) {
3827 /* Presume that timeout was non-zero to begin with! */
3828 dev_warn(&i915->drm.pdev->dev,
3829 "Missed idle-completion interrupt!\n");
3830 GEM_TRACE_DUMP();
3831 }
3826 3832
3827 err = wait_for_engines(i915); 3833 err = wait_for_engines(i915);
3828 if (err) 3834 if (err)