Skip to content

Commit

Permalink
Blackfin: implement ndelay()
Browse files Browse the repository at this point in the history
Signed-off-by: Barry Song <barry.song@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
  • Loading branch information
Barry Song authored and Mike Frysinger committed Mar 9, 2010
1 parent 60ffdb3 commit 6388d14
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions arch/blackfin/include/asm/delay.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 6388d14

Please sign in to comment.