ACPICA: Add time macros for various timer/time manipulation.
authorBob Moore <robert.moore@intel.com>
Mon, 31 Dec 2012 00:05:46 +0000 (00:05 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 10 Jan 2013 11:36:20 +0000 (12:36 +0100)
Constants for time manipulation, including constants for the 100
nanosecond timers. Chao Guan, Bob Moore, Lv Zheng.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/hwsleep.c
drivers/acpi/acpica/hwtimer.c
drivers/acpi/acpica/hwxfsleep.c
include/acpi/actypes.h

index 691a5fb10d4d302f434882ba8cea08c29249c2f8..675a8f8650630f10105aed4901f6a77047832d74 100644 (file)
@@ -177,7 +177,7 @@ acpi_status acpi_hw_legacy_sleep(u8 sleep_state)
                 * to still read the right value. Ideally, this block would go
                 * away entirely.
                 */
-               acpi_os_stall(10000000);
+               acpi_os_stall(10 * ACPI_USEC_PER_SEC);
 
                status = acpi_hw_register_write(ACPI_REGISTER_PM1_CONTROL,
                                                sleep_enable_reg_info->
index bfdce22f37988721385ff0d9f19131c2ff405a2d..4e741d85e6b4f2d051243869efe4baa234ec37e0 100644 (file)
@@ -176,10 +176,11 @@ acpi_get_timer_duration(u32 start_ticks, u32 end_ticks, u32 * time_elapsed)
        /*
         * Compute Duration (Requires a 64-bit multiply and divide):
         *
-        * time_elapsed = (delta_ticks * 1000000) / PM_TIMER_FREQUENCY;
+        * time_elapsed (microseconds) =
+        *  (delta_ticks * ACPI_USEC_PER_SEC) / ACPI_PM_TIMER_FREQUENCY;
         */
-       status = acpi_ut_short_divide(((u64) delta_ticks) * 1000000,
-                                     PM_TIMER_FREQUENCY, &quotient, NULL);
+       status = acpi_ut_short_divide(((u64)delta_ticks) * ACPI_USEC_PER_SEC,
+                                     ACPI_PM_TIMER_FREQUENCY, &quotient, NULL);
 
        *time_elapsed = (u32) quotient;
        return_ACPI_STATUS(status);
index 6fcee00cb34b5ac9d36d170483e932e726c7ab6d..ca4df0f1a621f6880cdc78b092eb8bd0e9ce7580 100644 (file)
@@ -207,7 +207,7 @@ acpi_status asmlinkage acpi_enter_sleep_state_s4bios(void)
                                    (u32)acpi_gbl_FADT.s4_bios_request, 8);
 
        do {
-               acpi_os_stall(1000);
+               acpi_os_stall(ACPI_USEC_PER_MSEC);
                status =
                    acpi_read_bit_register(ACPI_BITREG_WAKE_STATUS, &in_value);
                if (ACPI_FAILURE(status)) {
index 3de70eddd4e5d23fc475e308864dad321b75371e..796a63e887eefd5d5fbde51c46ed209d28276df8 100644 (file)
@@ -341,7 +341,7 @@ typedef u32 acpi_physical_address;
 
 /* PM Timer ticks per second (HZ) */
 
-#define PM_TIMER_FREQUENCY              3579545
+#define ACPI_PM_TIMER_FREQUENCY         3579545
 
 /*******************************************************************************
  *
@@ -373,6 +373,21 @@ typedef u32 acpi_name;             /* 4-byte ACPI name */
 typedef char *acpi_string;     /* Null terminated ASCII string */
 typedef void *acpi_handle;     /* Actually a ptr to a NS Node */
 
+/* Time constants for timer calculations */
+
+#define ACPI_MSEC_PER_SEC               1000L
+
+#define ACPI_USEC_PER_MSEC              1000L
+#define ACPI_USEC_PER_SEC               1000000L
+
+#define ACPI_100NSEC_PER_USEC           10L
+#define ACPI_100NSEC_PER_MSEC           10000L
+#define ACPI_100NSEC_PER_SEC            10000000L
+
+#define ACPI_NSEC_PER_USEC              1000L
+#define ACPI_NSEC_PER_MSEC              1000000L
+#define ACPI_NSEC_PER_SEC               1000000000L
+
 /* Owner IDs are used to track namespace nodes for selective deletion */
 
 typedef u8 acpi_owner_id;