X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-ia64%2Fdelay.h;h=bba70207639103caaa05d0a0815b90d6eb4d3fa2;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=1b9df23a5641c7961ea21973a088ded0d7744b5f;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/include/asm-ia64/delay.h b/include/asm-ia64/delay.h index 1b9df23a5..bba702076 100644 --- a/include/asm-ia64/delay.h +++ b/include/asm-ia64/delay.h @@ -44,6 +44,12 @@ ia64_set_itv (unsigned long val) ia64_srlz_d(); } +static __inline__ unsigned long +ia64_get_itv (void) +{ + return ia64_getreg(_IA64_REG_CR_ITV); +} + static __inline__ void ia64_set_itc (unsigned long val) { @@ -78,14 +84,6 @@ __delay (unsigned long loops) ia64_delay_loop (loops - 1); } -static __inline__ void -udelay (unsigned long usecs) -{ - unsigned long start = ia64_get_itc(); - unsigned long cycles = usecs*local_cpu_data->cyc_per_usec; - - while (ia64_get_itc() - start < cycles) - /* skip */; -} +extern void udelay (unsigned long usecs); #endif /* _ASM_IA64_DELAY_H */