OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [LINUX_2_4_26_OR32/] [linux/] [linux-2.4/] [include/] [asm-or32/] [delay.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1276 phoenix
#ifndef _OR32_DELAY_H
2
#define _OR32_DELAY_H
3
 
4
#include <linux/config.h>
5
#include <linux/linkage.h>
6
 
7
 
8
extern __inline__ void __delay(int loops)
9
{
10
        __asm__ __volatile__ (
11
                              "l.srli %0,%0,1;"
12
                              "1: l.sfeqi %0,0;"
13
                              "l.bnf 1b;"
14
                              "l.addi %0,%0,-1;"
15
                              : "=r" (loops): "0" (loops));
16
}
17
 
18
 
19
/* Use only for very small delays ( < 1 msec).  */
20
 
21
extern unsigned long loops_per_usec;
22
 
23
extern __inline__ void udelay(unsigned long usecs)
24
{
25
        __delay(usecs * loops_per_usec);
26
}
27
 
28
#endif 
29
 
30
 
31
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.