root/arch/xtensa/include/asm/timex.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. get_ccount
  2. set_ccount
  3. get_linux_timer
  4. set_linux_timer

   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 typedef unsigned long long cycles_t;
  33 
  34 #define get_cycles()    (0)
  35 
  36 void local_timer_setup(unsigned cpu);
  37 
  38 /*
  39  * Register access.
  40  */
  41 
  42 static inline unsigned long get_ccount (void)
  43 {
  44         return xtensa_get_sr(ccount);
  45 }
  46 
  47 static inline void set_ccount (unsigned long ccount)
  48 {
  49         xtensa_set_sr(ccount, ccount);
  50 }
  51 
  52 static inline unsigned long get_linux_timer (void)
  53 {
  54         return xtensa_get_sr(SREG_CCOMPARE + LINUX_TIMER);
  55 }
  56 
  57 static inline void set_linux_timer (unsigned long ccompare)
  58 {
  59         xtensa_set_sr(ccompare, SREG_CCOMPARE + LINUX_TIMER);
  60 }
  61 
  62 #endif  /* _XTENSA_TIMEX_H */

/* [<][>][^][v][top][bottom][index][help] */