Date: Sun, 22 May 2005 21:30:42 -0400 From: "Alexandre \"Sunny\" Kovalenko" <Alex.Kovalenko@verizon.net> To: acpi@freebsd.org Subject: S3 state handled in BIOS? Message-ID: <1116811842.671.22.camel@RabbitsDen>
next in thread | raw e-mail | index | archive | help
--Boundary_(ID_ORCt1LQYbQI4EE4/TPqVUg) Content-type: text/plain; charset=iso-8859-5 Content-transfer-encoding: 8BIT 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. -- Alexandre "Sunny" Kovalenko (¾ÛÕÚáÐÝÔà ºÞÒÐÛÕÝÚÞ) --Boundary_(ID_ORCt1LQYbQI4EE4/TPqVUg) Content-type: text/x-patch; name=acpi_wakeup.c.patch; charset=ASCII Content-transfer-encoding: 7BIT Content-disposition: attachment; filename=acpi_wakeup.c.patch --- acpi_wakeup.c.ORIG Sun May 22 21:22:42 2005 +++ acpi_wakeup.c Sun May 22 21:25:11 2005 @@ -258,7 +258,8 @@ goto out; } - for (;;) ; + AcpiOsSleep(5000); + intr_resume(); } else { /* Execute Wakeup */ intr_resume(); --Boundary_(ID_ORCt1LQYbQI4EE4/TPqVUg)--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1116811842.671.22.camel>