From: Andres Salomon <dilinger@queued.net>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: adaplas@gmail.com, linux-kernel@vger.kernel.org,
linux-fbdev-devel@lists.sourceforge.net,
info-linux@geode.amd.com, jordan.crouse@amd.com,
"Rafael J. Wysocki" <rjw@sisk.pl>,
Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend
Date: Mon, 10 Mar 2008 17:44:24 -0400 [thread overview]
Message-ID: <20080310174424.29621e62@ephemeral> (raw)
In-Reply-To: <20080310141939.ce1169c0.akpm@linux-foundation.org>
On Mon, 10 Mar 2008 14:19:39 -0700
Andrew Morton <akpm@linux-foundation.org> wrote:
> On Sat, 8 Mar 2008 20:49:27 -0500
> Andres Salomon <dilinger@queued.net> wrote:
>
> > This is purely for suspend/resume time optimization.
> >
> >
> > >From 874aa20022a2501a30704163ed31a7baba7de9e5 Mon Sep 17 00:00:00 2001
> > From: Andres Salomon <dilinger@debian.org>
> > 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 <dilinger@debian.org>
> > ---
> > 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.
>
Well, it shouldn't be supported at _all_ unless the framebuffer driver
supports it; you're asking for it to be converted to something like the
following?
#ifdef CONFIG_FBDEV_SUPPORTS_NOSWITCH
static int no_vt_switch;
#endif
int pm_prepare_console(void)
{
#ifdef CONFIG_FBDEV_SUPPORTS_NOSWITCH
if (no_vt_switch)
return 0;
#endif
...
}
#ifdef CONFIG_FBDEV_SUPPORTS_NOSWITCH
module_param(no_vt_switch, int, 0);
MODULE_PARM_DESC(no_vt_switch, "...");
#endif
If so, that means extra #ifdef's sprinkled throughout the code. Note
that most framebuffer drivers won't be supporting this, and those that
do will almost certainly always want vt switching turned off..
next prev parent reply other threads:[~2008-03-10 21:40 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-09 1:49 [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend Andres Salomon
2008-03-10 21:19 ` Andrew Morton
2008-03-10 21:44 ` Andres Salomon [this message]
2008-03-10 21:51 ` Andrew Morton
2008-03-10 22:14 ` Andres Salomon
2008-03-10 22:24 ` Jordan Crouse
2008-03-10 23:06 ` Pavel Machek
2008-03-10 22:28 ` [PATCH 6/6] " Rafael J. Wysocki
2008-03-10 23:37 ` Andrew Morton
2008-03-10 22:28 ` Andrew Morton
2008-03-10 23:05 ` Pavel Machek
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=20080310174424.29621e62@ephemeral \
--to=dilinger@queued.net \
--cc=adaplas@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=info-linux@geode.amd.com \
--cc=jordan.crouse@amd.com \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=rjw@sisk.pl \
--cc=samuel.thibault@ens-lyon.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox