Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 May 2005 17:32:54 -0400
From:      "Alexandre \"Sunny\" Kovalenko" <Alex.Kovalenko@verizon.net>
To:        Nate Lawson <nate@root.org>
Cc:        acpi@freebsd.org
Subject:   Re: S3 state handled in BIOS?
Message-ID:  <1116883974.681.4.camel@RabbitsDen>
In-Reply-To: <42921446.2000405@root.org>
References:  <1116811842.671.22.camel@RabbitsDen> <20050523103252.GX21800@poupinou.org>  <42921446.2000405@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2005-05-23 at 10:35 -0700, Nate Lawson wrote:
> Bruno Ducrot wrote:
> > 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.
> 
> 
> In that case, it would be interesting to see the acpidump -t -d and 
> compare values for the _S1 and _S3 nodes.
> 
It does not seem to have S1 entry in ASL (see below). I will play with
it a little bit more and see whether creating S1 node with the set of
flags from \_S3 results in some logical behavior. Is it sufficient to 
duplicate an entry, or do I need to add it elsewhere?

    Name (\_S0, Package (0x04)
    {
        0x00, 
        0x00, 
        0x00, 
        0x00
    })
    Name (\_S3, Package (0x04)
    {
        0x04, 
        0x00, 
        0x00, 
        0x00
    })
    Name (\_S4, Package (0x04)
    {
        0x02, 
        0x00, 
        0x00, 
        0x00
    })
    Name (\_S5, Package (0x04)
    {
        0x02, 
        0x00, 
        0x00, 
        0x00
    })
    
Thank you for your help,
-- 
Alexandre "Sunny" Kovalenko (Олександр Коваленко)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1116883974.681.4.camel>