Linux Audio

Check our new training course

Loading...
v6.8
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef __UM_DELAY_H
 3#define __UM_DELAY_H
 4#include <asm-generic/delay.h>
 5#include <linux/time-internal.h>
 6
 7static inline void um_ndelay(unsigned long nsecs)
 8{
 9	if (time_travel_mode == TT_MODE_INFCPU ||
10	    time_travel_mode == TT_MODE_EXTERNAL) {
11		time_travel_ndelay(nsecs);
12		return;
13	}
14	ndelay(nsecs);
15}
16#undef ndelay
17#define ndelay(n) um_ndelay(n)
18
19static inline void um_udelay(unsigned long usecs)
20{
21	if (time_travel_mode == TT_MODE_INFCPU ||
22	    time_travel_mode == TT_MODE_EXTERNAL) {
23		time_travel_ndelay(1000 * usecs);
24		return;
25	}
26	udelay(usecs);
27}
28#undef udelay
29#define udelay(n) um_udelay(n)
30#endif /* __UM_DELAY_H */
v3.1
 
 1#ifndef __UM_DELAY_H
 2#define __UM_DELAY_H
 
 
 3
 4/* Undefined on purpose */
 5extern void __bad_udelay(void);
 6extern void __bad_ndelay(void);
 
 
 
 
 
 
 
 
 7
 8extern void __udelay(unsigned long usecs);
 9extern void __ndelay(unsigned long usecs);
10extern void __delay(unsigned long loops);
11
12#define udelay(n) ((__builtin_constant_p(n) && (n) > 20000) ? \
13	__bad_udelay() : __udelay(n))
14
15#define ndelay(n) ((__builtin_constant_p(n) && (n) > 20000) ? \
16	__bad_ndelay() : __ndelay(n))
17
18#endif