Blame view

kernel/linux-rt-4.4.41/arch/score/include/asm/delay.h 528 Bytes
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  #ifndef _ASM_SCORE_DELAY_H
  #define _ASM_SCORE_DELAY_H
  
  #include <asm-generic/param.h>
  
  static inline void __delay(unsigned long loops)
  {
  	/* 3 cycles per loop. */
  	__asm__ __volatile__ (
  		"1:\tsubi\t%0, 3
  \t"
  		"cmpz.c\t%0
  \t"
  		"ble\t1b
  \t"
  		: "=r" (loops)
  		: "0" (loops));
  }
  
  static inline void __udelay(unsigned long usecs)
  {
  	unsigned long loops_per_usec;
  
  	loops_per_usec = (loops_per_jiffy * HZ) / 1000000;
  
  	__delay(usecs * loops_per_usec);
  }
  
  #define udelay(usecs) __udelay(usecs)
  
  #endif /* _ASM_SCORE_DELAY_H */