Lines Matching refs:asd_ha
35 static void asd_write_byte(struct asd_ha_struct *asd_ha, in asd_write_byte() argument
38 if (unlikely(asd_ha->iospace)) in asd_write_byte()
40 (unsigned long)asd_ha->io_handle[0].addr + (offs & 0xFF)); in asd_write_byte()
42 writeb(val, asd_ha->io_handle[0].addr + offs); in asd_write_byte()
46 static void asd_write_word(struct asd_ha_struct *asd_ha, in asd_write_word() argument
49 if (unlikely(asd_ha->iospace)) in asd_write_word()
51 (unsigned long)asd_ha->io_handle[0].addr + (offs & 0xFF)); in asd_write_word()
53 writew(val, asd_ha->io_handle[0].addr + offs); in asd_write_word()
57 static void asd_write_dword(struct asd_ha_struct *asd_ha, in asd_write_dword() argument
60 if (unlikely(asd_ha->iospace)) in asd_write_dword()
62 (unsigned long)asd_ha->io_handle[0].addr + (offs & 0xFF)); in asd_write_dword()
64 writel(val, asd_ha->io_handle[0].addr + offs); in asd_write_dword()
70 static u8 asd_read_byte(struct asd_ha_struct *asd_ha, unsigned long offs) in asd_read_byte() argument
73 if (unlikely(asd_ha->iospace)) in asd_read_byte()
74 val = inb((unsigned long) asd_ha->io_handle[0].addr in asd_read_byte()
77 val = readb(asd_ha->io_handle[0].addr + offs); in asd_read_byte()
82 static u16 asd_read_word(struct asd_ha_struct *asd_ha, in asd_read_word() argument
86 if (unlikely(asd_ha->iospace)) in asd_read_word()
87 val = inw((unsigned long)asd_ha->io_handle[0].addr in asd_read_word()
90 val = readw(asd_ha->io_handle[0].addr + offs); in asd_read_word()
95 static u32 asd_read_dword(struct asd_ha_struct *asd_ha, in asd_read_dword() argument
99 if (unlikely(asd_ha->iospace)) in asd_read_dword()
100 val = inl((unsigned long) asd_ha->io_handle[0].addr in asd_read_dword()
103 val = readl(asd_ha->io_handle[0].addr + offs); in asd_read_dword()
127 static type asd_read_##ww##_##ord(struct asd_ha_struct *asd_ha, \
130 struct asd_ha_addrspace *io_handle = &asd_ha->io_handle[0]; \
132 return asd_read_##ord(asd_ha, (unsigned long)map_offs); \
136 static void asd_write_##ww##_##ord(struct asd_ha_struct *asd_ha, \
139 struct asd_ha_addrspace *io_handle = &asd_ha->io_handle[0]; \
141 asd_write_##ord(asd_ha, (unsigned long)map_offs, val); \
188 static void asd_move_swb(struct asd_ha_struct *asd_ha, u32 reg) in asd_move_swb() argument
191 pci_write_config_dword(asd_ha->pcidev, PCI_CONF_MBAR0_SWB, base); in asd_move_swb()
192 asd_ha->io_handle[0].swb_base = base; in asd_move_swb()
195 static void __asd_write_reg_byte(struct asd_ha_struct *asd_ha, u32 reg, u8 val) in __asd_write_reg_byte() argument
197 struct asd_ha_addrspace *io_handle=&asd_ha->io_handle[0]; in __asd_write_reg_byte()
201 asd_write_swa_byte (asd_ha, reg,val); in __asd_write_reg_byte()
204 asd_write_swb_byte (asd_ha, reg, val); in __asd_write_reg_byte()
207 asd_write_swc_byte (asd_ha, reg, val); in __asd_write_reg_byte()
210 asd_move_swb(asd_ha, reg); in __asd_write_reg_byte()
211 asd_write_swb_byte (asd_ha, reg, val); in __asd_write_reg_byte()
216 void asd_write_reg_##ord (struct asd_ha_struct *asd_ha, u32 reg, type val)\
218 struct asd_ha_addrspace *io_handle=&asd_ha->io_handle[0]; \
221 spin_lock_irqsave(&asd_ha->iolock, flags); \
224 asd_write_swa_##ord (asd_ha, reg,val); \
227 asd_write_swb_##ord (asd_ha, reg, val); \
230 asd_write_swc_##ord (asd_ha, reg, val); \
233 asd_move_swb(asd_ha, reg); \
234 asd_write_swb_##ord (asd_ha, reg, val); \
236 spin_unlock_irqrestore(&asd_ha->iolock, flags); \
243 static u8 __asd_read_reg_byte(struct asd_ha_struct *asd_ha, u32 reg) in __asd_read_reg_byte() argument
245 struct asd_ha_addrspace *io_handle=&asd_ha->io_handle[0]; in __asd_read_reg_byte()
250 val = asd_read_swa_byte (asd_ha, reg); in __asd_read_reg_byte()
253 val = asd_read_swb_byte (asd_ha, reg); in __asd_read_reg_byte()
256 val = asd_read_swc_byte (asd_ha, reg); in __asd_read_reg_byte()
259 asd_move_swb(asd_ha, reg); in __asd_read_reg_byte()
260 val = asd_read_swb_byte (asd_ha, reg); in __asd_read_reg_byte()
266 type asd_read_reg_##ord (struct asd_ha_struct *asd_ha, u32 reg) \
268 struct asd_ha_addrspace *io_handle=&asd_ha->io_handle[0]; \
272 spin_lock_irqsave(&asd_ha->iolock, flags); \
275 val = asd_read_swa_##ord (asd_ha, reg); \
278 val = asd_read_swb_##ord (asd_ha, reg); \
281 val = asd_read_swc_##ord (asd_ha, reg); \
284 asd_move_swb(asd_ha, reg); \
285 val = asd_read_swb_##ord (asd_ha, reg); \
287 spin_unlock_irqrestore(&asd_ha->iolock, flags); \
302 void asd_read_reg_string(struct asd_ha_struct *asd_ha, void *dst, in asd_read_reg_string() argument
308 spin_lock_irqsave(&asd_ha->iolock, flags); in asd_read_reg_string()
310 *p = __asd_read_reg_byte(asd_ha, offs); in asd_read_reg_string()
311 spin_unlock_irqrestore(&asd_ha->iolock, flags); in asd_read_reg_string()
321 void asd_write_reg_string(struct asd_ha_struct *asd_ha, void *src, in asd_write_reg_string() argument
327 spin_lock_irqsave(&asd_ha->iolock, flags); in asd_write_reg_string()
329 __asd_write_reg_byte(asd_ha, offs, *p); in asd_write_reg_string()
330 spin_unlock_irqrestore(&asd_ha->iolock, flags); in asd_write_reg_string()