diff options
author | Shinya Kuribayashi <skuribay@ruby.dti.ne.jp> | 2008-06-05 22:28:59 +0900 |
---|---|---|
committer | Shinya Kuribayashi <skuribay@ruby.dti.ne.jp> | 2008-06-05 22:28:59 +0900 |
commit | c7e38e413ae69120d3e51f132c7cb1d6b3514d03 (patch) | |
tree | b4a8659b82b7a95933d763c002670e256bc4ed62 /lib_mips | |
parent | 8155efbd7ae9c65564ca98affe94631d612ae088 (diff) |
[MIPS] lib_mips/time.c: Replace CP0 access functions with existing macros
We already have many pre-defined CP0 access macros in <asm/mipsregs.h>.
This patch replaces mips_{compare,count}_set and mips_count_get with
existing macros.
Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
Diffstat (limited to 'lib_mips')
-rw-r--r-- | lib_mips/time.c | 35 |
1 files changed, 8 insertions, 27 deletions
diff --git a/lib_mips/time.c b/lib_mips/time.c index cd8dc721e2b..2c696b709d2 100644 --- a/lib_mips/time.c +++ b/lib_mips/time.c @@ -22,26 +22,7 @@ */ #include <common.h> - - -static inline void mips_compare_set(u32 v) -{ - asm volatile ("mtc0 %0, $11" : : "r" (v)); -} - -static inline void mips_count_set(u32 v) -{ - asm volatile ("mtc0 %0, $9" : : "r" (v)); -} - - -static inline u32 mips_count_get(void) -{ - u32 count; - - asm volatile ("mfc0 %0, $9" : "=r" (count) :); - return count; -} +#include <asm/mipsregs.h> /* * timer without interrupts @@ -49,25 +30,25 @@ static inline u32 mips_count_get(void) int timer_init(void) { - mips_compare_set(0); - mips_count_set(0); + write_c0_compare(0); + write_c0_count(0); return 0; } void reset_timer(void) { - mips_count_set(0); + write_c0_count(0); } ulong get_timer(ulong base) { - return mips_count_get() - base; + return read_c0_count() - base; } void set_timer(ulong t) { - mips_count_set(t); + write_c0_count(t); } void udelay (unsigned long usec) @@ -76,7 +57,7 @@ void udelay (unsigned long usec) ulong start = get_timer(0); tmo = usec * (CFG_HZ / 1000000); - while ((ulong)((mips_count_get() - start)) < tmo) + while ((ulong)((read_c0_count() - start)) < tmo) /*NOP*/; } @@ -86,7 +67,7 @@ void udelay (unsigned long usec) */ unsigned long long get_ticks(void) { - return mips_count_get(); + return read_c0_count(); } /* |