|
@@ -21,13 +21,14 @@ void __delay(unsigned long loops)
|
|
|
|
|
|
inline void __const_udelay(unsigned long xloops)
|
|
inline void __const_udelay(unsigned long xloops)
|
|
{
|
|
{
|
|
|
|
+ xloops *= 4;
|
|
__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),
|
|
: "0" (xloops),
|
|
- "r" (HZ * cpu_data[raw_smp_processor_id()].loops_per_jiffy)
|
|
|
|
|
|
+ "r" (cpu_data[raw_smp_processor_id()].loops_per_jiffy * (HZ/4))
|
|
: "macl", "mach");
|
|
: "macl", "mach");
|
|
- __delay(xloops);
|
|
|
|
|
|
+ __delay(++xloops);
|
|
}
|
|
}
|
|
|
|
|
|
void __udelay(unsigned long usecs)
|
|
void __udelay(unsigned long usecs)
|