This source file includes following definitions.
- nsp_write
- nsp_read
- nsp_index_read
- nsp_index_write
- nsp_multi_read_1
- nsp_fifo8_read
- nsp_multi_read_2
- nsp_fifo16_read
- nsp_multi_read_4
- nsp_fifo32_read
- nsp_multi_write_1
- nsp_fifo8_write
- nsp_multi_write_2
- nsp_fifo16_write
- nsp_multi_write_4
- nsp_fifo32_write
- nsp_mmio_write
- nsp_mmio_read
- nsp_mmio_index_read
- nsp_mmio_index_write
- nsp_mmio_multi_read_4
- nsp_mmio_fifo32_read
- nsp_mmio_multi_write_4
- nsp_mmio_fifo32_write
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 #ifndef __NSP_IO_H__
  13 #define __NSP_IO_H__
  14 
  15 static inline          void nsp_write(unsigned int base,
  16                                       unsigned int index,
  17                                       unsigned char val);
  18 static inline unsigned char nsp_read(unsigned int base,
  19                                      unsigned int index);
  20 static inline          void nsp_index_write(unsigned int BaseAddr,
  21                                             unsigned int Register,
  22                                             unsigned char Value);
  23 static inline unsigned char nsp_index_read(unsigned int BaseAddr,
  24                                            unsigned int Register);
  25 
  26 
  27 
  28 
  29 
  30 static inline void nsp_write(unsigned int  base,
  31                              unsigned int  index,
  32                              unsigned char val)
  33 {
  34         outb(val, (base + index));
  35 }
  36 
  37 static inline unsigned char nsp_read(unsigned int base,
  38                                      unsigned int index)
  39 {
  40         return inb(base + index);
  41 }
  42 
  43 
  44 
  45 
  46 
  47 static inline unsigned char nsp_index_read(unsigned int BaseAddr,
  48                                            unsigned int Register)
  49 {
  50         outb(Register, BaseAddr + INDEXREG);
  51         return inb(BaseAddr + DATAREG);
  52 }
  53 
  54 static inline void nsp_index_write(unsigned int  BaseAddr,
  55                                    unsigned int  Register,
  56                                    unsigned char Value)
  57 {
  58         outb(Register, BaseAddr + INDEXREG);
  59         outb(Value, BaseAddr + DATAREG);
  60 }
  61 
  62 
  63 
  64 
  65 
  66 
  67 static inline void nsp_multi_read_1(unsigned int   BaseAddr,
  68                                     unsigned int   Register,
  69                                     void          *buf,
  70                                     unsigned long  count)
  71 {
  72         insb(BaseAddr + Register, buf, count);
  73 }
  74 
  75 static inline void nsp_fifo8_read(unsigned int   base,
  76                                   void          *buf,
  77                                   unsigned long  count)
  78 {
  79         
  80         nsp_multi_read_1(base, FIFODATA, buf, count);
  81 }
  82 
  83 
  84 
  85 
  86 static inline void nsp_multi_read_2(unsigned int   BaseAddr,
  87                                     unsigned int   Register,
  88                                     void          *buf,
  89                                     unsigned long  count)
  90 {
  91         insw(BaseAddr + Register, buf, count);
  92 }
  93 
  94 static inline void nsp_fifo16_read(unsigned int   base,
  95                                    void          *buf,
  96                                    unsigned long  count)
  97 {
  98         
  99         nsp_multi_read_2(base, FIFODATA, buf, count);
 100 }
 101 
 102 
 103 
 104 
 105 static inline void nsp_multi_read_4(unsigned int   BaseAddr,
 106                                     unsigned int   Register,
 107                                     void          *buf,
 108                                     unsigned long  count)
 109 {
 110         insl(BaseAddr + Register, buf, count);
 111 }
 112 
 113 static inline void nsp_fifo32_read(unsigned int   base,
 114                                    void          *buf,
 115                                    unsigned long  count)
 116 {
 117         
 118         nsp_multi_read_4(base, FIFODATA, buf, count);
 119 }
 120 
 121 
 122 
 123 
 124 static inline void nsp_multi_write_1(unsigned int   BaseAddr,
 125                                      unsigned int   Register,
 126                                      void          *buf,
 127                                      unsigned long  count)
 128 {
 129         outsb(BaseAddr + Register, buf, count);
 130 }
 131 
 132 static inline void nsp_fifo8_write(unsigned int   base,
 133                                    void          *buf,
 134                                    unsigned long  count)
 135 {
 136         nsp_multi_write_1(base, FIFODATA, buf, count);
 137 }
 138 
 139 
 140 
 141 
 142 static inline void nsp_multi_write_2(unsigned int   BaseAddr,
 143                                      unsigned int   Register,
 144                                      void          *buf,
 145                                      unsigned long  count)
 146 {
 147         outsw(BaseAddr + Register, buf, count);
 148 }
 149 
 150 static inline void nsp_fifo16_write(unsigned int   base,
 151                                     void          *buf,
 152                                     unsigned long  count)
 153 {
 154         nsp_multi_write_2(base, FIFODATA, buf, count);
 155 }
 156 
 157 
 158 
 159 
 160 static inline void nsp_multi_write_4(unsigned int   BaseAddr,
 161                                      unsigned int   Register,
 162                                      void          *buf,
 163                                      unsigned long  count)
 164 {
 165         outsl(BaseAddr + Register, buf, count);
 166 }
 167 
 168 static inline void nsp_fifo32_write(unsigned int   base,
 169                                     void          *buf,
 170                                     unsigned long  count)
 171 {
 172         nsp_multi_write_4(base, FIFODATA, buf, count);
 173 }
 174 
 175 
 176 
 177 
 178 static inline void nsp_mmio_write(unsigned long base,
 179                                   unsigned int  index,
 180                                   unsigned char val)
 181 {
 182         unsigned char *ptr = (unsigned char *)(base + NSP_MMIO_OFFSET + index);
 183 
 184         writeb(val, ptr);
 185 }
 186 
 187 static inline unsigned char nsp_mmio_read(unsigned long base,
 188                                           unsigned int  index)
 189 {
 190         unsigned char *ptr = (unsigned char *)(base + NSP_MMIO_OFFSET + index);
 191 
 192         return readb(ptr);
 193 }
 194 
 195 
 196 
 197 static inline unsigned char nsp_mmio_index_read(unsigned long base,
 198                                                 unsigned int  reg)
 199 {
 200         unsigned char *index_ptr = (unsigned char *)(base + NSP_MMIO_OFFSET + INDEXREG);
 201         unsigned char *data_ptr  = (unsigned char *)(base + NSP_MMIO_OFFSET + DATAREG);
 202 
 203         writeb((unsigned char)reg, index_ptr);
 204         return readb(data_ptr);
 205 }
 206 
 207 static inline void nsp_mmio_index_write(unsigned long base,
 208                                         unsigned int  reg,
 209                                         unsigned char val)
 210 {
 211         unsigned char *index_ptr = (unsigned char *)(base + NSP_MMIO_OFFSET + INDEXREG);
 212         unsigned char *data_ptr  = (unsigned char *)(base + NSP_MMIO_OFFSET + DATAREG);
 213 
 214         writeb((unsigned char)reg, index_ptr);
 215         writeb(val,                data_ptr);
 216 }
 217 
 218 
 219 static inline void nsp_mmio_multi_read_4(unsigned long  base,
 220                                          unsigned int   Register,
 221                                          void          *buf,
 222                                          unsigned long  count)
 223 {
 224         unsigned long *ptr = (unsigned long *)(base + Register);
 225         unsigned long *tmp = (unsigned long *)buf;
 226         int i;
 227 
 228         
 229 
 230         for (i = 0; i < count; i++) {
 231                 *tmp = readl(ptr);
 232                 
 233                 tmp++;
 234         }
 235 }
 236 
 237 static inline void nsp_mmio_fifo32_read(unsigned int   base,
 238                                         void          *buf,
 239                                         unsigned long  count)
 240 {
 241         
 242         nsp_mmio_multi_read_4(base, FIFODATA, buf, count);
 243 }
 244 
 245 static inline void nsp_mmio_multi_write_4(unsigned long  base,
 246                                           unsigned int   Register,
 247                                           void          *buf,
 248                                           unsigned long  count)
 249 {
 250         unsigned long *ptr = (unsigned long *)(base + Register);
 251         unsigned long *tmp = (unsigned long *)buf;
 252         int i;
 253 
 254         
 255 
 256         for (i = 0; i < count; i++) {
 257                 writel(*tmp, ptr);
 258                 
 259                 tmp++;
 260         }
 261 }
 262 
 263 static inline void nsp_mmio_fifo32_write(unsigned int   base,
 264                                          void          *buf,
 265                                          unsigned long  count)
 266 {
 267         
 268         nsp_mmio_multi_write_4(base, FIFODATA, buf, count);
 269 }
 270 
 271 
 272 
 273 #endif
 274