linux-sg2042/arch/arm/plat-nomadik
Linus Walleij 8fbb97a2bc ARM: 6488/1: nomadik: prevent sched_clock() wraparound
The current implementation of sched_clock() for the Nomadik
family is based on the clock source that will wrap around without
any compensation. Currently on the Ux500 after 1030 seconds.

Utilize cnt32_to_63 to expand the sched_clock() counter to 63
bits and introduce a keepwarm() timer to assure that sched clock
and this cnt32_to_63 is called atleast once every half period.

When I print out the actual wrap-around time, and using
a year (3600*24*365 seconds) as minumum wrap limit I get an
actual wrap-around of:
sched_clock: using 55 bits @ 8333125 Hz wrap in 416 days

Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-11-21 22:05:57 +00:00
..
include/plat Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-10-27 19:04:36 -07:00
Kconfig ARM: 5969/1: nomadik: move gpio to plat-nomadik 2010-03-19 18:29:31 +00:00
Makefile ARM: 5969/1: nomadik: move gpio to plat-nomadik 2010-03-19 18:29:31 +00:00
gpio.c ARM: 6347/2: nomadik: move nmk_gpio_probe to .devinit.text 2010-09-02 16:37:40 +01:00
timer.c ARM: 6488/1: nomadik: prevent sched_clock() wraparound 2010-11-21 22:05:57 +00:00