xref: /openbmc/linux/arch/mips/include/asm/delay.h (revision e3d786a3)
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 1994 by Waldorf Electronics
7  * Copyright (C) 1995 - 2000, 01, 03 by Ralf Baechle
8  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
9  * Copyright (C) 2007  Maciej W. Rozycki
10  */
11 #ifndef _ASM_DELAY_H
12 #define _ASM_DELAY_H
13 
14 #include <linux/param.h>
15 
16 extern void __delay(unsigned long loops);
17 extern void __ndelay(unsigned long ns);
18 extern void __udelay(unsigned long us);
19 
20 #define ndelay(ns) __ndelay(ns)
21 #define udelay(us) __udelay(us)
22 
23 /* make sure "usecs *= ..." in udelay do not overflow. */
24 #if HZ >= 1000
25 #define MAX_UDELAY_MS	1
26 #elif HZ <= 200
27 #define MAX_UDELAY_MS	5
28 #else
29 #define MAX_UDELAY_MS	(1000 / HZ)
30 #endif
31 
32 #endif /* _ASM_DELAY_H */
33