[Intel-gfx] [PATCH] drm/i915: Officially give up on seqno coherency

Daniel Vetter daniel.vetter at ffwll.ch
Fri Jun 19 09:43:04 PDT 2015


We've never figured out the magic trick to make irq vs. seqno
updates coherent, only tricks to make it work. And since

commit 094f9a54e35500739da185cdb78f2e92fc379458
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Sep 25 17:34:55 2013 +0100

    drm/i915: Fix __wait_seqno to use true infinite timeouts

we automatically fall back to an irq augmented with polling scheme
after the first missed interrupt. There's really nothing else we can
do, hence tune down the message to informational level. It's still
useful for users in case it reliable preceedes a hard system hang.

Cc: Mark Janes <mark.a.janes at intel.com>
Cc: stable at vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
---
 drivers/gpu/drm/i915/i915_irq.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index e6bb72dca3ff..9350f2e5cd04 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2946,8 +2946,8 @@ static void i915_hangcheck_elapsed(struct work_struct *work)
 					/* Issue a wake-up to catch stuck h/w. */
 					if (!test_and_set_bit(ring->id, &dev_priv->gpu_error.missed_irq_rings)) {
 						if (!(dev_priv->gpu_error.test_irq_rings & intel_ring_flag(ring)))
-							DRM_ERROR("Hangcheck timer elapsed... %s idle\n",
-								  ring->name);
+							DRM_INFO("Hangcheck timer elapsed... %s idle\n",
+								 ring->name);
 						else
 							DRM_INFO("Fake missed irq on %s\n",
 								 ring->name);
-- 
2.1.4



More information about the Intel-gfx mailing list