提交 c41679a4 编写于 作者: B Bob Moore 提交者: Rafael J. Wysocki

ACPICA: Add time macros for various timer/time manipulation.

Constants for time manipulation, including constants for the 100
nanosecond timers. Chao Guan, Bob Moore, Lv Zheng.
Signed-off-by: NBob Moore <robert.moore@intel.com>
Signed-off-by: NLv Zheng <lv.zheng@intel.com>
Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
上级 c8d586f8
...@@ -177,7 +177,7 @@ acpi_status acpi_hw_legacy_sleep(u8 sleep_state) ...@@ -177,7 +177,7 @@ acpi_status acpi_hw_legacy_sleep(u8 sleep_state)
* to still read the right value. Ideally, this block would go * to still read the right value. Ideally, this block would go
* away entirely. * away entirely.
*/ */
acpi_os_stall(10000000); acpi_os_stall(10 * ACPI_USEC_PER_SEC);
status = acpi_hw_register_write(ACPI_REGISTER_PM1_CONTROL, status = acpi_hw_register_write(ACPI_REGISTER_PM1_CONTROL,
sleep_enable_reg_info-> sleep_enable_reg_info->
......
...@@ -176,10 +176,11 @@ acpi_get_timer_duration(u32 start_ticks, u32 end_ticks, u32 * time_elapsed) ...@@ -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): * 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, status = acpi_ut_short_divide(((u64)delta_ticks) * ACPI_USEC_PER_SEC,
PM_TIMER_FREQUENCY, &quotient, NULL); ACPI_PM_TIMER_FREQUENCY, &quotient, NULL);
*time_elapsed = (u32) quotient; *time_elapsed = (u32) quotient;
return_ACPI_STATUS(status); return_ACPI_STATUS(status);
......
...@@ -207,7 +207,7 @@ acpi_status asmlinkage acpi_enter_sleep_state_s4bios(void) ...@@ -207,7 +207,7 @@ acpi_status asmlinkage acpi_enter_sleep_state_s4bios(void)
(u32)acpi_gbl_FADT.s4_bios_request, 8); (u32)acpi_gbl_FADT.s4_bios_request, 8);
do { do {
acpi_os_stall(1000); acpi_os_stall(ACPI_USEC_PER_MSEC);
status = status =
acpi_read_bit_register(ACPI_BITREG_WAKE_STATUS, &in_value); acpi_read_bit_register(ACPI_BITREG_WAKE_STATUS, &in_value);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
......
...@@ -341,7 +341,7 @@ typedef u32 acpi_physical_address; ...@@ -341,7 +341,7 @@ typedef u32 acpi_physical_address;
/* PM Timer ticks per second (HZ) */ /* 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 */ ...@@ -373,6 +373,21 @@ typedef u32 acpi_name; /* 4-byte ACPI name */
typedef char *acpi_string; /* Null terminated ASCII string */ typedef char *acpi_string; /* Null terminated ASCII string */
typedef void *acpi_handle; /* Actually a ptr to a NS Node */ 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 */ /* Owner IDs are used to track namespace nodes for selective deletion */
typedef u8 acpi_owner_id; typedef u8 acpi_owner_id;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册