diff options
author | Will Deacon <will.deacon@arm.com> | 2012-09-07 18:24:53 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-09-09 17:28:48 +0100 |
commit | beafa0de3d3e0d0ece7638cded879815f359f1cb (patch) | |
tree | 9fcf57b7eef63d204720deba87edfc3e5ecf9fad /arch/arm/lib | |
parent | ad72907acd2943304c292ae36960bb66e6dc23c9 (diff) | |
download | linux-beafa0de3d3e0d0ece7638cded879815f359f1cb.tar.gz linux-beafa0de3d3e0d0ece7638cded879815f359f1cb.tar.bz2 linux-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/arm/lib')
-rw-r--r-- | arch/arm/lib/delay.c | 1 |
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; |