Blackfin: implement ndelay()
Signed-off-by: Barry Song <barry.song@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
60ffdb3654
commit
6388d14eb2
|
@ -30,10 +30,22 @@ __asm__ __volatile__ (
|
|||
|
||||
#define HZSCALE (268435456 / (1000000/HZ))
|
||||
|
||||
static inline void udelay(unsigned long usecs)
|
||||
static inline unsigned long __to_delay(unsigned long scale)
|
||||
{
|
||||
extern unsigned long loops_per_jiffy;
|
||||
__delay((((usecs * HZSCALE) >> 11) * (loops_per_jiffy >> 11)) >> 6);
|
||||
return (((scale * HZSCALE) >> 11) * (loops_per_jiffy >> 11)) >> 6;
|
||||
}
|
||||
|
||||
static inline void udelay(unsigned long usecs)
|
||||
{
|
||||
__delay(__to_delay(usecs));
|
||||
}
|
||||
|
||||
static inline void ndelay(unsigned long nsecs)
|
||||
{
|
||||
__delay(__to_delay(1) * nsecs / 1000);
|
||||
}
|
||||
|
||||
#define ndelay ndelay
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue