Lines Matching refs:np
60 static void dl2k_enable_int(struct netdev_private *np) in dl2k_enable_int() argument
62 void __iomem *ioaddr = np->ioaddr; in dl2k_enable_int()
117 struct netdev_private *np; in rio_probe1() local
142 dev = alloc_etherdev (sizeof (*np)); in rio_probe1()
147 np = netdev_priv(dev); in rio_probe1()
153 np->eeprom_addr = ioaddr; in rio_probe1()
161 np->ioaddr = ioaddr; in rio_probe1()
162 np->chip_id = chip_idx; in rio_probe1()
163 np->pdev = pdev; in rio_probe1()
164 spin_lock_init (&np->tx_lock); in rio_probe1()
165 spin_lock_init (&np->rx_lock); in rio_probe1()
168 np->an_enable = 1; in rio_probe1()
169 np->tx_coalesce = 1; in rio_probe1()
172 np->an_enable = 0; in rio_probe1()
176 np->an_enable = 2; in rio_probe1()
179 np->speed = 100; in rio_probe1()
180 np->full_duplex = 1; in rio_probe1()
183 np->speed = 100; in rio_probe1()
184 np->full_duplex = 0; in rio_probe1()
187 np->speed = 10; in rio_probe1()
188 np->full_duplex = 1; in rio_probe1()
191 np->speed = 10; in rio_probe1()
192 np->full_duplex = 0; in rio_probe1()
195 np->speed=1000; in rio_probe1()
196 np->full_duplex=1; in rio_probe1()
199 np->speed = 1000; in rio_probe1()
200 np->full_duplex = 0; in rio_probe1()
202 np->an_enable = 1; in rio_probe1()
206 np->jumbo = 1; in rio_probe1()
209 np->jumbo = 0; in rio_probe1()
213 np->vlan = (vlan[card_idx] > 0 && vlan[card_idx] < 4096) ? in rio_probe1()
216 np->rx_coalesce = rx_coalesce; in rio_probe1()
217 np->rx_timeout = rx_timeout; in rio_probe1()
218 np->coalesce = 1; in rio_probe1()
220 np->tx_flow = (tx_flow == 0) ? 0 : 1; in rio_probe1()
221 np->rx_flow = (rx_flow == 0) ? 0 : 1; in rio_probe1()
239 np->tx_ring = ring_space; in rio_probe1()
240 np->tx_ring_dma = ring_dma; in rio_probe1()
245 np->rx_ring = ring_space; in rio_probe1()
246 np->rx_ring_dma = ring_dma; in rio_probe1()
256 if (np->chip_id == CHIP_IP1000A && in rio_probe1()
257 (np->pdev->revision == 0x40 || np->pdev->revision == 0x41)) { in rio_probe1()
259 mii_write(dev, np->phy_addr, 31, 0x0001); in rio_probe1()
260 mii_write(dev, np->phy_addr, 27, 0x01e0); in rio_probe1()
261 mii_write(dev, np->phy_addr, 31, 0x0002); in rio_probe1()
262 mii_write(dev, np->phy_addr, 27, 0xeb8e); in rio_probe1()
263 mii_write(dev, np->phy_addr, 31, 0x0000); in rio_probe1()
264 mii_write(dev, np->phy_addr, 30, 0x005e); in rio_probe1()
266 mii_write(dev, np->phy_addr, MII_CTRL1000, 0x0700); in rio_probe1()
270 np->phy_media = (dr16(ASICCtrl) & PhyMedia) ? 1 : 0; in rio_probe1()
271 np->link_status = 0; in rio_probe1()
273 if (np->phy_media) { in rio_probe1()
275 if (np->an_enable == 2) { in rio_probe1()
276 np->an_enable = 1; in rio_probe1()
282 if (np->speed == 1000) in rio_probe1()
283 np->an_enable = 1; in rio_probe1()
294 dev->name, np->name, dev->dev_addr, irq); in rio_probe1()
298 if (np->coalesce) in rio_probe1()
302 np->rx_coalesce, np->rx_timeout*640); in rio_probe1()
303 if (np->vlan) in rio_probe1()
304 printk(KERN_INFO "vlan(id):\t%d\n", np->vlan); in rio_probe1()
308 pci_free_consistent (pdev, RX_TOTAL_SIZE, np->rx_ring, np->rx_ring_dma); in rio_probe1()
310 pci_free_consistent (pdev, TX_TOTAL_SIZE, np->tx_ring, np->tx_ring_dma); in rio_probe1()
313 pci_iounmap(pdev, np->ioaddr); in rio_probe1()
315 pci_iounmap(pdev, np->eeprom_addr); in rio_probe1()
328 struct netdev_private *np = netdev_priv(dev); in find_miiphy() local
330 np = netdev_priv(dev); in find_miiphy()
331 np->phy_addr = 1; in find_miiphy()
336 np->phy_addr = i; in find_miiphy()
350 struct netdev_private *np = netdev_priv(dev); in parse_eeprom() local
351 void __iomem *ioaddr = np->ioaddr; in parse_eeprom()
361 ((__le16 *) sromdata)[i] = cpu_to_le16(read_eeprom(np, i)); in parse_eeprom()
363 if (np->pdev->vendor == PCI_VENDOR_ID_DLINK) { /* D-Link Only */ in parse_eeprom()
377 if (np->chip_id == CHIP_IP1000A) { in parse_eeprom()
378 np->led_mode = psrom->led_mode; in parse_eeprom()
382 if (np->pdev->vendor != PCI_VENDOR_ID_DLINK) { in parse_eeprom()
402 np->duplex_polarity = psib[i]; in parse_eeprom()
406 np->wake_polarity = psib[i]; in parse_eeprom()
410 memcpy (np->name, &(psib[i]), j); in parse_eeprom()
429 struct netdev_private *np = netdev_priv(dev); in rio_set_led_mode() local
430 void __iomem *ioaddr = np->ioaddr; in rio_set_led_mode()
433 if (np->chip_id != CHIP_IP1000A) in rio_set_led_mode()
439 if (np->led_mode & 0x01) in rio_set_led_mode()
441 if (np->led_mode & 0x02) in rio_set_led_mode()
443 if (np->led_mode & 0x08) in rio_set_led_mode()
452 struct netdev_private *np = netdev_priv(dev); in rio_open() local
453 void __iomem *ioaddr = np->ioaddr; in rio_open()
454 const int irq = np->pdev->irq; in rio_open()
473 if (np->jumbo != 0) in rio_open()
487 if (np->coalesce) { in rio_open()
488 dw32(RxDMAIntCtrl, np->rx_coalesce | np->rx_timeout << 16); in rio_open()
500 if (np->vlan) { in rio_open()
504 dw16(VLANId, np->vlan); in rio_open()
506 dw32(VLANTag, 0x8100 << 16 | np->vlan); in rio_open()
512 setup_timer(&np->timer, rio_timer, (unsigned long)dev); in rio_open()
513 np->timer.expires = jiffies + 1*HZ; in rio_open()
514 add_timer (&np->timer); in rio_open()
520 macctrl |= (np->vlan) ? AutoVLANuntagging : 0; in rio_open()
521 macctrl |= (np->full_duplex) ? DuplexSelect : 0; in rio_open()
522 macctrl |= (np->tx_flow) ? TxFlowControlEnable : 0; in rio_open()
523 macctrl |= (np->rx_flow) ? RxFlowControlEnable : 0; in rio_open()
528 dl2k_enable_int(np); in rio_open()
536 struct netdev_private *np = netdev_priv(dev); in rio_timer() local
541 spin_lock_irqsave(&np->rx_lock, flags); in rio_timer()
543 if (np->cur_rx - np->old_rx >= RX_RING_SIZE) { in rio_timer()
546 for (; np->cur_rx - np->old_rx > 0; np->old_rx++) { in rio_timer()
548 entry = np->old_rx % RX_RING_SIZE; in rio_timer()
550 if (np->rx_skbuff[entry] == NULL) { in rio_timer()
552 np->rx_buf_sz); in rio_timer()
554 np->rx_ring[entry].fraginfo = 0; in rio_timer()
560 np->rx_skbuff[entry] = skb; in rio_timer()
561 np->rx_ring[entry].fraginfo = in rio_timer()
563 (np->pdev, skb->data, np->rx_buf_sz, in rio_timer()
566 np->rx_ring[entry].fraginfo |= in rio_timer()
567 cpu_to_le64((u64)np->rx_buf_sz << 48); in rio_timer()
568 np->rx_ring[entry].status = 0; in rio_timer()
571 spin_unlock_irqrestore (&np->rx_lock, flags); in rio_timer()
572 np->timer.expires = jiffies + next_tick; in rio_timer()
573 add_timer(&np->timer); in rio_timer()
579 struct netdev_private *np = netdev_priv(dev); in rio_tx_timeout() local
580 void __iomem *ioaddr = np->ioaddr; in rio_tx_timeout()
593 struct netdev_private *np = netdev_priv(dev); in alloc_list() local
594 void __iomem *ioaddr = np->ioaddr; in alloc_list()
597 np->cur_rx = np->cur_tx = 0; in alloc_list()
598 np->old_rx = np->old_tx = 0; in alloc_list()
599 np->rx_buf_sz = (dev->mtu <= 1500 ? PACKET_SIZE : dev->mtu + 32); in alloc_list()
603 np->tx_skbuff[i] = NULL; in alloc_list()
604 np->tx_ring[i].status = cpu_to_le64 (TFDDone); in alloc_list()
605 np->tx_ring[i].next_desc = cpu_to_le64 (np->tx_ring_dma + in alloc_list()
612 np->rx_ring[i].next_desc = cpu_to_le64 (np->rx_ring_dma + in alloc_list()
615 np->rx_ring[i].status = 0; in alloc_list()
616 np->rx_ring[i].fraginfo = 0; in alloc_list()
617 np->rx_skbuff[i] = NULL; in alloc_list()
625 skb = netdev_alloc_skb_ip_align(dev, np->rx_buf_sz); in alloc_list()
626 np->rx_skbuff[i] = skb; in alloc_list()
631 np->rx_ring[i].fraginfo = in alloc_list()
633 np->pdev, skb->data, np->rx_buf_sz, in alloc_list()
635 np->rx_ring[i].fraginfo |= cpu_to_le64((u64)np->rx_buf_sz << 48); in alloc_list()
639 dw32(RFDListPtr0, np->rx_ring_dma); in alloc_list()
646 struct netdev_private *np = netdev_priv(dev); in start_xmit() local
647 void __iomem *ioaddr = np->ioaddr; in start_xmit()
652 if (np->link_status == 0) { /* Link Down */ in start_xmit()
656 entry = np->cur_tx % TX_RING_SIZE; in start_xmit()
657 np->tx_skbuff[entry] = skb; in start_xmit()
658 txdesc = &np->tx_ring[entry]; in start_xmit()
667 if (np->vlan) { in start_xmit()
669 ((u64)np->vlan << 32) | in start_xmit()
672 txdesc->fraginfo = cpu_to_le64 (pci_map_single (np->pdev, skb->data, in start_xmit()
679 if (entry % np->tx_coalesce == 0 || np->speed == 10) in start_xmit()
693 np->cur_tx = (np->cur_tx + 1) % TX_RING_SIZE; in start_xmit()
694 if ((np->cur_tx - np->old_tx + TX_RING_SIZE) % TX_RING_SIZE in start_xmit()
695 < TX_QUEUE_LEN - 1 && np->speed != 10) { in start_xmit()
703 dw32(TFDListPtr0, np->tx_ring_dma + in start_xmit()
715 struct netdev_private *np = netdev_priv(dev); in rio_interrupt() local
716 void __iomem *ioaddr = np->ioaddr; in rio_interrupt()
746 if (np->cur_tx != np->old_tx) in rio_interrupt()
759 struct netdev_private *np = netdev_priv(dev); in rio_free_tx() local
760 int entry = np->old_tx % TX_RING_SIZE; in rio_free_tx()
765 spin_lock(&np->tx_lock); in rio_free_tx()
767 spin_lock_irqsave(&np->tx_lock, flag); in rio_free_tx()
770 while (entry != np->cur_tx) { in rio_free_tx()
773 if (!(np->tx_ring[entry].status & cpu_to_le64(TFDDone))) in rio_free_tx()
775 skb = np->tx_skbuff[entry]; in rio_free_tx()
776 pci_unmap_single (np->pdev, in rio_free_tx()
777 desc_to_dma(&np->tx_ring[entry]), in rio_free_tx()
784 np->tx_skbuff[entry] = NULL; in rio_free_tx()
789 spin_unlock(&np->tx_lock); in rio_free_tx()
791 spin_unlock_irqrestore(&np->tx_lock, flag); in rio_free_tx()
792 np->old_tx = entry; in rio_free_tx()
798 ((np->cur_tx - np->old_tx + TX_RING_SIZE) % TX_RING_SIZE in rio_free_tx()
799 < TX_QUEUE_LEN - 1 || np->speed == 10)) { in rio_free_tx()
807 struct netdev_private *np = netdev_priv(dev); in tx_error() local
808 void __iomem *ioaddr = np->ioaddr; in tx_error()
815 np->stats.tx_errors++; in tx_error()
818 np->stats.tx_fifo_errors++; in tx_error()
832 dw32(TFDListPtr0, np->tx_ring_dma + in tx_error()
833 np->old_tx * sizeof (struct netdev_desc)); in tx_error()
840 np->stats.tx_fifo_errors++; in tx_error()
855 np->stats.collisions16++; in tx_error()
858 np->stats.collisions++; in tx_error()
867 struct netdev_private *np = netdev_priv(dev); in receive_packet() local
868 int entry = np->cur_rx % RX_RING_SIZE; in receive_packet()
873 struct netdev_desc *desc = &np->rx_ring[entry]; in receive_packet()
889 np->stats.rx_errors++; in receive_packet()
891 np->stats.rx_length_errors++; in receive_packet()
893 np->stats.rx_crc_errors++; in receive_packet()
894 if (frame_status & RxAlignmentError && np->speed != 1000) in receive_packet()
895 np->stats.rx_frame_errors++; in receive_packet()
897 np->stats.rx_fifo_errors++; in receive_packet()
903 pci_unmap_single (np->pdev, in receive_packet()
905 np->rx_buf_sz, in receive_packet()
907 skb_put (skb = np->rx_skbuff[entry], pkt_len); in receive_packet()
908 np->rx_skbuff[entry] = NULL; in receive_packet()
910 pci_dma_sync_single_for_cpu(np->pdev, in receive_packet()
912 np->rx_buf_sz, in receive_packet()
915 np->rx_skbuff[entry]->data, in receive_packet()
918 pci_dma_sync_single_for_device(np->pdev, in receive_packet()
920 np->rx_buf_sz, in receive_packet()
926 if (np->pdev->pci_rev_id >= 0x0c && in receive_packet()
935 spin_lock(&np->rx_lock); in receive_packet()
936 np->cur_rx = entry; in receive_packet()
938 entry = np->old_rx; in receive_packet()
939 while (entry != np->cur_rx) { in receive_packet()
942 if (np->rx_skbuff[entry] == NULL) { in receive_packet()
943 skb = netdev_alloc_skb_ip_align(dev, np->rx_buf_sz); in receive_packet()
945 np->rx_ring[entry].fraginfo = 0; in receive_packet()
952 np->rx_skbuff[entry] = skb; in receive_packet()
953 np->rx_ring[entry].fraginfo = in receive_packet()
955 (np->pdev, skb->data, np->rx_buf_sz, in receive_packet()
958 np->rx_ring[entry].fraginfo |= in receive_packet()
959 cpu_to_le64((u64)np->rx_buf_sz << 48); in receive_packet()
960 np->rx_ring[entry].status = 0; in receive_packet()
963 np->old_rx = entry; in receive_packet()
964 spin_unlock(&np->rx_lock); in receive_packet()
971 struct netdev_private *np = netdev_priv(dev); in rio_error() local
972 void __iomem *ioaddr = np->ioaddr; in rio_error()
979 if (np->phy_media) in rio_error()
983 if (np->speed == 1000) in rio_error()
984 np->tx_coalesce = tx_coalesce; in rio_error()
986 np->tx_coalesce = 1; in rio_error()
988 macctrl |= (np->vlan) ? AutoVLANuntagging : 0; in rio_error()
989 macctrl |= (np->full_duplex) ? DuplexSelect : 0; in rio_error()
990 macctrl |= (np->tx_flow) ? in rio_error()
992 macctrl |= (np->rx_flow) ? in rio_error()
995 np->link_status = 1; in rio_error()
999 np->link_status = 0; in rio_error()
1023 struct netdev_private *np = netdev_priv(dev); in get_stats() local
1024 void __iomem *ioaddr = np->ioaddr; in get_stats()
1033 np->stats.rx_packets += dr32(FramesRcvOk); in get_stats()
1034 np->stats.tx_packets += dr32(FramesXmtOk); in get_stats()
1035 np->stats.rx_bytes += dr32(OctetRcvOk); in get_stats()
1036 np->stats.tx_bytes += dr32(OctetXmtOk); in get_stats()
1038 np->stats.multicast = dr32(McstFramesRcvdOk); in get_stats()
1039 np->stats.collisions += dr32(SingleColFrames) in get_stats()
1044 np->stats.tx_aborted_errors += stat_reg; in get_stats()
1045 np->stats.tx_errors += stat_reg; in get_stats()
1048 np->stats.tx_carrier_errors += stat_reg; in get_stats()
1049 np->stats.tx_errors += stat_reg; in get_stats()
1079 return &np->stats; in get_stats()
1085 struct netdev_private *np = netdev_priv(dev); in clear_stats() local
1086 void __iomem *ioaddr = np->ioaddr; in clear_stats()
1141 struct netdev_private *np = netdev_priv(dev); in change_mtu() local
1142 int max = (np->jumbo) ? MAX_JUMBO : 1536; in change_mtu()
1156 struct netdev_private *np = netdev_priv(dev); in set_multicast() local
1157 void __iomem *ioaddr = np->ioaddr; in set_multicast()
1190 if (np->vlan) { in set_multicast()
1202 struct netdev_private *np = netdev_priv(dev); in rio_get_drvinfo() local
1206 strlcpy(info->bus_info, pci_name(np->pdev), sizeof(info->bus_info)); in rio_get_drvinfo()
1211 struct netdev_private *np = netdev_priv(dev); in rio_get_settings() local
1212 if (np->phy_media) { in rio_get_settings()
1231 if ( np->link_status ) { in rio_get_settings()
1232 ethtool_cmd_speed_set(cmd, np->speed); in rio_get_settings()
1233 cmd->duplex = np->full_duplex ? DUPLEX_FULL : DUPLEX_HALF; in rio_get_settings()
1238 if ( np->an_enable) in rio_get_settings()
1243 cmd->phy_address = np->phy_addr; in rio_get_settings()
1249 struct netdev_private *np = netdev_priv(dev); in rio_set_settings() local
1252 if (np->an_enable) in rio_set_settings()
1255 np->an_enable = 1; in rio_set_settings()
1260 np->an_enable = 0; in rio_set_settings()
1261 if (np->speed == 1000) { in rio_set_settings()
1268 np->speed = 10; in rio_set_settings()
1269 np->full_duplex = (cmd->duplex == DUPLEX_FULL); in rio_set_settings()
1272 np->speed = 100; in rio_set_settings()
1273 np->full_duplex = (cmd->duplex == DUPLEX_FULL); in rio_set_settings()
1286 struct netdev_private *np = netdev_priv(dev); in rio_get_link() local
1287 return np->link_status; in rio_get_link()
1301 struct netdev_private *np = netdev_priv(dev); in rio_ioctl() local
1304 phy_addr = np->phy_addr; in rio_ioctl()
1327 static int read_eeprom(struct netdev_private *np, int eep_addr) in read_eeprom() argument
1329 void __iomem *ioaddr = np->eeprom_addr; in read_eeprom()
1349 struct netdev_private *np = netdev_priv(dev); in mii_sendbit() local
1350 void __iomem *ioaddr = np->ioaddr; in mii_sendbit()
1362 struct netdev_private *np = netdev_priv(dev); in mii_getbit() local
1363 void __iomem *ioaddr = np->ioaddr; in mii_getbit()
1432 struct netdev_private *np; in mii_wait_link() local
1434 np = netdev_priv(dev); in mii_wait_link()
1435 phy_addr = np->phy_addr; in mii_wait_link()
1453 struct netdev_private *np; in mii_get_media() local
1455 np = netdev_priv(dev); in mii_get_media()
1456 phy_addr = np->phy_addr; in mii_get_media()
1459 if (np->an_enable) { in mii_get_media()
1469 np->speed = 1000; in mii_get_media()
1470 np->full_duplex = 1; in mii_get_media()
1473 np->speed = 1000; in mii_get_media()
1474 np->full_duplex = 0; in mii_get_media()
1477 np->speed = 100; in mii_get_media()
1478 np->full_duplex = 1; in mii_get_media()
1481 np->speed = 100; in mii_get_media()
1482 np->full_duplex = 0; in mii_get_media()
1485 np->speed = 10; in mii_get_media()
1486 np->full_duplex = 1; in mii_get_media()
1489 np->speed = 10; in mii_get_media()
1490 np->full_duplex = 0; in mii_get_media()
1494 np->tx_flow &= 1; in mii_get_media()
1495 np->rx_flow &= 1; in mii_get_media()
1497 np->tx_flow = 0; in mii_get_media()
1498 np->rx_flow &= 1; in mii_get_media()
1519 if (np->tx_flow) in mii_get_media()
1523 if (np->rx_flow) in mii_get_media()
1539 struct netdev_private *np; in mii_set_media() local
1540 np = netdev_priv(dev); in mii_set_media()
1541 phy_addr = np->phy_addr; in mii_set_media()
1544 if (np->an_enable) { in mii_set_media()
1596 if (np->speed == 100) { in mii_set_media()
1599 } else if (np->speed == 10) { in mii_set_media()
1602 if (np->full_duplex) { in mii_set_media()
1626 struct netdev_private *np; in mii_get_media_pcs() local
1628 np = netdev_priv(dev); in mii_get_media_pcs()
1629 phy_addr = np->phy_addr; in mii_get_media_pcs()
1632 if (np->an_enable) { in mii_get_media_pcs()
1639 np->speed = 1000; in mii_get_media_pcs()
1642 np->full_duplex = 1; in mii_get_media_pcs()
1645 np->full_duplex = 0; in mii_get_media_pcs()
1648 np->tx_flow &= 1; in mii_get_media_pcs()
1649 np->rx_flow &= 1; in mii_get_media_pcs()
1651 np->tx_flow = 0; in mii_get_media_pcs()
1652 np->rx_flow &= 1; in mii_get_media_pcs()
1664 if (np->tx_flow) in mii_get_media_pcs()
1668 if (np->rx_flow) in mii_get_media_pcs()
1683 struct netdev_private *np; in mii_set_media_pcs() local
1684 np = netdev_priv(dev); in mii_set_media_pcs()
1685 phy_addr = np->phy_addr; in mii_set_media_pcs()
1688 if (np->an_enable) { in mii_set_media_pcs()
1712 if (np->full_duplex) { in mii_set_media_pcs()
1732 struct netdev_private *np = netdev_priv(dev); in rio_close() local
1733 void __iomem *ioaddr = np->ioaddr; in rio_close()
1735 struct pci_dev *pdev = np->pdev; in rio_close()
1748 del_timer_sync (&np->timer); in rio_close()
1752 skb = np->rx_skbuff[i]; in rio_close()
1754 pci_unmap_single(pdev, desc_to_dma(&np->rx_ring[i]), in rio_close()
1757 np->rx_skbuff[i] = NULL; in rio_close()
1759 np->rx_ring[i].status = 0; in rio_close()
1760 np->rx_ring[i].fraginfo = 0; in rio_close()
1763 skb = np->tx_skbuff[i]; in rio_close()
1765 pci_unmap_single(pdev, desc_to_dma(&np->tx_ring[i]), in rio_close()
1768 np->tx_skbuff[i] = NULL; in rio_close()
1781 struct netdev_private *np = netdev_priv(dev); in rio_remove1() local
1784 pci_free_consistent (pdev, RX_TOTAL_SIZE, np->rx_ring, in rio_remove1()
1785 np->rx_ring_dma); in rio_remove1()
1786 pci_free_consistent (pdev, TX_TOTAL_SIZE, np->tx_ring, in rio_remove1()
1787 np->tx_ring_dma); in rio_remove1()
1789 pci_iounmap(pdev, np->ioaddr); in rio_remove1()
1791 pci_iounmap(pdev, np->eeprom_addr); in rio_remove1()