Commit | Line | Data |
---|---|---|
d66bea57 TG |
1 | #ifndef _ACPI_PMTMR_H_ |
2 | #define _ACPI_PMTMR_H_ | |
3 | ||
4 | #include <linux/clocksource.h> | |
5 | ||
6 | /* Number of PMTMR ticks expected during calibration run */ | |
7 | #define PMTMR_TICKS_PER_SEC 3579545 | |
8 | ||
9 | /* limit it to 24 bits */ | |
10 | #define ACPI_PM_MASK CLOCKSOURCE_MASK(24) | |
11 | ||
12 | /* Overrun value */ | |
13 | #define ACPI_PM_OVRRUN (1<<24) | |
14 | ||
15 | #ifdef CONFIG_X86_PM_TIMER | |
16 | ||
17 | extern u32 acpi_pm_read_verified(void); | |
18 | extern u32 pmtmr_ioport; | |
19 | ||
20 | static inline u32 acpi_pm_read_early(void) | |
21 | { | |
22 | if (!pmtmr_ioport) | |
23 | return 0; | |
24 | /* mask the output to 24 bits */ | |
25 | return acpi_pm_read_verified() & ACPI_PM_MASK; | |
26 | } | |
27 | ||
70a20025 TG |
28 | extern void pmtimer_wait(unsigned); |
29 | ||
d66bea57 TG |
30 | #else |
31 | ||
32 | static inline u32 acpi_pm_read_early(void) | |
33 | { | |
34 | return 0; | |
35 | } | |
36 | ||
37 | #endif | |
38 | ||
39 | #endif | |
40 |