diff options
Diffstat (limited to 'arch/x86_64/kernel/time.c')
-rw-r--r-- | arch/x86_64/kernel/time.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index fdaddc4e5284..74102796e5c0 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c | |||
@@ -59,7 +59,7 @@ static int notsc __initdata = 0; | |||
59 | unsigned int cpu_khz; /* TSC clocks / usec, not used here */ | 59 | unsigned int cpu_khz; /* TSC clocks / usec, not used here */ |
60 | static unsigned long hpet_period; /* fsecs / HPET clock */ | 60 | static unsigned long hpet_period; /* fsecs / HPET clock */ |
61 | unsigned long hpet_tick; /* HPET clocks / interrupt */ | 61 | unsigned long hpet_tick; /* HPET clocks / interrupt */ |
62 | static int hpet_use_timer; | 62 | static int hpet_use_timer; /* Use counter of hpet for time keeping, otherwise PIT */ |
63 | unsigned long vxtime_hz = PIT_TICK_RATE; | 63 | unsigned long vxtime_hz = PIT_TICK_RATE; |
64 | int report_lost_ticks; /* command line option */ | 64 | int report_lost_ticks; /* command line option */ |
65 | unsigned long long monotonic_base; | 65 | unsigned long long monotonic_base; |
@@ -908,12 +908,14 @@ void __init time_init(void) | |||
908 | if (!hpet_init()) | 908 | if (!hpet_init()) |
909 | vxtime_hz = (1000000000000000L + hpet_period / 2) / | 909 | vxtime_hz = (1000000000000000L + hpet_period / 2) / |
910 | hpet_period; | 910 | hpet_period; |
911 | else | ||
912 | vxtime.hpet_address = 0; | ||
911 | 913 | ||
912 | if (hpet_use_timer) { | 914 | if (hpet_use_timer) { |
913 | cpu_khz = hpet_calibrate_tsc(); | 915 | cpu_khz = hpet_calibrate_tsc(); |
914 | timename = "HPET"; | 916 | timename = "HPET"; |
915 | #ifdef CONFIG_X86_PM_TIMER | 917 | #ifdef CONFIG_X86_PM_TIMER |
916 | } else if (pmtmr_ioport) { | 918 | } else if (pmtmr_ioport && !vxtime.hpet_address) { |
917 | vxtime_hz = PM_TIMER_FREQUENCY; | 919 | vxtime_hz = PM_TIMER_FREQUENCY; |
918 | timename = "PM"; | 920 | timename = "PM"; |
919 | pit_init(); | 921 | pit_init(); |