home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-cris / arch-v10 / timex.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  943 b   |  31 lines

  1. /*
  2.  * Use prescale timer at 25000 Hz instead of the baudrate timer at 
  3.  * 19200 to get rid of the 64ppm to fast timer (and we get better 
  4.  * resolution within a jiffie as well. 
  5.  */
  6. #ifndef _ASM_CRIS_ARCH_TIMEX_H
  7. #define _ASM_CRIS_ARCH_TIMEX_H
  8.  
  9. /* The prescaler clock runs at 25MHz, we divide it by 1000 in the prescaler */
  10. /* If you change anything here you must check time.c as well... */
  11. #define PRESCALE_FREQ 25000000
  12. #define PRESCALE_VALUE 1000
  13. #define CLOCK_TICK_RATE 25000 /* Underlying frequency of the HZ timer */
  14. /* The timer0 values gives 40us resolution (1/25000) but interrupts at HZ*/
  15. #define TIMER0_FREQ (CLOCK_TICK_RATE)
  16. #define TIMER0_CLKSEL flexible
  17. #define TIMER0_DIV (TIMER0_FREQ/(HZ))
  18.  
  19.  
  20. #define GET_JIFFIES_USEC() \
  21.   ( (TIMER0_DIV - *R_TIMER0_DATA) * (1000000/HZ)/TIMER0_DIV )
  22.  
  23. unsigned long get_ns_in_jiffie(void);
  24.  
  25. static inline unsigned long get_us_in_jiffie_highres(void)
  26. {
  27.     return get_ns_in_jiffie()/1000;
  28. }
  29.  
  30. #endif
  31.