* [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend @ 2008-03-09 1:49 ` Andres Salomon 0 siblings, 0 replies; 21+ messages in thread From: Andres Salomon @ 2008-03-09 1:49 UTC (permalink / raw) To: adaplas Cc: linux-fbdev-devel, linux-kernel, info-linux, Andrew, Jordan Crouse, Morton 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. + config HW_CONSOLE bool depends on VT && !S390 && !UML diff --git a/drivers/video/geode/Kconfig b/drivers/video/geode/Kconfig index c5d8ba4..1497fe4 100644 --- a/drivers/video/geode/Kconfig +++ b/drivers/video/geode/Kconfig @@ -29,6 +29,7 @@ config FB_GEODE_GX select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT + select FBDEV_SUPPORTS_NOSWITCH ---help--- Framebuffer driver for the display controller integrated into the AMD Geode GX processors. diff --git a/include/linux/suspend.h b/include/linux/suspend.h index 1d7d4c5..46080f5 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h @@ -11,7 +11,7 @@ #include <linux/mm.h> #include <asm/errno.h> -#if defined(CONFIG_PM_SLEEP) && defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) +#if defined(CONFIG_PM_SLEEP) && defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) && !defined(CONFIG_DISABLE_SUSPEND_VT_SWITCH) extern int pm_prepare_console(void); extern void pm_restore_console(void); #else diff --git a/kernel/power/console.c b/kernel/power/console.c index 89bcf49..dca98f5 100644 --- a/kernel/power/console.c +++ b/kernel/power/console.c @@ -9,7 +9,7 @@ #include <linux/console.h> #include "power.h" -#if defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) +#if defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) && !defined(CONFIG_DISABLE_SUSPEND_VT_SWITCH) #define SUSPEND_CONSOLE (MAX_NR_CONSOLES-1) static int orig_fgconsole, orig_kmsg; -- 1.5.3.7 ------------------------------------------------------------------------- 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/ ^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend @ 2008-03-09 1:49 ` Andres Salomon 0 siblings, 0 replies; 21+ messages in thread From: Andres Salomon @ 2008-03-09 1:49 UTC (permalink / raw) To: adaplas Cc: linux-kernel, linux-fbdev-devel, info-linux, Jordan Crouse, Andrew Morton 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. + config HW_CONSOLE bool depends on VT && !S390 && !UML diff --git a/drivers/video/geode/Kconfig b/drivers/video/geode/Kconfig index c5d8ba4..1497fe4 100644 --- a/drivers/video/geode/Kconfig +++ b/drivers/video/geode/Kconfig @@ -29,6 +29,7 @@ config FB_GEODE_GX select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT + select FBDEV_SUPPORTS_NOSWITCH ---help--- Framebuffer driver for the display controller integrated into the AMD Geode GX processors. diff --git a/include/linux/suspend.h b/include/linux/suspend.h index 1d7d4c5..46080f5 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h @@ -11,7 +11,7 @@ #include <linux/mm.h> #include <asm/errno.h> -#if defined(CONFIG_PM_SLEEP) && defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) +#if defined(CONFIG_PM_SLEEP) && defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) && !defined(CONFIG_DISABLE_SUSPEND_VT_SWITCH) extern int pm_prepare_console(void); extern void pm_restore_console(void); #else diff --git a/kernel/power/console.c b/kernel/power/console.c index 89bcf49..dca98f5 100644 --- a/kernel/power/console.c +++ b/kernel/power/console.c @@ -9,7 +9,7 @@ #include <linux/console.h> #include "power.h" -#if defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) +#if defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) && !defined(CONFIG_DISABLE_SUSPEND_VT_SWITCH) #define SUSPEND_CONSOLE (MAX_NR_CONSOLES-1) static int orig_fgconsole, orig_kmsg; -- 1.5.3.7 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend 2008-03-09 1:49 ` Andres Salomon @ 2008-03-10 21:19 ` Andrew Morton -1 siblings, 0 replies; 21+ messages in thread From: Andrew Morton @ 2008-03-10 21:19 UTC (permalink / raw) To: Andres Salomon Cc: linux-fbdev-devel, adaplas, linux-kernel, info-linux, Rafael J. Wysocki, jordan.crouse, Samuel Thibault 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. ------------------------------------------------------------------------- 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/ ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend @ 2008-03-10 21:19 ` Andrew Morton 0 siblings, 0 replies; 21+ messages in thread From: Andrew Morton @ 2008-03-10 21:19 UTC (permalink / raw) To: Andres Salomon Cc: adaplas, linux-kernel, linux-fbdev-devel, info-linux, jordan.crouse, Rafael J. Wysocki, Samuel Thibault 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. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend 2008-03-10 21:19 ` Andrew Morton @ 2008-03-10 21:44 ` Andres Salomon -1 siblings, 0 replies; 21+ messages in thread From: Andres Salomon @ 2008-03-10 21:44 UTC (permalink / raw) To: Andrew Morton Cc: linux-fbdev-devel, adaplas, linux-kernel, info-linux, Rafael J. Wysocki, jordan.crouse, Samuel Thibault 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.. ------------------------------------------------------------------------- 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/ ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend @ 2008-03-10 21:44 ` Andres Salomon 0 siblings, 0 replies; 21+ messages in thread From: Andres Salomon @ 2008-03-10 21:44 UTC (permalink / raw) To: Andrew Morton Cc: adaplas, linux-kernel, linux-fbdev-devel, info-linux, jordan.crouse, Rafael J. Wysocki, Samuel Thibault 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.. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend 2008-03-10 21:44 ` Andres Salomon @ 2008-03-10 21:51 ` Andrew Morton -1 siblings, 0 replies; 21+ messages in thread From: Andrew Morton @ 2008-03-10 21:51 UTC (permalink / raw) To: Andres Salomon Cc: linux-fbdev-devel, adaplas, linux-kernel, info-linux, rjw, jordan.crouse, samuel.thibault On Mon, 10 Mar 2008 17:44:24 -0400 Andres Salomon <dilinger@queued.net> wrote: > On Mon, 10 Mar 2008 14:19:39 -0700 > Andrew Morton <akpm@linux-foundation.org> wrote: > > > > > 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.. > I don't think you need any ifdefs or config options at all, do you? Just add a new module parameter to this driver and some little interface into the PM core which allows the driver to set no_vt_switch? ------------------------------------------------------------------------- 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/ ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend @ 2008-03-10 21:51 ` Andrew Morton 0 siblings, 0 replies; 21+ messages in thread From: Andrew Morton @ 2008-03-10 21:51 UTC (permalink / raw) To: Andres Salomon Cc: adaplas, linux-kernel, linux-fbdev-devel, info-linux, jordan.crouse, rjw, samuel.thibault On Mon, 10 Mar 2008 17:44:24 -0400 Andres Salomon <dilinger@queued.net> wrote: > On Mon, 10 Mar 2008 14:19:39 -0700 > Andrew Morton <akpm@linux-foundation.org> wrote: > > > > > 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.. > I don't think you need any ifdefs or config options at all, do you? Just add a new module parameter to this driver and some little interface into the PM core which allows the driver to set no_vt_switch? ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend 2008-03-10 21:51 ` Andrew Morton @ 2008-03-10 22:14 ` Andres Salomon -1 siblings, 0 replies; 21+ messages in thread From: Andres Salomon @ 2008-03-10 22:14 UTC (permalink / raw) To: Andrew Morton Cc: linux-fbdev-devel, adaplas, linux-kernel, info-linux, rjw, jordan.crouse, samuel.thibault On Mon, 10 Mar 2008 14:51:18 -0700 Andrew Morton <akpm@linux-foundation.org> wrote: > On Mon, 10 Mar 2008 17:44:24 -0400 > Andres Salomon <dilinger@queued.net> wrote: > > > On Mon, 10 Mar 2008 14:19:39 -0700 > > Andrew Morton <akpm@linux-foundation.org> wrote: > > > > > > > > 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.. > > > > I don't think you need any ifdefs or config options at all, do you? Just > add a new module parameter to this driver and some little interface into > the PM core which allows the driver to set no_vt_switch? > That's a possibility, but doesn't adding hooks into PM core for two drivers (lxfb and gxfb) seems like overkill? I also don't really see anyone needing to switch back and forth between VT_SWITCH and NO_VT_SWITCH other than to work around possible bugs in the register save/restore code.. ------------------------------------------------------------------------- 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/ ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend @ 2008-03-10 22:14 ` Andres Salomon 0 siblings, 0 replies; 21+ messages in thread From: Andres Salomon @ 2008-03-10 22:14 UTC (permalink / raw) To: Andrew Morton Cc: adaplas, linux-kernel, linux-fbdev-devel, info-linux, jordan.crouse, rjw, samuel.thibault On Mon, 10 Mar 2008 14:51:18 -0700 Andrew Morton <akpm@linux-foundation.org> wrote: > On Mon, 10 Mar 2008 17:44:24 -0400 > Andres Salomon <dilinger@queued.net> wrote: > > > On Mon, 10 Mar 2008 14:19:39 -0700 > > Andrew Morton <akpm@linux-foundation.org> wrote: > > > > > > > > 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.. > > > > I don't think you need any ifdefs or config options at all, do you? Just > add a new module parameter to this driver and some little interface into > the PM core which allows the driver to set no_vt_switch? > That's a possibility, but doesn't adding hooks into PM core for two drivers (lxfb and gxfb) seems like overkill? I also don't really see anyone needing to switch back and forth between VT_SWITCH and NO_VT_SWITCH other than to work around possible bugs in the register save/restore code.. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: PM/FB/gxfb: add config option that allows disabling of VT switch during suspend 2008-03-10 22:14 ` Andres Salomon @ 2008-03-10 22:24 ` Jordan Crouse -1 siblings, 0 replies; 21+ messages in thread From: Jordan Crouse @ 2008-03-10 22:24 UTC (permalink / raw) To: Andres Salomon Cc: linux-fbdev-devel, adaplas, linux-kernel, info-linux, rjw, samuel.thibault, Andrew Morton On 10/03/08 18:14 -0400, Andres Salomon wrote: > On Mon, 10 Mar 2008 14:51:18 -0700 > Andrew Morton <akpm@linux-foundation.org> wrote: > > > On Mon, 10 Mar 2008 17:44:24 -0400 > > Andres Salomon <dilinger@queued.net> wrote: > > > > > On Mon, 10 Mar 2008 14:19:39 -0700 > > > Andrew Morton <akpm@linux-foundation.org> wrote: > > > > > > > > > > > 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.. > > > > > > > I don't think you need any ifdefs or config options at all, do you? Just > > add a new module parameter to this driver and some little interface into > > the PM core which allows the driver to set no_vt_switch? > > > > That's a possibility, but doesn't adding hooks into PM core for two > drivers (lxfb and gxfb) seems like overkill? I also don't really see > anyone needing to switch back and forth between VT_SWITCH and > NO_VT_SWITCH other than to work around possible bugs in the register > save/restore code.. I like Andrew's idea. I wager This won't be Geode specific for long. Either other drivers will get the hint and add real save/restore code or the GPU subystem code being worked on by the X folks will come along and make the VT switch obsolete for everybody. Either way, I see hooks in the PM core as generic love that everybody can benefit from. Jordan -- Jordan Crouse Systems Software Development Engineer Advanced Micro Devices, Inc. ------------------------------------------------------------------------- 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/ ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: PM/FB/gxfb: add config option that allows disabling of VT switch during suspend @ 2008-03-10 22:24 ` Jordan Crouse 0 siblings, 0 replies; 21+ messages in thread From: Jordan Crouse @ 2008-03-10 22:24 UTC (permalink / raw) To: Andres Salomon Cc: Andrew Morton, adaplas, linux-kernel, linux-fbdev-devel, info-linux, rjw, samuel.thibault On 10/03/08 18:14 -0400, Andres Salomon wrote: > On Mon, 10 Mar 2008 14:51:18 -0700 > Andrew Morton <akpm@linux-foundation.org> wrote: > > > On Mon, 10 Mar 2008 17:44:24 -0400 > > Andres Salomon <dilinger@queued.net> wrote: > > > > > On Mon, 10 Mar 2008 14:19:39 -0700 > > > Andrew Morton <akpm@linux-foundation.org> wrote: > > > > > > > > > > > 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.. > > > > > > > I don't think you need any ifdefs or config options at all, do you? Just > > add a new module parameter to this driver and some little interface into > > the PM core which allows the driver to set no_vt_switch? > > > > That's a possibility, but doesn't adding hooks into PM core for two > drivers (lxfb and gxfb) seems like overkill? I also don't really see > anyone needing to switch back and forth between VT_SWITCH and > NO_VT_SWITCH other than to work around possible bugs in the register > save/restore code.. I like Andrew's idea. I wager This won't be Geode specific for long. Either other drivers will get the hint and add real save/restore code or the GPU subystem code being worked on by the X folks will come along and make the VT switch obsolete for everybody. Either way, I see hooks in the PM core as generic love that everybody can benefit from. Jordan -- Jordan Crouse Systems Software Development Engineer Advanced Micro Devices, Inc. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: PM/FB/gxfb: add config option that allows disabling of VT switch during suspend 2008-03-10 22:24 ` Jordan Crouse @ 2008-03-10 23:06 ` Pavel Machek -1 siblings, 0 replies; 21+ messages in thread From: Pavel Machek @ 2008-03-10 23:06 UTC (permalink / raw) To: Jordan Crouse Cc: linux-fbdev-devel, adaplas, linux-kernel, info-linux, rjw, samuel.thibault, Andrew Morton Hi! > > > > 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.. > > > > > > > > > > I don't think you need any ifdefs or config options at all, do you? Just > > > add a new module parameter to this driver and some little interface into > > > the PM core which allows the driver to set no_vt_switch? > > > > > > > That's a possibility, but doesn't adding hooks into PM core for two > > drivers (lxfb and gxfb) seems like overkill? I also don't really see > > anyone needing to switch back and forth between VT_SWITCH and > > NO_VT_SWITCH other than to work around possible bugs in the register > > save/restore code.. > > I like Andrew's idea. I wager This won't be Geode specific for long. > Either other drivers will get the hint and add real save/restore code > or the GPU subystem code being worked on by the X folks will come along > and make the VT switch obsolete for everybody. Either way, I see hooks > in the PM core as generic love that everybody can benefit from. Exactly. We'd like _all_ drivers to behave like this. -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ------------------------------------------------------------------------- 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/ ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: PM/FB/gxfb: add config option that allows disabling of VT switch during suspend @ 2008-03-10 23:06 ` Pavel Machek 0 siblings, 0 replies; 21+ messages in thread From: Pavel Machek @ 2008-03-10 23:06 UTC (permalink / raw) To: Jordan Crouse Cc: Andres Salomon, Andrew Morton, adaplas, linux-kernel, linux-fbdev-devel, info-linux, rjw, samuel.thibault Hi! > > > > 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.. > > > > > > > > > > I don't think you need any ifdefs or config options at all, do you? Just > > > add a new module parameter to this driver and some little interface into > > > the PM core which allows the driver to set no_vt_switch? > > > > > > > That's a possibility, but doesn't adding hooks into PM core for two > > drivers (lxfb and gxfb) seems like overkill? I also don't really see > > anyone needing to switch back and forth between VT_SWITCH and > > NO_VT_SWITCH other than to work around possible bugs in the register > > save/restore code.. > > I like Andrew's idea. I wager This won't be Geode specific for long. > Either other drivers will get the hint and add real save/restore code > or the GPU subystem code being worked on by the X folks will come along > and make the VT switch obsolete for everybody. Either way, I see hooks > in the PM core as generic love that everybody can benefit from. Exactly. We'd like _all_ drivers to behave like this. -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend 2008-03-10 22:14 ` Andres Salomon @ 2008-03-10 22:28 ` Rafael J. Wysocki -1 siblings, 0 replies; 21+ messages in thread From: Rafael J. Wysocki @ 2008-03-10 22:28 UTC (permalink / raw) To: Andres Salomon Cc: linux-fbdev-devel, adaplas, linux-kernel, info-linux, jordan.crouse, Pavel Machek, samuel.thibault, Andrew Morton On Monday, 10 of March 2008, Andres Salomon wrote: > On Mon, 10 Mar 2008 14:51:18 -0700 > Andrew Morton <akpm@linux-foundation.org> wrote: > > > On Mon, 10 Mar 2008 17:44:24 -0400 > > Andres Salomon <dilinger@queued.net> wrote: > > > > > On Mon, 10 Mar 2008 14:19:39 -0700 > > > Andrew Morton <akpm@linux-foundation.org> wrote: > > > > > > > > > > > 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.. > > > > > > > I don't think you need any ifdefs or config options at all, do you? Just > > add a new module parameter to this driver and some little interface into > > the PM core which allows the driver to set no_vt_switch? > > > > That's a possibility, but doesn't adding hooks into PM core for two > drivers (lxfb and gxfb) seems like overkill? I also don't really see > anyone needing to switch back and forth between VT_SWITCH and > NO_VT_SWITCH other than to work around possible bugs in the register > save/restore code.. FWIW, I prefer the original .config option idea. Thanks, Rafael ------------------------------------------------------------------------- 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/ ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend @ 2008-03-10 22:28 ` Rafael J. Wysocki 0 siblings, 0 replies; 21+ messages in thread From: Rafael J. Wysocki @ 2008-03-10 22:28 UTC (permalink / raw) To: Andres Salomon Cc: Andrew Morton, adaplas, linux-kernel, linux-fbdev-devel, info-linux, jordan.crouse, samuel.thibault, Pavel Machek On Monday, 10 of March 2008, Andres Salomon wrote: > On Mon, 10 Mar 2008 14:51:18 -0700 > Andrew Morton <akpm@linux-foundation.org> wrote: > > > On Mon, 10 Mar 2008 17:44:24 -0400 > > Andres Salomon <dilinger@queued.net> wrote: > > > > > On Mon, 10 Mar 2008 14:19:39 -0700 > > > Andrew Morton <akpm@linux-foundation.org> wrote: > > > > > > > > > > > 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.. > > > > > > > I don't think you need any ifdefs or config options at all, do you? Just > > add a new module parameter to this driver and some little interface into > > the PM core which allows the driver to set no_vt_switch? > > > > That's a possibility, but doesn't adding hooks into PM core for two > drivers (lxfb and gxfb) seems like overkill? I also don't really see > anyone needing to switch back and forth between VT_SWITCH and > NO_VT_SWITCH other than to work around possible bugs in the register > save/restore code.. FWIW, I prefer the original .config option idea. Thanks, Rafael ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend 2008-03-10 22:28 ` Rafael J. Wysocki (?) @ 2008-03-10 23:37 ` Andrew Morton -1 siblings, 0 replies; 21+ messages in thread From: Andrew Morton @ 2008-03-10 23:37 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Andres Salomon, adaplas, linux-kernel, linux-fbdev-devel, info-linux, jordan.crouse, samuel.thibault, Pavel Machek On Mon, 10 Mar 2008 23:28:18 +0100 "Rafael J. Wysocki" <rjw@sisk.pl> wrote: > > > > 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.. > > > > > > > > > > I don't think you need any ifdefs or config options at all, do you? Just > > > add a new module parameter to this driver and some little interface into > > > the PM core which allows the driver to set no_vt_switch? > > > > > > > That's a possibility, but doesn't adding hooks into PM core for two > > drivers (lxfb and gxfb) seems like overkill? I also don't really see > > anyone needing to switch back and forth between VT_SWITCH and > > NO_VT_SWITCH other than to work around possible bugs in the register > > save/restore code.. > > FWIW, I prefer the original .config option idea. Please explain your reasoning? ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend 2008-03-10 22:14 ` Andres Salomon @ 2008-03-10 22:28 ` Andrew Morton -1 siblings, 0 replies; 21+ messages in thread From: Andrew Morton @ 2008-03-10 22:28 UTC (permalink / raw) To: Andres Salomon Cc: linux-fbdev-devel, adaplas, linux-kernel, info-linux, rjw, jordan.crouse, samuel.thibault On Mon, 10 Mar 2008 18:14:46 -0400 Andres Salomon <dilinger@queued.net> wrote: > On Mon, 10 Mar 2008 14:51:18 -0700 > Andrew Morton <akpm@linux-foundation.org> wrote: > > > On Mon, 10 Mar 2008 17:44:24 -0400 > > Andres Salomon <dilinger@queued.net> wrote: > > > > > On Mon, 10 Mar 2008 14:19:39 -0700 > > > Andrew Morton <akpm@linux-foundation.org> wrote: > > > > > > > > > > > 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.. > > > > > > > I don't think you need any ifdefs or config options at all, do you? Just > > add a new module parameter to this driver and some little interface into > > the PM core which allows the driver to set no_vt_switch? > > > > That's a possibility, but doesn't adding hooks into PM core for two > drivers (lxfb and gxfb) seems like overkill? It's just a few bytes of code? > I also don't really see > anyone needing to switch back and forth between VT_SWITCH and > NO_VT_SWITCH other than to work around possible bugs in the register > save/restore code.. Making driver behaviour depend upon compile-time settings is really to be avoided. A distributor has to choose one setting or the other, and a) that means that some people will get the wrong setting and b) there's a decent chance that the distributor will get it wrong. ------------------------------------------------------------------------- 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/ ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend @ 2008-03-10 22:28 ` Andrew Morton 0 siblings, 0 replies; 21+ messages in thread From: Andrew Morton @ 2008-03-10 22:28 UTC (permalink / raw) To: Andres Salomon Cc: adaplas, linux-kernel, linux-fbdev-devel, info-linux, jordan.crouse, rjw, samuel.thibault On Mon, 10 Mar 2008 18:14:46 -0400 Andres Salomon <dilinger@queued.net> wrote: > On Mon, 10 Mar 2008 14:51:18 -0700 > Andrew Morton <akpm@linux-foundation.org> wrote: > > > On Mon, 10 Mar 2008 17:44:24 -0400 > > Andres Salomon <dilinger@queued.net> wrote: > > > > > On Mon, 10 Mar 2008 14:19:39 -0700 > > > Andrew Morton <akpm@linux-foundation.org> wrote: > > > > > > > > > > > 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.. > > > > > > > I don't think you need any ifdefs or config options at all, do you? Just > > add a new module parameter to this driver and some little interface into > > the PM core which allows the driver to set no_vt_switch? > > > > That's a possibility, but doesn't adding hooks into PM core for two > drivers (lxfb and gxfb) seems like overkill? It's just a few bytes of code? > I also don't really see > anyone needing to switch back and forth between VT_SWITCH and > NO_VT_SWITCH other than to work around possible bugs in the register > save/restore code.. Making driver behaviour depend upon compile-time settings is really to be avoided. A distributor has to choose one setting or the other, and a) that means that some people will get the wrong setting and b) there's a decent chance that the distributor will get it wrong. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend 2008-03-10 21:19 ` Andrew Morton @ 2008-03-10 23:05 ` Pavel Machek -1 siblings, 0 replies; 21+ messages in thread From: Pavel Machek @ 2008-03-10 23:05 UTC (permalink / raw) To: Andrew Morton Cc: linux-fbdev-devel, adaplas, linux-kernel, info-linux, Rafael J. Wysocki, jordan.crouse, Samuel Thibault On Mon 2008-03-10 14:19:39, Andrew Morton 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). ... > It would be far preferable to do this via a kernel boot parameter rather > than via a kernel rebuild. Actually, it would be better to get this right automatically, without any config options. And no, this is not only gxfb/lxfb. At least Sharp Zaurus and FIC neo1973 can suspend without switching consoles... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ------------------------------------------------------------------------- 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/ ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] PM/FB/gxfb: add config option that allows disabling of VT switch during suspend @ 2008-03-10 23:05 ` Pavel Machek 0 siblings, 0 replies; 21+ messages in thread From: Pavel Machek @ 2008-03-10 23:05 UTC (permalink / raw) To: Andrew Morton Cc: Andres Salomon, adaplas, linux-kernel, linux-fbdev-devel, info-linux, jordan.crouse, Rafael J. Wysocki, Samuel Thibault On Mon 2008-03-10 14:19:39, Andrew Morton 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). ... > It would be far preferable to do this via a kernel boot parameter rather > than via a kernel rebuild. Actually, it would be better to get this right automatically, without any config options. And no, this is not only gxfb/lxfb. At least Sharp Zaurus and FIC neo1973 can suspend without switching consoles... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2008-03-10 23:37 UTC | newest] Thread overview: 21+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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-09 1:49 ` Andres Salomon 2008-03-10 21:19 ` Andrew Morton 2008-03-10 21:19 ` Andrew Morton 2008-03-10 21:44 ` Andres Salomon 2008-03-10 21:44 ` Andres Salomon 2008-03-10 21:51 ` Andrew Morton 2008-03-10 21:51 ` Andrew Morton 2008-03-10 22:14 ` Andres Salomon 2008-03-10 22:14 ` Andres Salomon 2008-03-10 22:24 ` Jordan Crouse 2008-03-10 22:24 ` Jordan Crouse 2008-03-10 23:06 ` Pavel Machek 2008-03-10 23:06 ` Pavel Machek 2008-03-10 22:28 ` [PATCH 6/6] " Rafael J. Wysocki 2008-03-10 22:28 ` Rafael J. Wysocki 2008-03-10 23:37 ` Andrew Morton 2008-03-10 22:28 ` Andrew Morton 2008-03-10 22:28 ` Andrew Morton 2008-03-10 23:05 ` Pavel Machek 2008-03-10 23:05 ` Pavel Machek
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.