Commit b5dd4d80 authored by Pavel Tatashin's avatar Pavel Tatashin Committed by David S. Miller

sparc64: show time stamps from zero

On most platforms, time is shown from the beginning of boot.  This patch is
adding offset to sched_clock() for SPARC, to also show time from 0.

This means we will have one more load, but we saved one in an ealier patch.
Signed-off-by: default avatarPavel Tatashin <pasha.tatashin@oracle.com>
Reviewed-by: default avatarBob Picco <bob.picco@oracle.com>
Reviewed-by: default avatarSteven Sistare <steven.sistare@oracle.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b8a83fcb
......@@ -392,6 +392,7 @@ static struct sparc64_tick_ops hbtick_operations __read_mostly = {
};
static unsigned long timer_ticks_per_nsec_quotient __read_mostly;
static unsigned long timer_offset __read_mostly;
unsigned long cmos_regs;
EXPORT_SYMBOL(cmos_regs);
......@@ -786,6 +787,10 @@ void __init time_init(void)
timer_ticks_per_nsec_quotient =
clocksource_hz2mult(freq, SPARC64_NSEC_PER_CYC_SHIFT);
timer_offset = (tick_operations.get_tick()
* timer_ticks_per_nsec_quotient)
>> SPARC64_NSEC_PER_CYC_SHIFT;
clocksource_tick.name = tick_operations.name;
clocksource_tick.read = clocksource_tick_read;
......@@ -813,8 +818,9 @@ unsigned long long sched_clock(void)
{
unsigned long ticks = tick_operations.get_tick();
return (ticks * timer_ticks_per_nsec_quotient)
>> SPARC64_NSEC_PER_CYC_SHIFT;
return ((ticks * timer_ticks_per_nsec_quotient)
>> SPARC64_NSEC_PER_CYC_SHIFT)
- timer_offset;
}
int read_current_timer(unsigned long *timer_val)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment