Re: [PATCH] Software Suspend: Fix suspend when console is inVT_AUTO/KD_GRAPHICS mode

From: Andrew Johnson
Date: Fri Mar 09 2007 - 16:59:32 EST


On Fri, 2007-09-03 at 21:13 +0000, Pavel Machek wrote:
> Hi!
>
> > > > So... if current console is graphical, we leave X accessing the
> > > > console... That's bad, because video state is not going to be
> > > > restored...?
> > >
> > > A graphical console is not necessarily X. Is there any requirement for
> > > there to be a single VT that isn't in text mode? The vt switching is
> > > a hack, we shouldn't make life difficult for people who have their own
> > > userspace code that's entirely capable of restoring video state on its
> > > own.
> >
> > The problem actually comes about when using Qtopia Phone Edition (QPE)
> > on a PXA270. QPE puts the console into VT_AUTO+KD_GRAPHICS mode and
> > writes directly to the framebuffer from then on. In this mode the
> > kernel correctly disallows a console change, as QPE is not getting
> > notification of a console change and thus does not know when to repaint
> > the screen.
>
> Fix qpe to use vt_process, instead?

The real issue seems to be the assumption in pm_prepare_console() that
set_console() will succeed. set_console() may fail (resulting in
vt_waitactive waiting for a console switch that can never happen or a
break) for two currently unchecked reasons:

- console is in VT_AUTO+KD_GRAPHICS mode
- vt_dont_switch is set

> ...how does qpe know when to repaint the screen, anyway?

QPE doesn't need to repaint the screen after wake-up - the framebuffer
memory is retained so the PXA270 lcd controller simply displays what was
last on the screen when it is re-enabled.

-- Andrew








-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/