Subject: Re: ACPI suspend support.
To: Steven M. Bellovin <smb@cs.columbia.edu>
From: Kentaro A. Kurahone <kurahone@sigusr1.org>
List: tech-kern
Date: 01/25/2005 16:25:27
On Tue, Jan 25, 2005 at 11:15:13AM -0500, Steven M. Bellovin wrote:
[snip]
> More generically, I think that many -- most? -- device drivers need
> suspend and resume hooks.  The former may be null for drivers where an 
> interrupted operation is unimportant, such as on a network card.  But 
> lots of drivers will need to reinitialize state after a resume.  Apart 
> from the ones already mentioned, speedstep does the wrong thing (see 
> port-i386/28790); I also have to reset the output level on my sound 
> card.

Unfortunately, every device needs a suspend/resume hook to do ACPI suspend,
because all the stuff in the configuration space gets blown away durring
suspend. (The exception to this is S1 standby, where all the devices
maintain power.)

The silver lining to this typhoon is that fixing this stuff makes things
like "implementing software suspend" easier, since ACPI's S3 suspend is
very similar from a hardware point of view[0].

-- 
Kentaro A. Kurahone
SIGUSR1 Research and Development

[0]: The only difference seems to be that RAM maintains state, and
you can jump right into the recovery code.