suspend/resume improved?

Eric Anderson anderson at centtech.com
Sat Dec 11 22:22:56 PST 2004


Nate Lawson wrote:
> Ulrich Spoerlein wrote:
> 
>> On Fri, 10.12.2004 at 10:43:26 -0800, Nate Lawson wrote:
>>
>>>> Line 444 is the culprit:
>>>>   ACPI_FLUSH_CPU_CACHE ();
>>>>
>>>>   Status = AcpiHwRegisterWrite (ACPI_MTX_DO_NOT_LOCK,   
>>>> ACPI_REGISTER_PM1A_CONTROL, PM1AControl);
>>>>   if (ACPI_FAILURE (Status))
>>>>   {
>>>>       return_ACPI_STATUS (Status);
>>>>   }
>>>>
>>>> Putting the loop before AcpiHwRegisterWrite will enter infinite loop,
>>>> putting it after it -> Reset
>>>
>>>
>>> Interesting.  If you add a "DELAY(10000);" before the register write, 
>>> does this help?  A more likely issue is that we need to write pm1a/b 
>>> at the same time.  Let me think about this and get you more info later.
>>
>>
>>
>> It "looks" like the delay does nothing, however I noticed that all three
>> LEDs (num/scroll/caps lock) were lighting up for 1-2s.
>>
>> I then swapped pm1a and pm1b, but nothing changed.
> 
> 
> That's not quite what I meant.  The acpi-ca code splits the write of 
> SLP_TYP and SLP_EN into two separate writes.  I suspect some BIOSes 
> don't like this.  Try the attached patch that combines them.

I just tried this patch (my laptop is having similar responses) - no 
change. I'm off to adding some manual debug code to the acpi source 
files you mentioned in an earlier email.

I can't seem to find Warner's beep code patch though - do you have a 
pointer?

Eric


-- 
------------------------------------------------------------------------
Eric Anderson        Sr. Systems Administrator        Centaur Technology
When in doubt, mumble; when in trouble, delegate; when in charge, ponder
------------------------------------------------------------------------


More information about the freebsd-acpi mailing list