ACPICA: Debug object: Add current value of Timer() to debug line prefix.
authorBob Moore <robert.moore@intel.com>
Wed, 30 Jul 2014 04:21:19 +0000 (12:21 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 30 Jul 2014 22:50:23 +0000 (00:50 +0200)
Simplifies timing of things like control method execution.

[zetalog: fixing 64-bit division link error]

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/exdebug.c

index 4cfc3d3b5c97ddbddf19450f86759d5f32fb2dab..6fbfad47518c825c046f9c3eea50aafa103f48fe 100644 (file)
@@ -75,6 +75,7 @@ acpi_ex_do_debug_object(union acpi_operand_object *source_desc,
                        u32 level, u32 index)
 {
        u32 i;
+       u32 timer;
 
        ACPI_FUNCTION_TRACE_PTR(ex_do_debug_object, source_desc);
 
@@ -85,12 +86,20 @@ acpi_ex_do_debug_object(union acpi_operand_object *source_desc,
                return_VOID;
        }
 
+       /*
+        * We will emit the current timer value (in microseconds) with each
+        * debug output. Only need the lower 26 bits. This allows for 67
+        * million microseconds or 67 seconds before rollover.
+        */
+       timer = ((u32)acpi_os_get_timer() / 10);        /* (100 nanoseconds to microseconds) */
+       timer &= 0x03FFFFFF;
+
        /*
         * Print line header as long as we are not in the middle of an
         * object display
         */
        if (!((level > 0) && index == 0)) {
-               acpi_os_printf("[ACPI Debug] %*s", level, " ");
+               acpi_os_printf("[ACPI Debug %.8u] %*s", timer, level, " ");
        }
 
        /* Display the index for package output only */