]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/sh/lib/delay.c
sh: Kill off dcache writeback from copy_page().
[mv-sheeva.git] / arch / sh / lib / delay.c
index 351714694d6d4b9b6f81d183e774f1fc47e0e215..faa8f86c0db490718d5dbb2c6948f11d3fff28d1 100644 (file)
@@ -21,12 +21,14 @@ void __delay(unsigned long loops)
 
 inline void __const_udelay(unsigned long xloops)
 {
+       xloops *= 4;
        __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" (cpu_data[raw_smp_processor_id()].loops_per_jiffy * (HZ/4))
                : "macl", "mach");
-       __delay(xloops * HZ);
+       __delay(++xloops);
 }
 
 void __udelay(unsigned long usecs)