Intel-GFX Archive on lore.kernel.org
 help / color / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: intel-gfx <intel-gfx@lists.freedesktop.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: [PATCH] drm/i915: kicking rings considered harmful
Date: Mon, 26 Sep 2011 19:59:50 +0200
Message-ID: <1317059990-1922-1-git-send-email-daniel.vetter@ffwll.ch> (raw)
In-Reply-To: <CAObL_7Hi+c2aEtEMzrMNnrQXfnUmNY_ZnP==xCd7egMoKBow_g@mail.gmail.com>

Only do it in the hope of resurrecting the gpu. Disable when reset is
disabled because it seems to tremendously increases our changes to
actually capture an error_state before the system goes all belly-up.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
Hi Andrew,

Can you please apply this patch and boot your system with

i915.reset=0 i915.semaphores=1

and rehang your gpu? This patch to fully disable any attempts at
resurrecting a dead gpu hopefully prevents the full system hang you're
experiencing. At least it helps greatly here on my systems.

If the systems isn't completely dead with this, can you please ssh
into the machine and grabe dmesg, i915_error_state, Xorg.log and
whatever else there might be?

Thanks a lot,

Daniel

 drivers/gpu/drm/i915/i915_drv.c |    2 +-
 drivers/gpu/drm/i915/i915_drv.h |    1 +
 drivers/gpu/drm/i915/i915_irq.c |    2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index b79c6f1..ad85c13 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -91,7 +91,7 @@ MODULE_PARM_DESC(vbt_sdvo_panel_type,
 		"Override selection of SDVO panel mode in the VBT "
 		"(default: auto)");
 
-static bool i915_try_reset __read_mostly = true;
+bool i915_try_reset __read_mostly = true;
 module_param_named(reset, i915_try_reset, bool, 0600);
 MODULE_PARM_DESC(reset, "Attempt GPU resets (default: true)");
 
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 3621336..788a801 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -995,6 +995,7 @@ extern unsigned int i915_semaphores __read_mostly;
 extern unsigned int i915_lvds_downclock __read_mostly;
 extern unsigned int i915_panel_use_ssc __read_mostly;
 extern int i915_vbt_sdvo_panel_type __read_mostly;
+extern bool i915_try_reset __read_mostly;
 extern unsigned int i915_enable_rc6 __read_mostly;
 extern unsigned int i915_enable_fbc __read_mostly;
 extern bool i915_enable_hangcheck __read_mostly;
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index da5d607..09c11e4 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -1694,7 +1694,7 @@ void i915_hangcheck_elapsed(unsigned long data)
 		if (dev_priv->hangcheck_count++ > 1) {
 			DRM_ERROR("Hangcheck timer elapsed... GPU hung\n");
 
-			if (!IS_GEN2(dev)) {
+			if (!IS_GEN2(dev) && i915_try_reset) {
 				/* Is the chip hanging on a WAIT_FOR_EVENT?
 				 * If so we can simply poke the RB_WAIT bit
 				 * and break the hang. This should work on
-- 
1.7.6.2

  reply index

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-13  5:38 [2.6.39 regression] hard lock when GNOME starts Andrew Lutomirski
2011-05-13 16:07 ` Andrew Lutomirski
2011-05-13 16:14   ` [PATCH] drm/i915: Revert i915.semaphore=1 default from 47ae63e0 Andy Lutomirski
2011-05-15 23:09     ` Keith Packard
2011-05-19 19:56     ` Keith Packard
2011-05-19 20:50       ` Andrew Lutomirski
2011-05-24 17:10         ` Andrew Lutomirski
2011-05-24 17:46           ` Keith Packard
2011-05-24 20:05           ` Ivan Bulatovic
2011-06-07  7:12         ` Eric Anholt
2011-06-10 14:06           ` Andrew Lutomirski
2011-08-22 16:53             ` Jesse Barnes
2011-08-31 18:24               ` Ben Widawsky
2011-08-31 18:30               ` Andrew Lutomirski
2011-08-31 19:07                 ` Keith Packard
2011-08-31 19:37                   ` Andrew Lutomirski
2011-09-26 17:59                     ` Daniel Vetter [this message]
2011-09-26 19:07                       ` [PATCH] drm/i915: kicking rings considered harmful Andrew Lutomirski
2011-09-27  9:57                         ` Daniel Vetter
2011-09-27  5:22                       ` Ben Widawsky
2011-09-27 10:03                         ` Daniel Vetter
2011-09-27 16:46                           ` Ben Widawsky
2011-09-27 17:31                             ` Chris Wilson
2011-09-27 18:03                               ` Daniel Vetter
2011-09-27 19:38                                 ` Ben Widawsky
2011-09-27 21:54                                   ` Chris Wilson
2011-09-28  1:34                                     ` Ben Widawsky
2011-09-28  8:47                                       ` Chris Wilson
2011-09-28  8:53                                         ` Daniel Vetter
2011-10-03 20:21                                           ` Andrew Lutomirski
2011-10-03 21:02                                             ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1317059990-1922-1-git-send-email-daniel.vetter@ffwll.ch \
    --to=daniel.vetter@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Intel-GFX Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/intel-gfx/0 intel-gfx/git/0.git
	git clone --mirror https://lore.kernel.org/intel-gfx/1 intel-gfx/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 intel-gfx intel-gfx/ https://lore.kernel.org/intel-gfx \
		intel-gfx@lists.freedesktop.org
	public-inbox-index intel-gfx

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.freedesktop.lists.intel-gfx


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git