Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
irc-regs.h File Reference

Go to the source code of this file.

Macros

#define __reg(ADDR)   (*(volatile unsigned long *)(ADDR))
 
#define __get_TM0()   ({ __reg(0xfeff9800); })
 
#define __get_TM1()   ({ __reg(0xfeff9808); })
 
#define __set_TM1(V)   do { __reg(0xfeff9808) = (V); mb(); } while(0)
 
#define __set_TM1x(XI, V)
 
#define __get_RS(C)   ({ (__reg(0xfeff9810) >> ((C)+16)) & 1; })
 
#define __clr_RC(C)   do { __reg(0xfeff9818) = 1 << ((C)+16); mb(); } while(0)
 
#define __get_MASK(C)   ({ (__reg(0xfeff9820) >> ((C)+16)) & 1; })
 
#define __set_MASK(C)   do { __reg(0xfeff9820) |= 1 << ((C)+16); mb(); } while(0)
 
#define __clr_MASK(C)   do { __reg(0xfeff9820) &= ~(1 << ((C)+16)); mb(); } while(0)
 
#define __get_MASK_all()   __get_MASK(0)
 
#define __set_MASK_all()   __set_MASK(0)
 
#define __clr_MASK_all()   __clr_MASK(0)
 
#define __get_IRL()   ({ (__reg(0xfeff9828) >> 16) & 0xf; })
 
#define __clr_IRL()   do { __reg(0xfeff9828) = 0x100000; mb(); } while(0)
 
#define __get_IRR(N)   ({ __reg(0xfeff9840 + (N) * 8); })
 
#define __set_IRR(N, V)   do { __reg(0xfeff9840 + (N) * 8) = (V); } while(0)
 
#define __get_IITMR(N)   ({ __reg(0xfeff9880 + (N) * 8); })
 
#define __set_IITMR(N, V)   do { __reg(0xfeff9880 + (N) * 8) = (V); } while(0)
 

Macro Definition Documentation

#define __clr_IRL ( )    do { __reg(0xfeff9828) = 0x100000; mb(); } while(0)

Definition at line 44 of file irc-regs.h.

#define __clr_MASK (   C)    do { __reg(0xfeff9820) &= ~(1 << ((C)+16)); mb(); } while(0)

Definition at line 37 of file irc-regs.h.

#define __clr_MASK_all ( )    __clr_MASK(0)

Definition at line 41 of file irc-regs.h.

#define __clr_RC (   C)    do { __reg(0xfeff9818) = 1 << ((C)+16); mb(); } while(0)

Definition at line 33 of file irc-regs.h.

#define __get_IITMR (   N)    ({ __reg(0xfeff9880 + (N) * 8); })

Definition at line 49 of file irc-regs.h.

#define __get_IRL ( )    ({ (__reg(0xfeff9828) >> 16) & 0xf; })

Definition at line 43 of file irc-regs.h.

#define __get_IRR (   N)    ({ __reg(0xfeff9840 + (N) * 8); })

Definition at line 46 of file irc-regs.h.

#define __get_MASK (   C)    ({ (__reg(0xfeff9820) >> ((C)+16)) & 1; })

Definition at line 35 of file irc-regs.h.

#define __get_MASK_all ( )    __get_MASK(0)

Definition at line 39 of file irc-regs.h.

#define __get_RS (   C)    ({ (__reg(0xfeff9810) >> ((C)+16)) & 1; })

Definition at line 31 of file irc-regs.h.

#define __get_TM0 ( )    ({ __reg(0xfeff9800); })

Definition at line 17 of file irc-regs.h.

#define __get_TM1 ( )    ({ __reg(0xfeff9808); })

Definition at line 18 of file irc-regs.h.

#define __reg (   ADDR)    (*(volatile unsigned long *)(ADDR))

Definition at line 15 of file irc-regs.h.

#define __set_IITMR (   N,
  V 
)    do { __reg(0xfeff9880 + (N) * 8) = (V); } while(0)

Definition at line 50 of file irc-regs.h.

#define __set_IRR (   N,
  V 
)    do { __reg(0xfeff9840 + (N) * 8) = (V); } while(0)

Definition at line 47 of file irc-regs.h.

#define __set_MASK (   C)    do { __reg(0xfeff9820) |= 1 << ((C)+16); mb(); } while(0)

Definition at line 36 of file irc-regs.h.

#define __set_MASK_all ( )    __set_MASK(0)

Definition at line 40 of file irc-regs.h.

#define __set_TM1 (   V)    do { __reg(0xfeff9808) = (V); mb(); } while(0)

Definition at line 19 of file irc-regs.h.

#define __set_TM1x (   XI,
  V 
)
Value:
do { \
int shift = (XI) * 2 + 16; \
unsigned long tm1 = __reg(0xfeff9808); \
tm1 &= ~(0x3 << shift); \
tm1 |= (V) << shift; \
__reg(0xfeff9808) = tm1; \
mb(); \
} while(0)

Definition at line 21 of file irc-regs.h.