All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Rudorff <chris-4cZEHNAa5IdBDgjK7y7TUQ@public.gmane.org>
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH] drm/nouveau/fbcon: fix suspend/resume fbcon
Date: Tue, 19 Nov 2013 17:59:13 +0100	[thread overview]
Message-ID: <1384880353.25836.12.camel@localhost> (raw)

Current code disables fbcon acceleration before fbcon is suspended,
leading to corrupted console after resume from s2disk. In a similar
fashion we must make sure that fbcon acceleration is enabled before we
revive the console.

With this patch s2disk works correctly on my MacBookPro6,2 with GT216
[GeForce GT 330M]

hibernate:
kernel: nouveau  [     DRM] suspending fbcon...
kernel: nouveau  [     DRM] suspending display...
kernel: nouveau  [     DRM] unpinning framebuffer(s)...
kernel: nouveau  [     DRM] evicting buffers...
kernel: nouveau  [     DRM] waiting for kernel channels to go idle...
kernel: nouveau  [     DRM] suspending client object trees...
kernel: nouveau  [     DRM] suspending kernel object tree...
resume:
kernel: nouveau  [     DRM] re-enabling device...
kernel: nouveau  [     DRM] resuming kernel object tree...
kernel: nouveau  [   VBIOS][0000:01:00.0] running init tables
kernel: nouveau  [     DRM] resuming client object trees...
kernel: nouveau  [     DRM] resuming display...
kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe000 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe000 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe240 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe400 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT

http://lists.freedesktop.org/archives/nouveau/2013-October/014656.html
---
 drivers/gpu/drm/nouveau/nouveau_fbcon.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index b035317..3fa6628 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
@@ -513,11 +513,11 @@ void nouveau_fbcon_set_suspend(struct drm_device *dev, int state)
 {
 	struct nouveau_drm *drm = nouveau_drm(dev);
 	console_lock();
-	if (state == 0)
-		nouveau_fbcon_save_disable_accel(dev);
-	fb_set_suspend(drm->fbcon->helper.fbdev, state);
-	if (state == 1)
+	if (state == FBINFO_STATE_RUNNING)
 		nouveau_fbcon_restore_accel(dev);
+	fb_set_suspend(drm->fbcon->helper.fbdev, state);
+	if (state == FBINFO_STATE_SUSPENDED)
+		nouveau_fbcon_save_disable_accel(dev);
 	console_unlock();
 }
 
-- 
1.7.10.4

             reply	other threads:[~2013-11-19 16:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-19 16:59 Christoph Rudorff [this message]
2013-11-19 18:48 ` [PATCH] drm/nouveau/fbcon: fix suspend/resume fbcon Greg KH
2013-11-19 19:23   ` Christoph Rudorff
     [not found]     ` <528BBAC3.9060908-4cZEHNAa5IdBDgjK7y7TUQ@public.gmane.org>
2013-12-01 20:58       ` Emil Velikov

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=1384880353.25836.12.camel@localhost \
    --to=chris-4czehnaa5idbdgjk7y7tuq@public.gmane.org \
    --cc=bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.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
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.