Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c41679a4 authored by Bob Moore's avatar Bob Moore Committed by Rafael J. Wysocki
Browse files

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: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent c8d586f8
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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->
+4 −3
Original line number Original line Diff line number Diff line
@@ -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);
+1 −1
Original line number Original line Diff line number Diff line
@@ -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)) {
+16 −1
Original line number Original line Diff line number Diff line
@@ -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 */
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;