Author: jkim
Date: Mon Apr  4 17:30:33 2011
New Revision: 220334
URL: http://svn.freebsd.org/changeset/base/220334

Log:
  Fix bogus logic to calculate delta between two values from ACPI timers.

Modified:
  head/sys/dev/acpica/acpi.c

Modified: head/sys/dev/acpica/acpi.c
==============================================================================
--- head/sys/dev/acpica/acpi.c  Mon Apr  4 17:00:50 2011        (r220333)
+++ head/sys/dev/acpica/acpi.c  Mon Apr  4 17:30:33 2011        (r220334)
@@ -2088,15 +2088,10 @@ acpi_GetHandleInScope(ACPI_HANDLE parent
 uint32_t
 acpi_TimerDelta(uint32_t end, uint32_t start)
 {
-    uint32_t delta;
 
-    if (end >= start)
-       delta = end - start;
-    else if (AcpiGbl_FADT.Flags & ACPI_FADT_32BIT_TIMER)
-       delta = ((0xFFFFFFFF - start) + end + 1);
-    else
-       delta = ((0x00FFFFFF - start) + end + 1) & 0x00FFFFFF;
-    return (delta);
+       if (end < start && (AcpiGbl_FADT.Flags & ACPI_FADT_32BIT_TIMER) == 0)
+               end |= 0x01000000;
+       return (end - start);
 }
 
 /*
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to