diff options
Diffstat (limited to 'include/asm-xtensa/timex.h')
-rw-r--r-- | include/asm-xtensa/timex.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/include/asm-xtensa/timex.h b/include/asm-xtensa/timex.h index c7b705e66655..28c7985a4000 100644 --- a/include/asm-xtensa/timex.h +++ b/include/asm-xtensa/timex.h | |||
@@ -16,17 +16,22 @@ | |||
16 | #include <asm/processor.h> | 16 | #include <asm/processor.h> |
17 | #include <linux/stringify.h> | 17 | #include <linux/stringify.h> |
18 | 18 | ||
19 | #if XCHAL_INT_LEVEL(XCHAL_TIMER0_INTERRUPT) == 1 | 19 | #define _INTLEVEL(x) XCHAL_INT ## x ## _LEVEL |
20 | #define INTLEVEL(x) _INTLEVEL(x) | ||
21 | |||
22 | #if INTLEVEL(XCHAL_TIMER0_INTERRUPT) == 1 | ||
20 | # define LINUX_TIMER 0 | 23 | # define LINUX_TIMER 0 |
21 | #elif XCHAL_INT_LEVEL(XCHAL_TIMER1_INTERRUPT) == 1 | 24 | # define LINUX_TIMER_INT XCHAL_TIMER0_INTERRUPT |
25 | #elif INTLEVEL(XCHAL_TIMER1_INTERRUPT) == 1 | ||
22 | # define LINUX_TIMER 1 | 26 | # define LINUX_TIMER 1 |
23 | #elif XCHAL_INT_LEVEL(XCHAL_TIMER2_INTERRUPT) == 1 | 27 | # define LINUX_TIMER_INT XCHAL_TIMER1_INTERRUPT |
28 | #elif INTLEVEL(XCHAL_TIMER2_INTERRUPT) == 1 | ||
24 | # define LINUX_TIMER 2 | 29 | # define LINUX_TIMER 2 |
30 | # define LINUX_TIMER_INT XCHAL_TIMER2_INTERRUPT | ||
25 | #else | 31 | #else |
26 | # error "Bad timer number for Linux configurations!" | 32 | # error "Bad timer number for Linux configurations!" |
27 | #endif | 33 | #endif |
28 | 34 | ||
29 | #define LINUX_TIMER_INT XCHAL_TIMER_INTERRUPT(LINUX_TIMER) | ||
30 | #define LINUX_TIMER_MASK (1L << LINUX_TIMER_INT) | 35 | #define LINUX_TIMER_MASK (1L << LINUX_TIMER_INT) |
31 | 36 | ||
32 | #define CLOCK_TICK_RATE 1193180 /* (everyone is using this value) */ | 37 | #define CLOCK_TICK_RATE 1193180 /* (everyone is using this value) */ |
@@ -60,8 +65,8 @@ extern cycles_t cacheflush_time; | |||
60 | 65 | ||
61 | #define WSR_CCOUNT(r) __asm__("wsr %0,"__stringify(CCOUNT) :: "a" (r)) | 66 | #define WSR_CCOUNT(r) __asm__("wsr %0,"__stringify(CCOUNT) :: "a" (r)) |
62 | #define RSR_CCOUNT(r) __asm__("rsr %0,"__stringify(CCOUNT) : "=a" (r)) | 67 | #define RSR_CCOUNT(r) __asm__("rsr %0,"__stringify(CCOUNT) : "=a" (r)) |
63 | #define WSR_CCOMPARE(x,r) __asm__("wsr %0,"__stringify(CCOMPARE_0)"+"__stringify(x) :: "a"(r)) | 68 | #define WSR_CCOMPARE(x,r) __asm__("wsr %0,"__stringify(CCOMPARE)"+"__stringify(x) :: "a"(r)) |
64 | #define RSR_CCOMPARE(x,r) __asm__("rsr %0,"__stringify(CCOMPARE_0)"+"__stringify(x) : "=a"(r)) | 69 | #define RSR_CCOMPARE(x,r) __asm__("rsr %0,"__stringify(CCOMPARE)"+"__stringify(x) : "=a"(r)) |
65 | 70 | ||
66 | static inline unsigned long get_ccount (void) | 71 | static inline unsigned long get_ccount (void) |
67 | { | 72 | { |