vserver 1.9.5.x5
[linux-2.6.git] / arch / ia64 / sn / kernel / sn2 / timer.c
index 85f7d21..deb9baf 100644 (file)
 #include <asm/system.h>
 
 #include <asm/sn/leds.h>
+#include <asm/sn/shub_mmr.h>
 #include <asm/sn/clksupport.h>
 
-
 extern unsigned long sn_rtc_cycles_per_second;
 
-static struct time_interpolator sn2_interpolator;
+static struct time_interpolator sn2_interpolator = {
+       .drift = -1,
+       .shift = 10,
+       .mask = (1LL << 55) - 1,
+       .source = TIME_SOURCE_MMIO64
+};
 
-void __init
-sn_timer_init(void)
+void __init sn_timer_init(void)
 {
        sn2_interpolator.frequency = sn_rtc_cycles_per_second;
-       sn2_interpolator.drift = -1;    /* unknown */
-       sn2_interpolator.shift = 10;    /* RTC is 54 bits maximum shift is 10 */
        sn2_interpolator.addr = RTC_COUNTER_ADDR;
-       sn2_interpolator.source = TIME_SOURCE_MMIO64;
        register_time_interpolator(&sn2_interpolator);
 }