diff options
author | Greg Watson <jarrah@users.sourceforge.net> | 2003-11-02 17:01:47 +0000 |
---|---|---|
committer | Greg Watson <jarrah@users.sourceforge.net> | 2003-11-02 17:01:47 +0000 |
commit | 95e914781748db585186bb88ab88c02e4a97b8ca (patch) | |
tree | 26e37147739529d63215a415fe990deb09ba78e6 /src/arch/ppc/lib/timer.c | |
parent | 5bcd408b8e72a582bfad61da827a51c2349d037a (diff) |
fix timer routines
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1241 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/arch/ppc/lib/timer.c')
-rw-r--r-- | src/arch/ppc/lib/timer.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/arch/ppc/lib/timer.c b/src/arch/ppc/lib/timer.c index 37576d71f4..dee891af57 100644 --- a/src/arch/ppc/lib/timer.c +++ b/src/arch/ppc/lib/timer.c @@ -1,30 +1,35 @@ /* Copyright 2000 AG Electronics Ltd. */ /* This code is distributed without warranty under the GPL v2 (see COPYING) */ -#include <timer.h> #include <ppc.h> +#include <timer.h> +#include <clock.h> unsigned long get_hz(void) { return get_clock_speed(); } +#if 0 unsigned long ticks_since_boot(void) { - extern unsigned long _timebase(void); - return _timebase(); + extern unsigned long _get_ticks(void); + return _get_ticks(); } void sleep_ticks(unsigned long ticks) { - unsigned long then = ticks + ticks_since_boot(); - while(ticks_since_boot() < then) - ; + unsigned long now = ticks_since_boot(); + unsigned long then = ticks + now; + while(now < then) + now = ticks_since_boot(); } +#endif void udelay(int usecs) { + extern void _wait_ticks(unsigned long); unsigned long ticksperusec = get_hz() / 1000000; - sleep_ticks(ticksperusec * usecs); + _wait_ticks(ticksperusec * usecs); } |