Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Apr 2011 17:30:33 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r220334 - head/sys/dev/acpica
Message-ID:  <201104041730.p34HUXrJ090542@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 }
 
 /*



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