patch-2.4.19 linux-2.4.19/include/asm-cris/timex.h
Next file: linux-2.4.19/include/asm-cris/unistd.h
Previous file: linux-2.4.19/include/asm-cris/termios.h
Back to the patch index
Back to the overall index
- Lines: 46
- Date:
Fri Aug 2 17:39:45 2002
- Orig file:
linux-2.4.18/include/asm-cris/timex.h
- Orig date:
Fri Nov 9 14:11:15 2001
diff -urN linux-2.4.18/include/asm-cris/timex.h linux-2.4.19/include/asm-cris/timex.h
@@ -2,25 +2,34 @@
* linux/include/asm-cris/timex.h
*
* CRIS architecture timex specifications
+ * 2002-03-04 Johan Adolfsson
+ * Use prescale timer at 25000 Hz instead of the baudrate timer at
+ * 19200 to get rid of the 64ppm to fast timer (and we get better
+ * resolution within a jiffie as well.
*/
#ifndef _ASM_CRIS_TIMEX_H
#define _ASM_CRIS_TIMEX_H
-#define CLOCK_TICK_RATE 19200 /* Underlying frequency of the HZ timer */
-
-/* The timer0 values gives ~52.1us resolution (1/19200) but interrupts at HZ*/
+/* The prescaler clock runs at 25MHz, we divide it by 1000 in the prescaler */
+/* If you change anything here you must check time.c as well... */
+#define PRESCALE_FREQ 25000000
+#define PRESCALE_VALUE 1000
+#define CLOCK_TICK_RATE 25000 /* Underlying frequency of the HZ timer */
+/* The timer0 values gives 40us resolution (1/25000) but interrupts at HZ*/
#define TIMER0_FREQ (CLOCK_TICK_RATE)
-#define TIMER0_CLKSEL c19k2Hz
+#define TIMER0_CLKSEL flexible
#define TIMER0_DIV (TIMER0_FREQ/(HZ))
-/* This is the slow one: */
-/*
+
+
#define GET_JIFFIES_USEC() \
- ( (*R_TIMER0_DATA - TIMER0_DIV) * (1000000/HZ)/TIMER0_DIV )
-*/
-/* This is the fast version: */
-extern unsigned short cris_timer0_value_us[TIMER0_DIV+1]; /* in kernel/time.c */
-#define GET_JIFFIES_USEC() (cris_timer0_value_us[*R_TIMER0_DATA])
+ ( (TIMER0_DIV - *R_TIMER0_DATA) * (1000000/HZ)/TIMER0_DIV )
+
+unsigned long get_ns_in_jiffie(void);
+static inline unsigned long get_us_in_jiffie_highres(void)
+{
+ return get_ns_in_jiffie()/1000;
+}
/*
* We don't have a cycle-counter.. but we do not support SMP anyway where this is
* used so it does not matter.
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)