DragonFly submit List (threaded) for 2007-01
DragonFly BSD
DragonFly submit List (threaded) for 2007-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: ACPI-CA update patch for review


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 15 Jan 2007 11:28:06 -0800 (PST)

:While looking around, I found that AcpiEnterSleepStateS4Bios() has
:similar spin loop at the bottom, but with a call to AcpiOsStall()
:(== DELAY()) before AcpiGetRegister().  So I tried adding it to
:AcpiEnterSleepState() too, and to my amazement, the problem went away.
:I tried several ten times of suspending and waking up the laptop,
:but I'm no longer able to reproduce it.  My question, though, is why
:why just a DELAY() makes any difference (ISTR making gd_spinlocks_wr
:volatile didn't solve the problem).
:
:Anyway, new version is here:
:  http://les.ath.cx/DragonFly/acpi-20061109-19.diff
:
:Cheers.

    My guess is that it is related to BIOS interactions with system
    management events.  It's the same-old, same-old.  Commercial vendors
    hire too many idiot programmers who make the same sad mistakes over
    and over and over again, like using an unsynchronized clock for the
    ACPI timer that can mess bits up when you read it, or just implement
    24 bits, or depend on specific timing arrangements instead of hard
    handshakes.  It really annoys the heck out of me.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]