2001-11-26 20:14:56

by Pavel Machek

[permalink] [raw]
Subject: Restoring videomode on return from S3 sleep

Hi!

I'll need to restore video mode on returning from acpi sleep...

Unfortunately, video selection code is not part of kernel, it is
16-bit code. acpi_wakeup.S, otoh, *is* part of kernel :-(. Plus, I
can't find place where video.S passes number of mode it actually
*used*.

Any ideas?
Pavel
--
<sig in construction>


2001-11-27 18:08:37

by James Simmons

[permalink] [raw]
Subject: Re: Restoring videomode on return from S3 sleep


> Hi!
>
> I'll need to restore video mode on returning from acpi sleep...
>
> Unfortunately, video selection code is not part of kernel, it is
> 16-bit code. acpi_wakeup.S, otoh, *is* part of kernel :-(.

Is this on the console and if it is I assum you are uing vgacon. It could
be the S# card has a broken implemenation. This wouldn't be the first.
Their has been a patch sometime for vesafb to work properly with S3 cards.

S3 framebuffer anyone? I remember their has been scathered work on this
but I never seen anything come to light for this.

> Plus, I
> can't find place where video.S passes number of mode it actually
> *used*.

video.S puts information into struct screen_info which then is used later
by vgacon or vesafb.

P.S
I plan to make struct screen_info go away in 2.5.X.


2001-11-27 18:16:38

by Pavel Machek

[permalink] [raw]
Subject: Re: Restoring videomode on return from S3 sleep

Hi!

> > I'll need to restore video mode on returning from acpi sleep...
> >
> > Unfortunately, video selection code is not part of kernel, it is
> > 16-bit code. acpi_wakeup.S, otoh, *is* part of kernel :-(.
>
> Is this on the console and if it is I assum you are uing vgacon. It could
> be the S# card has a broken implemenation. This wouldn't be the first.
> Their has been a patch sometime for vesafb to work properly with S3 cards.
>
> S3 framebuffer anyone? I remember their has been scathered work on this
> but I never seen anything come to light for this.

Oh. Sorry. By S3 I mean ACPI S3 state. ACPI S3 == suspend to RAM.

Basically what I need is to restore video mode after returning from
ACPI S3 sleep state, so that vesafb works properly.
Pavel
--
Casualities in World Trade Center: 6453 dead inside the building,
cryptography in U.S.A. and free speech in Czech Republic.

2001-11-27 18:30:38

by Daniel Gryniewicz

[permalink] [raw]
Subject: Re: Restoring videomode on return from S3 sleep

On Tue, 27 Nov 2001 19:16:04 +0100
Pavel Machek <[email protected]> wrote:

> Hi!
>
> > > I'll need to restore video mode on returning from acpi sleep...
> > >
> > > Unfortunately, video selection code is not part of kernel, it is
> > > 16-bit code. acpi_wakeup.S, otoh, *is* part of kernel :-(.
> >
> > Is this on the console and if it is I assum you are uing vgacon. It could
> > be the S# card has a broken implemenation. This wouldn't be the first.
> > Their has been a patch sometime for vesafb to work properly with S3 cards.
> >
> > S3 framebuffer anyone? I remember their has been scathered work on this
> > but I never seen anything come to light for this.
>
> Oh. Sorry. By S3 I mean ACPI S3 state. ACPI S3 == suspend to RAM.
>
> Basically what I need is to restore video mode after returning from
> ACPI S3 sleep state, so that vesafb works properly.
> Pavel

I need the same for APM. (I would prefer ACPI, but it currently hangs by box)
I have to use vesafb or I get artifacts (Trident CyberBlade/XP), but then a
resume from APM never restores the video. Presumably, a reset (similar to
when the fb is turned on?) would fix the problem. I haven't looked into it
yet due to lack of time, but if someone else is going to work on it, I'll
gladly help test.

Daniel
---
Recursion n.:
See Recursion.
-- Random Shack Data Processing Dictionary

2001-11-27 18:32:38

by Pavel Machek

[permalink] [raw]
Subject: Re: Restoring videomode on return from S3 sleep

Hi!

> > > > I'll need to restore video mode on returning from acpi sleep...
> > > >
> > > > Unfortunately, video selection code is not part of kernel, it is
> > > > 16-bit code. acpi_wakeup.S, otoh, *is* part of kernel :-(.
> > >
> > > Is this on the console and if it is I assum you are uing vgacon. It could
> > > be the S# card has a broken implemenation. This wouldn't be the first.
> > > Their has been a patch sometime for vesafb to work properly with S3 cards.
> > >
> > > S3 framebuffer anyone? I remember their has been scathered work on this
> > > but I never seen anything come to light for this.
> >
> > Oh. Sorry. By S3 I mean ACPI S3 state. ACPI S3 == suspend to RAM.
> >
> > Basically what I need is to restore video mode after returning from
> > ACPI S3 sleep state, so that vesafb works properly.
>
> I need the same for APM. (I would prefer ACPI, but it currently
> hangs by box)

ACPI and APM are *very* different in this regard: in APM, you stay
protected mode, while with ACPI, you *have to* go through real mode.

> I have to use vesafb or I get artifacts (Trident CyberBlade/XP), but then a
> resume from APM never restores the video. Presumably, a reset (similar to
> when the fb is turned on?) would fix the problem. I haven't looked into it
> yet due to lack of time, but if someone else is going to work on it, I'll
> gladly help test.


It is going to be different from ACPI sleep support.

...or...

maybe not. vesafb with ability to go back realmode and reinit hw would
be nice -- and it would also fix your APM problem. But I doubt that's
implementable.
Pavel
--
Casualities in World Trade Center: 6453 dead inside the building,
cryptography in U.S.A. and free speech in Czech Republic.