Thread (11 messages) 11 messages, 5 authors, 2008-03-10

Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2008-03-10 21:25:56
Also in: lkml

On Sat, 8 Mar 2008 20:49:27 -0500
Andres Salomon [off-list ref] wrote:
quoted hunk ↗ jump to hunk
This is purely for suspend/resume time optimization.

quoted
From 874aa20022a2501a30704163ed31a7baba7de9e5 Mon Sep 17 00:00:00 2001
From: Andres Salomon <redacted>
Date: Wed, 5 Mar 2008 16:40:25 -0500
Subject: [PATCH] PM: add config option that allows disabling of VT switch during suspend

Prior to suspend, we allocate and switch to a new VT; after suspend, we
switch back to the original VT.  This can be slow, and is completely
unnecessary if the framebuffer we're using can restore video properly.

This adds CONFIG_DISABLE_SUSPEND_VT_SWITCH which allows the user to
select whether or not to do that switch.  This has been tested with the
gxfb driver (on a Geode GX dev board and OLPC prototype machines).  In
order for the user to even see this option, a framebuffer has to declare
support for it (via CONFIG_FBDEV_SUPPORTS_NOSWITCH).

Signed-off-by: Andres Salomon <redacted>
---
 drivers/char/Kconfig        |   21 +++++++++++++++++++++
 drivers/video/geode/Kconfig |    1 +
 include/linux/suspend.h     |    2 +-
 kernel/power/console.c      |    2 +-
 4 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 47c6be8..7fe0e85 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -58,6 +58,27 @@ config VT_CONSOLE
 
 	  If unsure, say Y.
 
+config FBDEV_SUPPORTS_NOSWITCH
+	bool
+	default n
+
+config DISABLE_SUSPEND_VT_SWITCH
+	bool "Disable the console switch prior to suspend (EXPERIMENTAL)"
+	depends on VT_CONSOLE && PM && EXPERIMENTAL && FBDEV_SUPPORTS_NOSWITCH
+	default n
+	---help---
+	  This option disables the automatic switch to VT console that happens
+	  prior to Linux going into a suspend/sleep.  Your
+	  video card/framebuffer must be able to properly restore the
+	  display (even if X is doing something crazy!) in this scenario.
+	  This is useful for saving precious milliseconds during suspend and
+	  resume; however, if your framebuffer lacks support, it could leave
+	  your display in a weird state.  If you're even seeing this option,
+	  it means at least one of your selected framebuffer drivers supports
+	  restoring the display.
+
+	  If unsure, say N.
It would be far preferable to do this via a kernel boot parameter rather
than via a kernel rebuild.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help