[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1286887801-8179-6-git-send-email-jason.wessel@windriver.com>
Date: Tue, 12 Oct 2010 07:50:01 -0500
From: Jason Wessel <jason.wessel@...driver.com>
To: airlied@...ux.ie
Cc: jbarnes@...tuousgeek.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, Chris Ball <cjb@...top.org>,
Jason Wessel <jason.wessel@...driver.com>
Subject: [PATCH 5/5] drm/nouveau/kms: Avoid a hang entering KDB with VT accel on.
From: Chris Ball <cjb@...top.org>
Francisco Jerez advises that pre-nv20 cards would hang if we entered
kdb with accel on and IRQs disabled, so we now disable accel before
entering kdb and re-enable it on the way back out.
Reported-by: Francisco Jerez <currojerez@...eup.net>
Signed-off-by: Chris Ball <cjb@...top.org>
Signed-off-by: Jason Wessel <jason.wessel@...driver.com>
---
drivers/gpu/drm/nouveau/nv04_crtc.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nv04_crtc.c b/drivers/gpu/drm/nouveau/nv04_crtc.c
index c5dfbdc..02426d8 100644
--- a/drivers/gpu/drm/nouveau/nv04_crtc.c
+++ b/drivers/gpu/drm/nouveau/nv04_crtc.c
@@ -33,6 +33,7 @@
#include "nouveau_fb.h"
#include "nouveau_hw.h"
#include "nvreg.h"
+#include "nouveau_fbcon.h"
static int
nv04_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
@@ -859,6 +860,14 @@ nv04_crtc_mode_set_base_atomic(struct drm_crtc *crtc,
struct drm_framebuffer *fb,
int x, int y, int enter)
{
+ struct drm_nouveau_private *dev_priv = crtc->dev->dev_private;
+ struct drm_device *dev = dev_priv->dev;
+
+ if (enter)
+ nouveau_fbcon_save_disable_accel(dev);
+ else
+ nouveau_fbcon_restore_accel(dev);
+
return nv04_crtc_do_mode_set_base(crtc, fb, x, y, true);
}
--
1.6.3.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists