|
@@ -77,6 +77,10 @@ static void clocksource_forward_now(void)
|
|
clock->cycle_last = cycle_now;
|
|
clock->cycle_last = cycle_now;
|
|
|
|
|
|
nsec = cyc2ns(clock, cycle_delta);
|
|
nsec = cyc2ns(clock, cycle_delta);
|
|
|
|
+
|
|
|
|
+ /* If arch requires, add in gettimeoffset() */
|
|
|
|
+ nsec += arch_gettimeoffset();
|
|
|
|
+
|
|
timespec_add_ns(&xtime, nsec);
|
|
timespec_add_ns(&xtime, nsec);
|
|
|
|
|
|
nsec = ((s64)cycle_delta * clock->mult_orig) >> clock->shift;
|
|
nsec = ((s64)cycle_delta * clock->mult_orig) >> clock->shift;
|
|
@@ -111,6 +115,9 @@ void getnstimeofday(struct timespec *ts)
|
|
/* convert to nanoseconds: */
|
|
/* convert to nanoseconds: */
|
|
nsecs = cyc2ns(clock, cycle_delta);
|
|
nsecs = cyc2ns(clock, cycle_delta);
|
|
|
|
|
|
|
|
+ /* If arch requires, add in gettimeoffset() */
|
|
|
|
+ nsecs += arch_gettimeoffset();
|
|
|
|
+
|
|
} while (read_seqretry(&xtime_lock, seq));
|
|
} while (read_seqretry(&xtime_lock, seq));
|
|
|
|
|
|
timespec_add_ns(ts, nsecs);
|
|
timespec_add_ns(ts, nsecs);
|