forked from jonsmirl/mpc5200
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[PATCH] Allow early access to the power management timer
Allow early access to the power management timer by exposing the verified read function and providing a helper function which checks the pmtmr_ioport variable and returns either the pm timer readout or 0 in case the pm timer is not available. Create a new header file and replace also the ifdef'ed extern definition in arch/i386/kernel/acpi/boot.c This is a preperatory patch for the rework of the local apic timer calibration. No functional changes. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: john stultz <johnstul@us.ibm.com> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- Loading branch information
Showing
3 changed files
with
48 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
#ifndef _ACPI_PMTMR_H_ | ||
#define _ACPI_PMTMR_H_ | ||
|
||
#include <linux/clocksource.h> | ||
|
||
/* Number of PMTMR ticks expected during calibration run */ | ||
#define PMTMR_TICKS_PER_SEC 3579545 | ||
|
||
/* limit it to 24 bits */ | ||
#define ACPI_PM_MASK CLOCKSOURCE_MASK(24) | ||
|
||
/* Overrun value */ | ||
#define ACPI_PM_OVRRUN (1<<24) | ||
|
||
#ifdef CONFIG_X86_PM_TIMER | ||
|
||
extern u32 acpi_pm_read_verified(void); | ||
extern u32 pmtmr_ioport; | ||
|
||
static inline u32 acpi_pm_read_early(void) | ||
{ | ||
if (!pmtmr_ioport) | ||
return 0; | ||
/* mask the output to 24 bits */ | ||
return acpi_pm_read_verified() & ACPI_PM_MASK; | ||
} | ||
|
||
#else | ||
|
||
static inline u32 acpi_pm_read_early(void) | ||
{ | ||
return 0; | ||
} | ||
|
||
#endif | ||
|
||
#endif | ||
|