Commit c71861e6 authored by kogiidena's avatar kogiidena Committed by Paul Mundt

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: default avatarkogiidena <kogiidena@eggplant.ddo.jp>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 074f98df
...@@ -24,9 +24,10 @@ inline void __const_udelay(unsigned long xloops) ...@@ -24,9 +24,10 @@ inline void __const_udelay(unsigned long xloops)
__asm__("dmulu.l %0, %2\n\t" __asm__("dmulu.l %0, %2\n\t"
"sts mach, %0" "sts mach, %0"
: "=r" (xloops) : "=r" (xloops)
: "0" (xloops), "r" (cpu_data[raw_smp_processor_id()].loops_per_jiffy) : "0" (xloops),
"r" (HZ * cpu_data[raw_smp_processor_id()].loops_per_jiffy)
: "macl", "mach"); : "macl", "mach");
__delay(xloops * HZ); __delay(xloops);
} }
void __udelay(unsigned long usecs) void __udelay(unsigned long usecs)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment