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: 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>
This commit is contained in:
Родитель
c8d586f8ed
Коммит
c41679a448
|
@ -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->
|
||||
|
|
|
@ -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, "ient, NULL);
|
||||
status = acpi_ut_short_divide(((u64)delta_ticks) * ACPI_USEC_PER_SEC,
|
||||
ACPI_PM_TIMER_FREQUENCY, "ient, NULL);
|
||||
|
||||
*time_elapsed = (u32) quotient;
|
||||
return_ACPI_STATUS(status);
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче