K2LL33D SHELL

 Apache/2.4.7 (Ubuntu)
 Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64
 uid=33(www-data) gid=33(www-data) groups=33(www-data)
 safemode : OFF
 MySQL: ON | Perl: ON | cURL: OFF | WGet: ON
  >  / usr / src / linux-headers-3.13.0-24 / arch / frv / include / asm /
server ip : 104.21.89.46

your ip : 172.71.255.44

H O M E


Filename/usr/src/linux-headers-3.13.0-24/arch/frv/include/asm/delay.h
Size1.28 kb
Permissionrw-r--r--
Ownerroot : root
Create time27-Apr-2025 09:50
Last modified20-Jan-2014 10:40
Last accessed27-Apr-2025 09:50
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
/* delay.h: FRV delay code
*
* Copyright (C) 2003 Red Hat, Inc. All Rights Reserved.
* Written by David Howells ([email protected])
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/

#ifndef _ASM_DELAY_H
#define _ASM_DELAY_H

#include <asm/param.h>
#include <asm/timer-regs.h>

/*
* delay loop - runs at __core_clock_speed_HZ / 2 [there are 2 insns in the loop]
*/
extern unsigned long __delay_loops_MHz;

static inline void __delay(unsigned long loops)
{
asm volatile("1: subicc %0,#1,%0,icc0 \n"
" bnc icc0,#2,1b \n"
: "=r" (loops)
: "0" (loops)
: "icc0"
);
}

/*
* Use only for very small delays ( < 1 msec). Should probably use a
* lookup table, really, as the multiplications take much too long with
* short delays. This is a "reasonable" implementation, though (and the
* first constant multiplications gets optimized away if the delay is
* a constant)
*/

extern unsigned long loops_per_jiffy;

static inline void udelay(unsigned long usecs)
{
__delay(usecs * __delay_loops_MHz);
}

#define ndelay(n) udelay((n) * 5)

#endif /* _ASM_DELAY_H */