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

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [include/] [asm-or32/] [delay.h] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 xianfeng
#ifndef _OR32_DELAY_H
2
#define _OR32_DELAY_H
3
 
4
#include <linux/linkage.h>
5
#include <asm/param.h>                  /* Added by JPB: for HZ */
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
/* JPB: removed extern unsigned long loops_per_usec;*/
22
extern unsigned long loops_per_jiffy;   /* JPB */
23
 
24
extern __inline__ void udelay(unsigned long usecs)
25
{
26
  /*    __delay(usecs * loops_per_usec);  Removed by JPB */
27
        __delay( usecs * loops_per_jiffy * HZ / 1000000 );      /* JPB */
28
}
29
 
30
#endif 
31
 
32
 
33
 

powered by: WebSVN 2.1.0

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