aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/lib/delay.c
diff options
context:
space:
mode:
authorkogiidena <kogiidena@eggplant.ddo.jp>2007-05-08 07:45:46 -0400
committerPaul Mundt <lethal@hera.kernel.org>2007-05-08 21:35:02 -0400
commitc71861e65e2898850478a7ac6c4b8cc9f7007e9e (patch)
tree6ab615967bc5e6d2116b1b5cc3ffe945c5ae14b3 /arch/sh/lib/delay.c
parent074f98df0547b7d15f78db9a17e985da0c22af28 (diff)
sh: Fixup ndelay() xloops calculation for alternate HZ.
Currently the xloops calculation in ndelay() gets set to 0 when calculated with HZ=250, fix up how we do the HZ factoring in order to get this right for differing values. Signed-off-by: kogiidena <kogiidena@eggplant.ddo.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/lib/delay.c')
-rw-r--r--arch/sh/lib/delay.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/sh/lib/delay.c b/arch/sh/lib/delay.c
index 351714694d6d..f3ddd2133e6f 100644
--- a/arch/sh/lib/delay.c
+++ b/arch/sh/lib/delay.c
@@ -24,9 +24,10 @@ inline void __const_udelay(unsigned long xloops)
24 __asm__("dmulu.l %0, %2\n\t" 24 __asm__("dmulu.l %0, %2\n\t"
25 "sts mach, %0" 25 "sts mach, %0"
26 : "=r" (xloops) 26 : "=r" (xloops)
27 : "0" (xloops), "r" (cpu_data[raw_smp_processor_id()].loops_per_jiffy) 27 : "0" (xloops),
28 "r" (HZ * cpu_data[raw_smp_processor_id()].loops_per_jiffy)
28 : "macl", "mach"); 29 : "macl", "mach");
29 __delay(xloops * HZ); 30 __delay(xloops);
30} 31}
31 32
32void __udelay(unsigned long usecs) 33void __udelay(unsigned long usecs)