Ticket #684: patch-ah_osdep.txt

File patch-ah_osdep.txt, 1.4 kB (added by taku_k@pb3.so-net.ne.jp, 6 years ago)

patch for ah_osdep.h

Line 
1 diff -Nur old/hal/linux/ah_osdep.h new/hal/linux/ah_osdep.h
2 --- old/hal/linux/ah_osdep.h    2006-08-28 13:34:10.000000000 +0900
3 +++ new/hal/linux/ah_osdep.h    2006-08-28 13:33:47.000000000 +0900
4 @@ -165,6 +165,19 @@
5   * register values are constants.
6   */
7  #if AH_BYTE_ORDER == AH_BIG_ENDIAN
8 +/* by taku */
9 +#if defined(CONFIG_ARCH_IXP425)
10 +#define _OS_REG_WRITE(_ah, _reg, _val) do {                                \
11 +       if ( (_reg) >= 0x4000 && (_reg) < 0x5000)                           \
12 +           writel( (_val), (volatile unsigned long)((_ah)->ah_sh + (_reg)));\
13 +        else                                                                \
14 +           writel(__bswap32(_val), (volatile unsigned long)((_ah)->ah_sh + (_reg))); \
15 +} while (0)
16 +#define _OS_REG_READ(_ah, _reg) \
17 +       (((_reg) >= 0x4000 && (_reg) < 0x5000) ? \
18 +           readl((volatile unsigned long)((_ah)->ah_sh + (_reg))) :        \
19 +           __bswap32(readl((volatile unsigned long)((_ah)->ah_sh + (_reg)))))
20 +#else
21  #define _OS_REG_WRITE(_ah, _reg, _val) do {                                \
22         if ( (_reg) >= 0x4000 && (_reg) < 0x5000)                           \
23                 *((volatile u_int32_t *)((_ah)->ah_sh + (_reg))) =          \
24 @@ -176,6 +189,8 @@
25         (((_reg) >= 0x4000 && (_reg) < 0x5000) ? \
26                 __bswap32(*((volatile u_int32_t *)((_ah)->ah_sh + (_reg)))) : \
27                 *((volatile u_int32_t *)((_ah)->ah_sh + (_reg))))
28 +#endif /* defined(CONFIG_ARCH_IXP425) */
29 +
30  #else /* AH_LITTLE_ENDIAN */
31  #define _OS_REG_WRITE(_ah, _reg, _val) do { \
32         *((volatile u_int32_t *)((_ah)->ah_sh + (_reg))) = (_val); \