aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2012-09-07 18:24:53 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-09-09 17:28:48 +0100
commitbeafa0de3d3e0d0ece7638cded879815f359f1cb (patch)
tree9fcf57b7eef63d204720deba87edfc3e5ecf9fad /arch
parentARM: 7528/1: uaccess: annotate [__]{get,put}_user functions with might_fault() (diff)
downloadlinux-dev-beafa0de3d3e0d0ece7638cded879815f359f1cb.tar.xz
linux-dev-beafa0de3d3e0d0ece7638cded879815f359f1cb.zip
ARM: 7529/1: delay: set loops_per_jiffy when moving to timer-based loop
The delay functions may be called by some platforms between switching to the timer-based delay loop but before calibration. In this case, the initial loops_per_jiffy may not be suitable for the timer (although a compromise may be achievable) and delay times may be considered too inaccurate. This patch updates loops_per_jiffy when switching to the timer-based delay loop so that delays are consistent prior to calibration. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/lib/delay.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/lib/delay.c b/arch/arm/lib/delay.c
index d6dacc69254e..395d5fbb8fa2 100644
--- a/arch/arm/lib/delay.c
+++ b/arch/arm/lib/delay.c
@@ -59,6 +59,7 @@ void __init init_current_timer_delay(unsigned long freq)
{
pr_info("Switching to timer-based delay loop\n");
lpj_fine = freq / HZ;
+ loops_per_jiffy = lpj_fine;
arm_delay_ops.delay = __timer_delay;
arm_delay_ops.const_udelay = __timer_const_udelay;
arm_delay_ops.udelay = __timer_udelay;