S3 state handled in BIOS?
Bruno Ducrot
ducrot at poupinou.org
Mon May 23 10:36:03 GMT 2005
On Sun, May 22, 2005 at 09:30:42PM -0400, Alexandre Sunny Kovalenko wrote:
> Good people,
>
> after much pocking around my laptop (Averatec
> 3150H), /usr/src/sys/i386/acpica/acpi_wakeup.c
> and /usr/src/sys/contrib/dev/acpica/hwsleep.c, I came to conclusion that
> S3 state in my case causes BIOS to suspend machine at the point when
> SLP_TYP and SLP_EN are set and resume it from that same point,
> completely ignoring wakeup vector.
>
> This would cause FreeBSD to hit infinite loop in acpi_sleep_machdep
> (acpi_wakeup.c) and never come back. Replacing that loop with
> AcpiOsSleep(5000) lets system resume properly.
>
> This kind of sleep (pseudo S3?) about doubles battery life, which is not
> much to write home about, but matches what Windows does on the same
> hardware, so, I guess, it is best I am going to get.
>
> Question that I have to the list is whether somebody who knows ACPI
> thinks that it is common enough situation to warrant tunable along the
> lines of 'hw.acpi.s3bios', which would eliminate infinite loop if set?
>
> I have unconditionally eliminated the loop for now and have been testing
> it here for awhile without any bad side effects.
>
> If your system appears to hang after resume from S3 while turning power
> on, you might want to try attached very simplistic patch.
>
I think your machine actually perform S1, not S3, likely because the
values associated to _S3 (a package in the asl) are for _S1.
Cheers,
--
Bruno Ducrot
-- Which is worse: ignorance or apathy?
-- Don't know. Don't care.
More information about the freebsd-acpi
mailing list