Re: [RFC] Reliable video POSTing on resume (was: Re: [ACPI] Samsung P35, S3, black screen (radeon))

Jon Smirl
2005-02-04T05:03:53Z

Reseting a video card from suspend is essentially the same problem as
reseting secondary video cards on boot. The same code can address both
problems.

Some things to consider....

1) With multiple video cards you have to ensure only a single VGA gets
enabled. Running video reset on a card is going to turn on it's VGA
emulation. So you have to ensure that VGA emulation on other cards is
disabled first.

2) I add the 'rom' parameter in sysfs so that you can get to the rom
contents from a user space app. It's there to support running video
reset code. "echo 1 >rom" to see the contents, it is not enabled by
default.

3) The user space reset programs have to be serialized because of the
rule about only a single VGA at a time. Calling vm86 from kernel mode
is not a good idea. Doing this in user space lets you have two reset
programs, vm86 and emu86 for non-x86 machines.

A starting place for a user space reset program:
ftp://ftp.scitechsoft.com/devel/obsolete/x86emu/x86emu-0.8.tar.gz

This thread talks about the VGA routing code:
http://lkml.org/lkml/2005/1/17/347

--
Jon Smirl
jonsmirl@gmail.com