Warning: That file was not part of the compilation database. It may have many parsing errors.
1 | /* |
---|---|
2 | * This file is subject to the terms and conditions of the GNU General Public |
3 | * License. See the file "COPYING" in the main directory of this archive |
4 | * for more details. |
5 | * |
6 | * Copyright (C) 2001 - 2013 Tensilica Inc. |
7 | */ |
8 | |
9 | #ifndef _XTENSA_TIMEX_H |
10 | #define _XTENSA_TIMEX_H |
11 | |
12 | #include <asm/processor.h> |
13 | |
14 | #if XCHAL_NUM_TIMERS > 0 && \ |
15 | XTENSA_INT_LEVEL(XCHAL_TIMER0_INTERRUPT) <= XCHAL_EXCM_LEVEL |
16 | # define LINUX_TIMER 0 |
17 | # define LINUX_TIMER_INT XCHAL_TIMER0_INTERRUPT |
18 | #elif XCHAL_NUM_TIMERS > 1 && \ |
19 | XTENSA_INT_LEVEL(XCHAL_TIMER1_INTERRUPT) <= XCHAL_EXCM_LEVEL |
20 | # define LINUX_TIMER 1 |
21 | # define LINUX_TIMER_INT XCHAL_TIMER1_INTERRUPT |
22 | #elif XCHAL_NUM_TIMERS > 2 && \ |
23 | XTENSA_INT_LEVEL(XCHAL_TIMER2_INTERRUPT) <= XCHAL_EXCM_LEVEL |
24 | # define LINUX_TIMER 2 |
25 | # define LINUX_TIMER_INT XCHAL_TIMER2_INTERRUPT |
26 | #else |
27 | # error "Bad timer number for Linux configurations!" |
28 | #endif |
29 | |
30 | extern unsigned long ccount_freq; |
31 | |
32 | void local_timer_setup(unsigned cpu); |
33 | |
34 | /* |
35 | * Register access. |
36 | */ |
37 | |
38 | static inline unsigned long get_ccount (void) |
39 | { |
40 | return xtensa_get_sr(ccount); |
41 | } |
42 | |
43 | static inline void set_ccount (unsigned long ccount) |
44 | { |
45 | xtensa_set_sr(ccount, ccount); |
46 | } |
47 | |
48 | static inline unsigned long get_linux_timer (void) |
49 | { |
50 | return xtensa_get_sr(SREG_CCOMPARE + LINUX_TIMER); |
51 | } |
52 | |
53 | static inline void set_linux_timer (unsigned long ccompare) |
54 | { |
55 | xtensa_set_sr(ccompare, SREG_CCOMPARE + LINUX_TIMER); |
56 | } |
57 | |
58 | #include <asm-generic/timex.h> |
59 | |
60 | #endif /* _XTENSA_TIMEX_H */ |
61 |
Warning: That file was not part of the compilation database. It may have many parsing errors.