Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a424d761 authored by Chris Ball's avatar Chris Ball Committed by Dave Airlie
Browse files

drm/nouveau/kms: Avoid a hang entering KDB with VT accel on.



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: default avatarFrancisco Jerez <currojerez@riseup.net>
Signed-off-by: default avatarChris Ball <cjb@laptop.org>
Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent ff773714
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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,
@@ -860,6 +861,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);
}