Lines Matching refs:ioaddr
116 #define EL3WINDOW(win_num) outw(SelectWindow + (win_num), ioaddr + EL3_CMD)
186 static ushort read_eeprom(int ioaddr, int index);
268 static void el3_dev_fill(struct net_device *dev, __be16 *phys_addr, int ioaddr, in el3_dev_fill() argument
274 dev->base_addr = ioaddr; in el3_dev_fill()
283 int ioaddr, isa_irq, if_port, err; in el3_isa_match() local
294 ioaddr = 0x200 + ((iobase & 0x1f) << 4); in el3_isa_match()
307 if (!request_region(ioaddr, EL3_IO_EXTENT, "3c509-isa")) { in el3_isa_match()
316 outb((ioaddr >> 4) | 0xe0, id_port); in el3_isa_match()
319 if (inw(ioaddr) != 0x6d50) { in el3_isa_match()
325 outw(0x0f00, ioaddr + WN0_IRQ); in el3_isa_match()
327 el3_dev_fill(dev, phys_addr, ioaddr, isa_irq, if_port, EL3_ISA); in el3_isa_match()
357 int ioaddr = ndev->base_addr, err; in el3_isa_resume() local
367 outb((ioaddr >> 4) | 0xe0, id_port); in el3_isa_resume()
369 if (inw(ioaddr) != 0x6d50) in el3_isa_resume()
372 outw(0x0f00, ioaddr + WN0_IRQ); in el3_isa_resume()
406 int ioaddr, irq, if_port; in el3_pnp_probe() local
411 ioaddr = pnp_port_start(pdev, 0); in el3_pnp_probe()
412 if (!request_region(ioaddr, EL3_IO_EXTENT, "3c509-pnp")) in el3_pnp_probe()
417 phys_addr[i] = htons(read_eeprom(ioaddr, i)); in el3_pnp_probe()
418 if_port = read_eeprom(ioaddr, 8) >> 14; in el3_pnp_probe()
421 release_region(ioaddr, EL3_IO_EXTENT); in el3_pnp_probe()
427 el3_dev_fill(dev, phys_addr, ioaddr, irq, if_port, EL3_PNP); in el3_pnp_probe()
561 int ioaddr, irq, if_port; in el3_eisa_probe() local
569 ioaddr = edev->base_addr; in el3_eisa_probe()
571 if (!request_region(ioaddr, EL3_IO_EXTENT, "3c579-eisa")) in el3_eisa_probe()
575 outw(SelectWindow | 0, ioaddr + 0xC80 + EL3_CMD); in el3_eisa_probe()
577 irq = inw(ioaddr + WN0_IRQ) >> 12; in el3_eisa_probe()
578 if_port = inw(ioaddr + 6)>>14; in el3_eisa_probe()
580 phys_addr[i] = htons(read_eeprom(ioaddr, i)); in el3_eisa_probe()
583 read_eeprom(ioaddr, 3); in el3_eisa_probe()
587 release_region(ioaddr, EL3_IO_EXTENT); in el3_eisa_probe()
594 el3_dev_fill(dev, phys_addr, ioaddr, irq, if_port, EL3_EISA); in el3_eisa_probe()
625 static ushort read_eeprom(int ioaddr, int index) in read_eeprom() argument
627 outw(EEPROM_READ + index, ioaddr + 10); in read_eeprom()
631 return inw(ioaddr + 12); in read_eeprom()
660 int ioaddr = dev->base_addr; in el3_open() local
663 outw(TxReset, ioaddr + EL3_CMD); in el3_open()
664 outw(RxReset, ioaddr + EL3_CMD); in el3_open()
665 outw(SetStatusEnb | 0x00, ioaddr + EL3_CMD); in el3_open()
674 dev->irq, ioaddr + EL3_STATUS, inw(ioaddr + EL3_STATUS)); in el3_open()
680 dev->name, dev->irq, inw(ioaddr + EL3_STATUS)); in el3_open()
688 int ioaddr = dev->base_addr; in el3_tx_timeout() local
692 dev->name, inb(ioaddr + TX_STATUS), inw(ioaddr + EL3_STATUS), in el3_tx_timeout()
693 inw(ioaddr + TX_FREE)); in el3_tx_timeout()
697 outw(TxReset, ioaddr + EL3_CMD); in el3_tx_timeout()
698 outw(TxEnable, ioaddr + EL3_CMD); in el3_tx_timeout()
707 int ioaddr = dev->base_addr; in el3_start_xmit() local
716 dev->name, skb->len, inw(ioaddr + EL3_STATUS)); in el3_start_xmit()
732 outw(skb->len, ioaddr + TX_FIFO); in el3_start_xmit()
733 outw(0x00, ioaddr + TX_FIFO); in el3_start_xmit()
735 outsl(ioaddr + TX_FIFO, skb->data, (skb->len + 3) >> 2); in el3_start_xmit()
737 if (inw(ioaddr + TX_FREE) > 1536) in el3_start_xmit()
741 outw(SetTxThreshold + 1536, ioaddr + EL3_CMD); in el3_start_xmit()
752 while (--i > 0 && (tx_status = inb(ioaddr + TX_STATUS)) > 0) { in el3_start_xmit()
754 if (tx_status & 0x30) outw(TxReset, ioaddr + EL3_CMD); in el3_start_xmit()
755 if (tx_status & 0x3C) outw(TxEnable, ioaddr + EL3_CMD); in el3_start_xmit()
756 outb(0x00, ioaddr + TX_STATUS); /* Pop the status stack. */ in el3_start_xmit()
768 int ioaddr, status; in el3_interrupt() local
774 ioaddr = dev->base_addr; in el3_interrupt()
777 status = inw(ioaddr + EL3_STATUS); in el3_interrupt()
781 while ((status = inw(ioaddr + EL3_STATUS)) & in el3_interrupt()
791 outw(AckIntr | TxAvailable, ioaddr + EL3_CMD); in el3_interrupt()
800 outw(AckIntr | RxEarly, ioaddr + EL3_CMD); in el3_interrupt()
806 while (--i>0 && (tx_status = inb(ioaddr + TX_STATUS)) > 0) { in el3_interrupt()
808 if (tx_status & 0x30) outw(TxReset, ioaddr + EL3_CMD); in el3_interrupt()
809 if (tx_status & 0x3C) outw(TxEnable, ioaddr + EL3_CMD); in el3_interrupt()
810 outb(0x00, ioaddr + TX_STATUS); /* Pop the status stack. */ in el3_interrupt()
815 outw(RxReset, ioaddr + EL3_CMD); in el3_interrupt()
820 ioaddr + EL3_CMD); in el3_interrupt()
821 outw(RxEnable, ioaddr + EL3_CMD); /* Re-enable the receiver. */ in el3_interrupt()
822 outw(AckIntr | AdapterFailure, ioaddr + EL3_CMD); in el3_interrupt()
830 outw(AckIntr | 0xFF, ioaddr + EL3_CMD); in el3_interrupt()
834 outw(AckIntr | IntReq | IntLatch, ioaddr + EL3_CMD); /* Ack IRQ */ in el3_interrupt()
839 inw(ioaddr + EL3_STATUS)); in el3_interrupt()
883 int ioaddr = dev->base_addr; in update_stats() local
888 outw(StatsDisable, ioaddr + EL3_CMD); in update_stats()
891 dev->stats.tx_carrier_errors += inb(ioaddr + 0); in update_stats()
892 dev->stats.tx_heartbeat_errors += inb(ioaddr + 1); in update_stats()
893 /* Multiple collisions. */ inb(ioaddr + 2); in update_stats()
894 dev->stats.collisions += inb(ioaddr + 3); in update_stats()
895 dev->stats.tx_window_errors += inb(ioaddr + 4); in update_stats()
896 dev->stats.rx_fifo_errors += inb(ioaddr + 5); in update_stats()
897 dev->stats.tx_packets += inb(ioaddr + 6); in update_stats()
898 /* Rx packets */ inb(ioaddr + 7); in update_stats()
899 /* Tx deferrals */ inb(ioaddr + 8); in update_stats()
900 inw(ioaddr + 10); /* Total Rx and Tx octets. */ in update_stats()
901 inw(ioaddr + 12); in update_stats()
905 outw(StatsEnable, ioaddr + EL3_CMD); in update_stats()
911 int ioaddr = dev->base_addr; in el3_rx() local
916 inw(ioaddr+EL3_STATUS), inw(ioaddr+RX_STATUS)); in el3_rx()
917 while ((rx_status = inw(ioaddr + RX_STATUS)) > 0) { in el3_rx()
921 outw(RxDiscard, ioaddr + EL3_CMD); in el3_rx()
943 insl(ioaddr + RX_FIFO, skb_put(skb,pkt_len), in el3_rx()
946 outw(RxDiscard, ioaddr + EL3_CMD); /* Pop top Rx packet. */ in el3_rx()
953 outw(RxDiscard, ioaddr + EL3_CMD); in el3_rx()
959 inw(ioaddr + EL3_STATUS); /* Delay. */ in el3_rx()
960 while (inw(ioaddr + EL3_STATUS) & 0x1000) in el3_rx()
962 inw(ioaddr + EL3_STATUS) ); in el3_rx()
976 int ioaddr = dev->base_addr; in set_multicast_list() local
990 ioaddr + EL3_CMD); in set_multicast_list()
993 outw(SetRxFilter | RxStation | RxMulticast | RxBroadcast, ioaddr + EL3_CMD); in set_multicast_list()
996 outw(SetRxFilter | RxStation | RxBroadcast, ioaddr + EL3_CMD); in set_multicast_list()
1003 int ioaddr = dev->base_addr; in el3_close() local
1018 outw(0x0f00, ioaddr + WN0_IRQ); in el3_close()
1027 int ioaddr = dev->base_addr; in el3_link_ok() local
1031 tmp = inw(ioaddr + WN4_MEDIA); in el3_link_ok()
1040 int ioaddr = dev->base_addr; in el3_netdev_get_ecmd() local
1045 tmp = inw(ioaddr + WN0_ADDR_CONF); in el3_netdev_get_ecmd()
1061 tmp = inw(ioaddr + WN0_CONF_CTRL); in el3_netdev_get_ecmd()
1070 tmp = inw(ioaddr + WN4_NETDIAG); in el3_netdev_get_ecmd()
1086 int ioaddr = dev->base_addr; in el3_netdev_set_ecmd() local
1096 tmp = inw(ioaddr + WN0_ADDR_CONF); in el3_netdev_set_ecmd()
1114 outw(tmp, ioaddr + WN0_ADDR_CONF); in el3_netdev_set_ecmd()
1117 tmp = inw(ioaddr + WN0_ADDR_CONF); in el3_netdev_set_ecmd()
1119 outw(StartCoax, ioaddr + EL3_CMD); in el3_netdev_set_ecmd()
1126 tmp = inw(ioaddr + WN4_NETDIAG); in el3_netdev_set_ecmd()
1131 outw(tmp, ioaddr + WN4_NETDIAG); in el3_netdev_set_ecmd()
1198 int ioaddr = dev->base_addr; in el3_down() local
1203 outw(StatsDisable, ioaddr + EL3_CMD); in el3_down()
1206 outw(RxDisable, ioaddr + EL3_CMD); in el3_down()
1207 outw(TxDisable, ioaddr + EL3_CMD); in el3_down()
1211 outw(StopCoax, ioaddr + EL3_CMD); in el3_down()
1215 outw(inw(ioaddr + WN4_MEDIA) & ~MEDIA_TP, ioaddr + WN4_MEDIA); in el3_down()
1218 outw(SetIntrEnb | 0x0000, ioaddr + EL3_CMD); in el3_down()
1227 int ioaddr = dev->base_addr; in el3_up() local
1230 outw(0x0001, ioaddr + 4); in el3_up()
1233 outw((dev->irq << 12) | 0x0f00, ioaddr + WN0_IRQ); in el3_up()
1239 outb(dev->dev_addr[i], ioaddr + i); in el3_up()
1243 outw(StartCoax, ioaddr + EL3_CMD); in el3_up()
1248 sw_info = (read_eeprom(ioaddr, 0x14) & 0x400f) | in el3_up()
1249 (read_eeprom(ioaddr, 0x0d) & 0xBff0); in el3_up()
1252 net_diag = inw(ioaddr + WN4_NETDIAG); in el3_up()
1276 outw(net_diag, ioaddr + WN4_NETDIAG); in el3_up()
1281 outw(inw(ioaddr + WN4_MEDIA) | MEDIA_TP, ioaddr + WN4_MEDIA); in el3_up()
1285 outw(StatsDisable, ioaddr + EL3_CMD); in el3_up()
1288 inb(ioaddr + i); in el3_up()
1289 inw(ioaddr + 10); in el3_up()
1290 inw(ioaddr + 12); in el3_up()
1296 outw(SetRxFilter | RxStation | RxBroadcast, ioaddr + EL3_CMD); in el3_up()
1297 outw(StatsEnable, ioaddr + EL3_CMD); /* Turn on statistics. */ in el3_up()
1299 outw(RxEnable, ioaddr + EL3_CMD); /* Enable the receiver. */ in el3_up()
1300 outw(TxEnable, ioaddr + EL3_CMD); /* Enable transmitter. */ in el3_up()
1302 outw(SetStatusEnb | 0xff, ioaddr + EL3_CMD); in el3_up()
1305 ioaddr + EL3_CMD); in el3_up()
1307 ioaddr + EL3_CMD); in el3_up()
1321 int ioaddr; in el3_suspend() local
1325 ioaddr = dev->base_addr; in el3_suspend()
1333 outw(PowerDown, ioaddr + EL3_CMD); in el3_suspend()
1345 int ioaddr; in el3_resume() local
1349 ioaddr = dev->base_addr; in el3_resume()
1353 outw(PowerUp, ioaddr + EL3_CMD); in el3_resume()