Lines Matching refs:ioaddr
51 static int wd_probe1(struct net_device *dev, int ioaddr);
111 int ioaddr = wd_portlist[i]; in do_wd_probe() local
112 r = request_region(ioaddr, WD_IO_EXTENT, "wd-probe"); in do_wd_probe()
115 if (wd_probe1(dev, ioaddr) == 0) { in do_wd_probe()
119 release_region(ioaddr, WD_IO_EXTENT); in do_wd_probe()
165 static int __init wd_probe1(struct net_device *dev, int ioaddr) in wd_probe1() argument
177 checksum += inb(ioaddr + 8 + i); in wd_probe1()
178 if (inb(ioaddr + 8) == 0xff /* Extra check to avoid soundcard. */ in wd_probe1()
179 || inb(ioaddr + 9) == 0xff in wd_probe1()
195 dev->dev_addr[i] = inb(ioaddr + 8 + i); in wd_probe1()
197 netdev_info(dev, "WD80x3 at %#3x, %pM", ioaddr, dev->dev_addr); in wd_probe1()
204 if (inb(ioaddr+0) == 'P' && inb(ioaddr+1) == 'D') { in wd_probe1()
205 unsigned char reg5 = inb(ioaddr+5); in wd_probe1()
207 switch (inb(ioaddr+2)) { in wd_probe1()
224 if (inb(ioaddr+i) != inb(ioaddr+8+i)) in wd_probe1()
231 int tmp = inb(ioaddr+1); /* fiddle with 16bit bit */ in wd_probe1()
232 outb( tmp ^ 0x01, ioaddr+1 ); /* attempt to clear 16bit bit */ in wd_probe1()
233 if (((inb( ioaddr+1) & 0x01) == 0x01) /* A 16 bit card */ in wd_probe1()
235 int asic_reg5 = inb(ioaddr+WD_CMDREG5); in wd_probe1()
237 outb( NIC16 | (asic_reg5&0x1f), ioaddr+WD_CMDREG5); in wd_probe1()
238 outb(tmp, ioaddr+1); in wd_probe1()
245 outb(tmp, ioaddr+1); /* Restore original reg1 value. */ in wd_probe1()
248 if ( !ancient && (inb(ioaddr+1) & 0x01) != (word16 & 0x01)) in wd_probe1()
251 (inb(ioaddr+1) & 0x01) ? 16 : 8); in wd_probe1()
261 int reg0 = inb(ioaddr); in wd_probe1()
267 int high_addr_bits = inb(ioaddr+WD_CMDREG5) & 0x1f; in wd_probe1()
277 dev->base_addr = ioaddr+WD_NIC_OFFSET; in wd_probe1()
281 int reg1 = inb(ioaddr+1); in wd_probe1()
282 int reg4 = inb(ioaddr+4); in wd_probe1()
284 short nic_addr = ioaddr+WD_NIC_OFFSET; in wd_probe1()
359 if (inb(ioaddr+14) & 0x20) in wd_probe1()
360 outb(inb(ioaddr+4)|0x80, ioaddr+4); in wd_probe1()
374 int ioaddr = dev->base_addr - WD_NIC_OFFSET; /* WD_CMDREG */ in wd_open() local
382 outb(ei_status.reg5, ioaddr+WD_CMDREG5); in wd_open()
383 outb(ei_status.reg0, ioaddr); /* WD_CMDREG */ in wd_open()