Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -24,9 +24,10 @@ inline void __const_udelay(unsigned long xloops)
	__asm__("dmulu.l	%0, %2\n\t"
		"sts	mach, %0"
		: "=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");
	__delay(xloops * HZ);
	__delay(xloops);
}

void __udelay(unsigned long usecs)