blob: e9892eef51cee5dd85038ba98c22432bb81d42af [file] [log] [blame]
Bodo Stroesser5fd861b2005-05-05 16:15:37 -07001#include "linux/delay.h"
2#include "asm/param.h"
3
Linus Torvalds1da177e2005-04-16 15:20:36 -07004void __delay(unsigned long time)
5{
6 /* Stolen from the i386 __loop_delay */
7 int d0;
8 __asm__ __volatile__(
9 "\tjmp 1f\n"
10 ".align 16\n"
11 "1:\tjmp 2f\n"
12 ".align 16\n"
13 "2:\tdecl %0\n\tjns 2b"
14 :"=&a" (d0)
15 :"0" (time));
16}
17
Bodo Stroesser5fd861b2005-05-05 16:15:37 -070018void __udelay(unsigned long usecs)
19{
20 int i, n;
21
22 n = (loops_per_jiffy * HZ * usecs) / MILLION;
23 for(i=0;i<n;i++) ;
24}
25
26void __const_udelay(unsigned long usecs)
27{
28 int i, n;
29
30 n = (loops_per_jiffy * HZ * usecs) / MILLION;
31 for(i=0;i<n;i++) ;
32}