Re: [Suspend-devel] Linux 2.6.23-rc2

Rafael J. Wysocki
2007-08-06T19:09:09Z

On Monday, 6 August 2007 18:40, H. Peter Anvin wrote:
> Rafael J. Wysocki wrote:
> > On Monday, 6 August 2007 02:36, Jeff Chua wrote:
> >> On 8/6/07, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> >>
> >>> What does 's2ram -i' say about your machine?
> >> This machine can be identified by:
> >> sys_vendor = "LENOVO"
> >> sys_product = "1702E7A"
> >> sys_version = "ThinkPad X60s"
> >> bios_version = "7BETD0WW (2.11 )"
> >
> > This means it's not in the whitelist, AFAICS.
> >
> > Similar machines are known to work with "--acpi_sleep=3" or with
> > "--acpi_sleep=1 --vbe_mode".
> >
>
> I'm not all that familiar with s2ram.

It's just a wrapper around the kernel's suspend code that allows you to restore
the state of the graphics by running some additional code in real mode from
the user space.

> Any feel for why the behaviour would have changed from the old setup code at
> all?

With "--vbe_mode" s2ram saves the VBE mode setting before the suspend and sets
it to the same value after the resume. Thus, it seems that the VBE mode
setting was previously preserved across the suspend/resume cycle and now it is
not.

Running s2ram with "--acpi_sleep 1" is equivalent to echoing 1 to
/proc/sys/kernel/acpi_video_flags before the suspend.

> Since the setup code isn't entered on resume from STR (unlike resume from
> STD), as far as I know, there can only be "some little bit of state" hanging
> around.

The real mode code executed during resume is in
arch/x86_64/kernel/acpi/wakeup.S or in arch/i386/kernel/acpi/wakeup.S ,
depending on the architecture.

Greetings,
Rafael

--
"Premature optimization is the root of all evil." - Donald Knuth