Lines Matching refs:ioaddr
120 #define EL3WINDOW(win_num) outw(SelectWindow + (win_num), ioaddr + EL3_CMD)
190 static ushort read_eeprom(int ioaddr, int index);
272 static void el3_dev_fill(struct net_device *dev, __be16 *phys_addr, int ioaddr, in el3_dev_fill() argument
278 dev->base_addr = ioaddr; in el3_dev_fill()
287 int ioaddr, isa_irq, if_port, err; in el3_isa_match() local
298 ioaddr = 0x200 + ((iobase & 0x1f) << 4); in el3_isa_match()
311 if (!request_region(ioaddr, EL3_IO_EXTENT, "3c509-isa")) { in el3_isa_match()
320 outb((ioaddr >> 4) | 0xe0, id_port); in el3_isa_match()
323 if (inw(ioaddr) != 0x6d50) { in el3_isa_match()
329 outw(0x0f00, ioaddr + WN0_IRQ); in el3_isa_match()
331 el3_dev_fill(dev, phys_addr, ioaddr, isa_irq, if_port, EL3_ISA); in el3_isa_match()
361 int ioaddr = ndev->base_addr, err; in el3_isa_resume() local
371 outb((ioaddr >> 4) | 0xe0, id_port); in el3_isa_resume()
373 if (inw(ioaddr) != 0x6d50) in el3_isa_resume()
376 outw(0x0f00, ioaddr + WN0_IRQ); in el3_isa_resume()
410 int ioaddr, irq, if_port; in el3_pnp_probe() local
415 ioaddr = pnp_port_start(pdev, 0); in el3_pnp_probe()
416 if (!request_region(ioaddr, EL3_IO_EXTENT, "3c509-pnp")) in el3_pnp_probe()
421 phys_addr[i] = htons(read_eeprom(ioaddr, i)); in el3_pnp_probe()
422 if_port = read_eeprom(ioaddr, 8) >> 14; in el3_pnp_probe()
425 release_region(ioaddr, EL3_IO_EXTENT); in el3_pnp_probe()
431 el3_dev_fill(dev, phys_addr, ioaddr, irq, if_port, EL3_PNP); in el3_pnp_probe()
568 int ioaddr, irq, if_port; in el3_eisa_probe() local
576 ioaddr = edev->base_addr; in el3_eisa_probe()
578 if (!request_region(ioaddr, EL3_IO_EXTENT, "3c579-eisa")) in el3_eisa_probe()
582 outw(SelectWindow | 0, ioaddr + 0xC80 + EL3_CMD); in el3_eisa_probe()
584 irq = inw(ioaddr + WN0_IRQ) >> 12; in el3_eisa_probe()
585 if_port = inw(ioaddr + 6)>>14; in el3_eisa_probe()
587 phys_addr[i] = htons(read_eeprom(ioaddr, i)); in el3_eisa_probe()
590 read_eeprom(ioaddr, 3); in el3_eisa_probe()
594 release_region(ioaddr, EL3_IO_EXTENT); in el3_eisa_probe()
601 el3_dev_fill(dev, phys_addr, ioaddr, irq, if_port, EL3_EISA); in el3_eisa_probe()
632 static ushort read_eeprom(int ioaddr, int index) in read_eeprom() argument
634 outw(EEPROM_READ + index, ioaddr + 10); in read_eeprom()
638 return inw(ioaddr + 12); in read_eeprom()
667 int ioaddr = dev->base_addr; in el3_open() local
670 outw(TxReset, ioaddr + EL3_CMD); in el3_open()
671 outw(RxReset, ioaddr + EL3_CMD); in el3_open()
672 outw(SetStatusEnb | 0x00, ioaddr + EL3_CMD); in el3_open()
681 dev->irq, ioaddr + EL3_STATUS, inw(ioaddr + EL3_STATUS)); in el3_open()
687 dev->name, dev->irq, inw(ioaddr + EL3_STATUS)); in el3_open()
695 int ioaddr = dev->base_addr; in el3_tx_timeout() local
699 dev->name, inb(ioaddr + TX_STATUS), inw(ioaddr + EL3_STATUS), in el3_tx_timeout()
700 inw(ioaddr + TX_FREE)); in el3_tx_timeout()
704 outw(TxReset, ioaddr + EL3_CMD); in el3_tx_timeout()
705 outw(TxEnable, ioaddr + EL3_CMD); in el3_tx_timeout()
714 int ioaddr = dev->base_addr; in el3_start_xmit() local
723 dev->name, skb->len, inw(ioaddr + EL3_STATUS)); in el3_start_xmit()
739 outw(skb->len, ioaddr + TX_FIFO); in el3_start_xmit()
740 outw(0x00, ioaddr + TX_FIFO); in el3_start_xmit()
742 outsl(ioaddr + TX_FIFO, skb->data, (skb->len + 3) >> 2); in el3_start_xmit()
744 if (inw(ioaddr + TX_FREE) > 1536) in el3_start_xmit()
748 outw(SetTxThreshold + 1536, ioaddr + EL3_CMD); in el3_start_xmit()
759 while (--i > 0 && (tx_status = inb(ioaddr + TX_STATUS)) > 0) { in el3_start_xmit()
761 if (tx_status & 0x30) outw(TxReset, ioaddr + EL3_CMD); in el3_start_xmit()
762 if (tx_status & 0x3C) outw(TxEnable, ioaddr + EL3_CMD); in el3_start_xmit()
763 outb(0x00, ioaddr + TX_STATUS); /* Pop the status stack. */ in el3_start_xmit()
775 int ioaddr, status; in el3_interrupt() local
781 ioaddr = dev->base_addr; in el3_interrupt()
784 status = inw(ioaddr + EL3_STATUS); in el3_interrupt()
788 while ((status = inw(ioaddr + EL3_STATUS)) & in el3_interrupt()
798 outw(AckIntr | TxAvailable, ioaddr + EL3_CMD); in el3_interrupt()
807 outw(AckIntr | RxEarly, ioaddr + EL3_CMD); in el3_interrupt()
813 while (--i>0 && (tx_status = inb(ioaddr + TX_STATUS)) > 0) { in el3_interrupt()
815 if (tx_status & 0x30) outw(TxReset, ioaddr + EL3_CMD); in el3_interrupt()
816 if (tx_status & 0x3C) outw(TxEnable, ioaddr + EL3_CMD); in el3_interrupt()
817 outb(0x00, ioaddr + TX_STATUS); /* Pop the status stack. */ in el3_interrupt()
822 outw(RxReset, ioaddr + EL3_CMD); in el3_interrupt()
827 ioaddr + EL3_CMD); in el3_interrupt()
828 outw(RxEnable, ioaddr + EL3_CMD); /* Re-enable the receiver. */ in el3_interrupt()
829 outw(AckIntr | AdapterFailure, ioaddr + EL3_CMD); in el3_interrupt()
837 outw(AckIntr | 0xFF, ioaddr + EL3_CMD); in el3_interrupt()
841 outw(AckIntr | IntReq | IntLatch, ioaddr + EL3_CMD); /* Ack IRQ */ in el3_interrupt()
846 inw(ioaddr + EL3_STATUS)); in el3_interrupt()
890 int ioaddr = dev->base_addr; in update_stats() local
895 outw(StatsDisable, ioaddr + EL3_CMD); in update_stats()
898 dev->stats.tx_carrier_errors += inb(ioaddr + 0); in update_stats()
899 dev->stats.tx_heartbeat_errors += inb(ioaddr + 1); in update_stats()
900 /* Multiple collisions. */ inb(ioaddr + 2); in update_stats()
901 dev->stats.collisions += inb(ioaddr + 3); in update_stats()
902 dev->stats.tx_window_errors += inb(ioaddr + 4); in update_stats()
903 dev->stats.rx_fifo_errors += inb(ioaddr + 5); in update_stats()
904 dev->stats.tx_packets += inb(ioaddr + 6); in update_stats()
905 /* Rx packets */ inb(ioaddr + 7); in update_stats()
906 /* Tx deferrals */ inb(ioaddr + 8); in update_stats()
907 inw(ioaddr + 10); /* Total Rx and Tx octets. */ in update_stats()
908 inw(ioaddr + 12); in update_stats()
912 outw(StatsEnable, ioaddr + EL3_CMD); in update_stats()
918 int ioaddr = dev->base_addr; in el3_rx() local
923 inw(ioaddr+EL3_STATUS), inw(ioaddr+RX_STATUS)); in el3_rx()
924 while ((rx_status = inw(ioaddr + RX_STATUS)) > 0) { in el3_rx()
928 outw(RxDiscard, ioaddr + EL3_CMD); in el3_rx()
950 insl(ioaddr + RX_FIFO, skb_put(skb,pkt_len), in el3_rx()
953 outw(RxDiscard, ioaddr + EL3_CMD); /* Pop top Rx packet. */ in el3_rx()
960 outw(RxDiscard, ioaddr + EL3_CMD); in el3_rx()
966 inw(ioaddr + EL3_STATUS); /* Delay. */ in el3_rx()
967 while (inw(ioaddr + EL3_STATUS) & 0x1000) in el3_rx()
969 inw(ioaddr + EL3_STATUS) ); in el3_rx()
983 int ioaddr = dev->base_addr; in set_multicast_list() local
997 ioaddr + EL3_CMD); in set_multicast_list()
1000 outw(SetRxFilter | RxStation | RxMulticast | RxBroadcast, ioaddr + EL3_CMD); in set_multicast_list()
1003 outw(SetRxFilter | RxStation | RxBroadcast, ioaddr + EL3_CMD); in set_multicast_list()
1010 int ioaddr = dev->base_addr; in el3_close() local
1025 outw(0x0f00, ioaddr + WN0_IRQ); in el3_close()
1034 int ioaddr = dev->base_addr; in el3_link_ok() local
1038 tmp = inw(ioaddr + WN4_MEDIA); in el3_link_ok()
1047 int ioaddr = dev->base_addr; in el3_netdev_get_ecmd() local
1051 tmp = inw(ioaddr + WN0_ADDR_CONF); in el3_netdev_get_ecmd()
1069 tmp = inw(ioaddr + WN0_CONF_CTRL); in el3_netdev_get_ecmd()
1078 tmp = inw(ioaddr + WN4_NETDIAG); in el3_netdev_get_ecmd()
1092 int ioaddr = dev->base_addr; in el3_netdev_set_ecmd() local
1103 tmp = inw(ioaddr + WN0_ADDR_CONF); in el3_netdev_set_ecmd()
1121 outw(tmp, ioaddr + WN0_ADDR_CONF); in el3_netdev_set_ecmd()
1124 tmp = inw(ioaddr + WN0_ADDR_CONF); in el3_netdev_set_ecmd()
1126 outw(StartCoax, ioaddr + EL3_CMD); in el3_netdev_set_ecmd()
1133 tmp = inw(ioaddr + WN4_NETDIAG); in el3_netdev_set_ecmd()
1138 outw(tmp, ioaddr + WN4_NETDIAG); in el3_netdev_set_ecmd()
1205 int ioaddr = dev->base_addr; in el3_down() local
1210 outw(StatsDisable, ioaddr + EL3_CMD); in el3_down()
1213 outw(RxDisable, ioaddr + EL3_CMD); in el3_down()
1214 outw(TxDisable, ioaddr + EL3_CMD); in el3_down()
1218 outw(StopCoax, ioaddr + EL3_CMD); in el3_down()
1222 outw(inw(ioaddr + WN4_MEDIA) & ~MEDIA_TP, ioaddr + WN4_MEDIA); in el3_down()
1225 outw(SetIntrEnb | 0x0000, ioaddr + EL3_CMD); in el3_down()
1234 int ioaddr = dev->base_addr; in el3_up() local
1237 outw(0x0001, ioaddr + 4); in el3_up()
1240 outw((dev->irq << 12) | 0x0f00, ioaddr + WN0_IRQ); in el3_up()
1246 outb(dev->dev_addr[i], ioaddr + i); in el3_up()
1250 outw(StartCoax, ioaddr + EL3_CMD); in el3_up()
1255 sw_info = (read_eeprom(ioaddr, 0x14) & 0x400f) | in el3_up()
1256 (read_eeprom(ioaddr, 0x0d) & 0xBff0); in el3_up()
1259 net_diag = inw(ioaddr + WN4_NETDIAG); in el3_up()
1281 outw(net_diag, ioaddr + WN4_NETDIAG); in el3_up()
1286 outw(inw(ioaddr + WN4_MEDIA) | MEDIA_TP, ioaddr + WN4_MEDIA); in el3_up()
1290 outw(StatsDisable, ioaddr + EL3_CMD); in el3_up()
1293 inb(ioaddr + i); in el3_up()
1294 inw(ioaddr + 10); in el3_up()
1295 inw(ioaddr + 12); in el3_up()
1301 outw(SetRxFilter | RxStation | RxBroadcast, ioaddr + EL3_CMD); in el3_up()
1302 outw(StatsEnable, ioaddr + EL3_CMD); /* Turn on statistics. */ in el3_up()
1304 outw(RxEnable, ioaddr + EL3_CMD); /* Enable the receiver. */ in el3_up()
1305 outw(TxEnable, ioaddr + EL3_CMD); /* Enable transmitter. */ in el3_up()
1307 outw(SetStatusEnb | 0xff, ioaddr + EL3_CMD); in el3_up()
1310 ioaddr + EL3_CMD); in el3_up()
1312 ioaddr + EL3_CMD); in el3_up()
1326 int ioaddr; in el3_suspend() local
1330 ioaddr = dev->base_addr; in el3_suspend()
1338 outw(PowerDown, ioaddr + EL3_CMD); in el3_suspend()
1350 int ioaddr; in el3_resume() local
1354 ioaddr = dev->base_addr; in el3_resume()
1358 outw(PowerUp, ioaddr + EL3_CMD); in el3_resume()