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))
|
#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;
|
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
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue