All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcin Slusarz <marcin.slusarz@gmail.com>
To: "Ortwin Glück" <odi@odi.ch>
Cc: linux-kernel@vger.kernel.org, bskeggs@redhat.com,
	dri-devel@lists.freedesktop.org, airlied@redhat.com
Subject: Re: drm/nouveau: crash regression in 3.5
Date: Wed, 25 Jul 2012 20:42:05 +0200	[thread overview]
Message-ID: <20120725184205.GA3119@joi.lan> (raw)
In-Reply-To: <500FB279.1020904@odi.ch>

On Wed, Jul 25, 2012 at 10:46:49AM +0200, Ortwin Glück wrote:
> > Does it work if you boot without X and modprobe nouveau manually? If it does,
> > can you disable page flipping in xorg.conf (Option "PageFlip" "0" in nouveau
> > device section) and recheck with X?
> 
> It happens long before X, when the nouveau module is loaded.
> 
> > Does it work if you disable acceleration (nouveau.noaccel=1 in kernel command
> > line)?
> 
> nouveau.noaccel=1 is already on my cmdline as running X with accel 
> enabled never worked anyway.
> 
>  > Is there anything saved in /var/log/ from previous boot? Can you ssh
> > into and check dmesg? Can you use netconsole and catch full log?
> 
> Thanks for the netconsole tip. I have attached the log.
> 

Good, below patch should fix this panic.

Note that you can hit an oops in drm_handle_vblank because patch from
http://lists.freedesktop.org/archives/dri-devel/2012-May/023498.html
has not been applied (yet?).

--
From: Marcin Slusarz <marcin.slusarz@gmail.com>
Date: Wed, 25 Jul 2012 20:07:22 +0200
Subject: [PATCH] drm/nouveau: init vblank requests list

Fixes kernel panic when vblank interrupt triggers before first sync to vblank
request.

(Besides init, remove some relevant leftovers from vblank rework)

Reported-by: Ortwin Glück <odi@odi.ch>
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Cc: stable@vger.kernel.org [3.5]
---
 drivers/gpu/drm/nouveau/nouveau_drv.h      |    2 --
 drivers/gpu/drm/nouveau/nouveau_irq.c      |    4 ----
 drivers/gpu/drm/nouveau/nouveau_software.h |    1 +
 3 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
index 8613cb2..b863a3a 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.h
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
@@ -689,8 +689,6 @@ struct drm_nouveau_private {
 	void (*irq_handler[32])(struct drm_device *);
 	bool msi_enabled;
 
-	struct list_head vbl_waiting;
-
 	struct {
 		struct drm_global_reference mem_global_ref;
 		struct ttm_bo_global_ref bo_global_ref;
diff --git a/drivers/gpu/drm/nouveau/nouveau_irq.c b/drivers/gpu/drm/nouveau/nouveau_irq.c
index 868c7fd..b2c2937 100644
--- a/drivers/gpu/drm/nouveau/nouveau_irq.c
+++ b/drivers/gpu/drm/nouveau/nouveau_irq.c
@@ -41,12 +41,8 @@
 void
 nouveau_irq_preinstall(struct drm_device *dev)
 {
-	struct drm_nouveau_private *dev_priv = dev->dev_private;
-
 	/* Master disable */
 	nv_wr32(dev, NV03_PMC_INTR_EN_0, 0);
-
-	INIT_LIST_HEAD(&dev_priv->vbl_waiting);
 }
 
 int
diff --git a/drivers/gpu/drm/nouveau/nouveau_software.h b/drivers/gpu/drm/nouveau/nouveau_software.h
index e60bc6c..b507a92 100644
--- a/drivers/gpu/drm/nouveau/nouveau_software.h
+++ b/drivers/gpu/drm/nouveau/nouveau_software.h
@@ -38,6 +38,7 @@ static inline void
 nouveau_software_context_new(struct nouveau_software_chan *pch)
 {
 	INIT_LIST_HEAD(&pch->flip);
+	INIT_LIST_HEAD(&pch->vblank.list);
 }
 
 static inline void
-- 

  reply	other threads:[~2012-07-25 18:42 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-23 18:01 drm/nouveau: crash regression in 3.5 Ortwin Glück
2012-07-24 17:00 ` Marcin Slusarz
2012-07-24 17:22   ` Ortwin Glück
2012-07-24 20:57     ` Marcin Slusarz
2012-07-25  8:46       ` Ortwin Glück
2012-07-25 18:42         ` Marcin Slusarz [this message]
2012-07-26 12:56           ` Ortwin Glück
2012-07-26 15:47             ` Marcin Slusarz
2012-07-29 20:15             ` Marcin Slusarz
2012-07-29 20:15               ` Marcin Slusarz
2012-07-30  8:46               ` Maarten Lankhorst
2012-07-30 11:16               ` Ortwin Glück
2012-07-30 17:16                 ` Marcin Slusarz
2012-07-31  7:06                   ` Ortwin Glück
2012-08-01 15:47                   ` Ortwin Glück
2012-08-02 11:26                     ` Ortwin Glück
2012-08-02 16:56                       ` Marcin Slusarz
2012-10-30 17:47                         ` Ortwin Glück

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=20120725184205.GA3119@joi.lan \
    --to=marcin.slusarz@gmail.com \
    --cc=airlied@redhat.com \
    --cc=bskeggs@redhat.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=odi@odi.ch \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.