aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/delay.h
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2013-03-28 11:17:55 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2013-04-03 16:45:50 +0100
commit6f3d90e55660ba42301b5e9c7eed332cc9f70fd7 (patch)
tree0f5ef09981f5322d80a79a12125d291adaab175b /arch/arm/include/asm/delay.h
parentARM: 7684/1: errata: Workaround for Cortex-A15 erratum 798181 (TLBI/DSB operations) (diff)
downloadlinux-dev-6f3d90e55660ba42301b5e9c7eed332cc9f70fd7.tar.xz
linux-dev-6f3d90e55660ba42301b5e9c7eed332cc9f70fd7.zip
ARM: 7685/1: delay: use private ticks_per_jiffy field for timer-based delay ops
Commit 70264367a243 ("ARM: 7653/2: do not scale loops_per_jiffy when using a constant delay clock") fixed a problem with our timer-based delay loop, where loops_per_jiffy is scaled by cpufreq yet used directly by the timer delay ops. This patch fixes the problem in a more elegant way by keeping a private ticks_per_jiffy field in the delay ops, independent of loops_per_jiffy and therefore not subject to scaling. The loop-based delay continues to use loops_per_jiffy directly, as it should. Acked-by: Nicolas Pitre <nico@linaro.org> 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/include/asm/delay.h')
-rw-r--r--arch/arm/include/asm/delay.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/include/asm/delay.h b/arch/arm/include/asm/delay.h
index 720799fd3a81..dff714d886d5 100644
--- a/arch/arm/include/asm/delay.h
+++ b/arch/arm/include/asm/delay.h
@@ -24,7 +24,7 @@ extern struct arm_delay_ops {
void (*delay)(unsigned long);
void (*const_udelay)(unsigned long);
void (*udelay)(unsigned long);
- bool const_clock;
+ unsigned long ticks_per_jiffy;
} arm_delay_ops;
#define __delay(n) arm_delay_ops.delay(n)