Lines Matching refs:sp
110 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_ioaddr() local
111 return sp->ioaddr; in ipg_ioaddr()
117 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_dump_rfdlist() local
118 void __iomem *ioaddr = sp->ioaddr; in ipg_dump_rfdlist()
124 netdev_info(dev, "rx_current = %02x\n", sp->rx_current); in ipg_dump_rfdlist()
125 netdev_info(dev, "rx_dirty = %02x\n", sp->rx_dirty); in ipg_dump_rfdlist()
127 (unsigned long)sp->rxd_map); in ipg_dump_rfdlist()
132 offset = (u32) &sp->rxd[i].next_desc - (u32) sp->rxd; in ipg_dump_rfdlist()
134 i, offset, (unsigned long)sp->rxd[i].next_desc); in ipg_dump_rfdlist()
135 offset = (u32) &sp->rxd[i].rfs - (u32) sp->rxd; in ipg_dump_rfdlist()
137 i, offset, (unsigned long)sp->rxd[i].rfs); in ipg_dump_rfdlist()
138 offset = (u32) &sp->rxd[i].frag_info - (u32) sp->rxd; in ipg_dump_rfdlist()
140 i, offset, (unsigned long)sp->rxd[i].frag_info); in ipg_dump_rfdlist()
146 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_dump_tfdlist() local
147 void __iomem *ioaddr = sp->ioaddr; in ipg_dump_tfdlist()
153 netdev_info(dev, "tx_current = %02x\n", sp->tx_current); in ipg_dump_tfdlist()
154 netdev_info(dev, "tx_dirty = %02x\n", sp->tx_dirty); in ipg_dump_tfdlist()
156 (unsigned long) sp->txd_map); in ipg_dump_tfdlist()
161 offset = (u32) &sp->txd[i].next_desc - (u32) sp->txd; in ipg_dump_tfdlist()
163 i, offset, (unsigned long)sp->txd[i].next_desc); in ipg_dump_tfdlist()
165 offset = (u32) &sp->txd[i].tfc - (u32) sp->txd; in ipg_dump_tfdlist()
167 i, offset, (unsigned long) sp->txd[i].tfc); in ipg_dump_tfdlist()
168 offset = (u32) &sp->txd[i].frag_info - (u32) sp->txd; in ipg_dump_tfdlist()
170 i, offset, (unsigned long) sp->txd[i].frag_info); in ipg_dump_tfdlist()
381 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_set_led_mode() local
382 void __iomem *ioaddr = sp->ioaddr; in ipg_set_led_mode()
388 if ((sp->led_mode & 0x03) > 1) in ipg_set_led_mode()
391 if ((sp->led_mode & 0x01) == 1) in ipg_set_led_mode()
394 if ((sp->led_mode & 0x08) == 8) in ipg_set_led_mode()
402 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_set_phy_set() local
403 void __iomem *ioaddr = sp->ioaddr; in ipg_set_phy_set()
408 physet |= ((sp->led_mode & 0x70) >> 4); in ipg_set_phy_set()
471 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_config_autoneg() local
472 void __iomem *ioaddr = sp->ioaddr; in ipg_config_autoneg()
500 sp->tenmbpsmode = 0; in ipg_config_autoneg()
506 sp->tenmbpsmode = 1; in ipg_config_autoneg()
520 if (sp->tenmbpsmode == 1) in ipg_config_autoneg()
641 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_io_config() local
681 ipg_w16(sp->max_rxframe_size, MAX_FRAME_SIZE); in ipg_io_config()
734 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_get_rxbuff() local
735 struct ipg_rx *rxfd = sp->rxd + entry; in ipg_get_rxbuff()
741 skb = netdev_alloc_skb_ip_align(dev, sp->rxsupport_size); in ipg_get_rxbuff()
743 sp->rx_buff[entry] = NULL; in ipg_get_rxbuff()
748 sp->rx_buff[entry] = skb; in ipg_get_rxbuff()
750 rxfd->frag_info = cpu_to_le64(pci_map_single(sp->pdev, skb->data, in ipg_get_rxbuff()
751 sp->rx_buf_sz, PCI_DMA_FROMDEVICE)); in ipg_get_rxbuff()
754 rxfragsize = sp->rxfrag_size; in ipg_get_rxbuff()
762 struct ipg_nic_private *sp = netdev_priv(dev); in init_rfdlist() local
763 void __iomem *ioaddr = sp->ioaddr; in init_rfdlist()
769 struct ipg_rx *rxfd = sp->rxd + i; in init_rfdlist()
771 if (sp->rx_buff[i]) { in init_rfdlist()
772 pci_unmap_single(sp->pdev, in init_rfdlist()
774 sp->rx_buf_sz, PCI_DMA_FROMDEVICE); in init_rfdlist()
775 dev_kfree_skb_irq(sp->rx_buff[i]); in init_rfdlist()
776 sp->rx_buff[i] = NULL; in init_rfdlist()
798 rxfd->next_desc = cpu_to_le64(sp->rxd_map + in init_rfdlist()
801 sp->rxd[i - 1].next_desc = cpu_to_le64(sp->rxd_map); in init_rfdlist()
803 sp->rx_current = 0; in init_rfdlist()
804 sp->rx_dirty = 0; in init_rfdlist()
807 ipg_w32((u32) sp->rxd_map, RFD_LIST_PTR_0); in init_rfdlist()
815 struct ipg_nic_private *sp = netdev_priv(dev); in init_tfdlist() local
816 void __iomem *ioaddr = sp->ioaddr; in init_tfdlist()
822 struct ipg_tx *txfd = sp->txd + i; in init_tfdlist()
826 if (sp->tx_buff[i]) { in init_tfdlist()
827 dev_kfree_skb_irq(sp->tx_buff[i]); in init_tfdlist()
828 sp->tx_buff[i] = NULL; in init_tfdlist()
831 txfd->next_desc = cpu_to_le64(sp->txd_map + in init_tfdlist()
834 sp->txd[i - 1].next_desc = cpu_to_le64(sp->txd_map); in init_tfdlist()
836 sp->tx_current = 0; in init_tfdlist()
837 sp->tx_dirty = 0; in init_tfdlist()
841 (u32) sp->txd_map); in init_tfdlist()
842 ipg_w32((u32) sp->txd_map, TFD_LIST_PTR_0); in init_tfdlist()
845 sp->reset_current_tfd = 1; in init_tfdlist()
854 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_txfree() local
859 pending = sp->tx_current - sp->tx_dirty; in ipg_nic_txfree()
860 dirty = sp->tx_dirty % IPG_TFDLIST_LENGTH; in ipg_nic_txfree()
863 struct sk_buff *skb = sp->tx_buff[dirty]; in ipg_nic_txfree()
864 struct ipg_tx *txfd = sp->txd + dirty; in ipg_nic_txfree()
878 pci_unmap_single(sp->pdev, in ipg_nic_txfree()
884 sp->tx_buff[dirty] = NULL; in ipg_nic_txfree()
889 sp->tx_dirty += released; in ipg_nic_txfree()
892 (sp->tx_current != (sp->tx_dirty + IPG_TFDLIST_LENGTH))) { in ipg_nic_txfree()
899 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_tx_timeout() local
900 void __iomem *ioaddr = sp->ioaddr; in ipg_tx_timeout()
905 spin_lock_irq(&sp->lock); in ipg_tx_timeout()
913 spin_unlock_irq(&sp->lock); in ipg_tx_timeout()
926 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_txcleanup() local
927 void __iomem *ioaddr = sp->ioaddr; in ipg_nic_txcleanup()
947 if (sp->tenmbpsmode) { in ipg_nic_txcleanup()
954 sp->stats.tx_errors++; in ipg_nic_txcleanup()
976 sp->stats.tx_fifo_errors++; in ipg_nic_txcleanup()
997 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_get_stats() local
998 void __iomem *ioaddr = sp->ioaddr; in ipg_nic_get_stats()
1008 return &sp->stats; in ipg_nic_get_stats()
1010 sp->stats.rx_packets += ipg_r32(IPG_FRAMESRCVDOK); in ipg_nic_get_stats()
1011 sp->stats.tx_packets += ipg_r32(IPG_FRAMESXMTDOK); in ipg_nic_get_stats()
1012 sp->stats.rx_bytes += ipg_r32(IPG_OCTETRCVOK); in ipg_nic_get_stats()
1013 sp->stats.tx_bytes += ipg_r32(IPG_OCTETXMTOK); in ipg_nic_get_stats()
1015 sp->stats.rx_errors += temp1; in ipg_nic_get_stats()
1016 sp->stats.rx_missed_errors += temp1; in ipg_nic_get_stats()
1020 sp->stats.collisions += temp1; in ipg_nic_get_stats()
1021 sp->stats.tx_dropped += ipg_r16(IPG_FRAMESABORTXSCOLLS); in ipg_nic_get_stats()
1022 sp->stats.tx_errors += ipg_r16(IPG_FRAMESWEXDEFERRAL) + in ipg_nic_get_stats()
1024 sp->stats.multicast += ipg_r32(IPG_MCSTOCTETRCVDOK); in ipg_nic_get_stats()
1027 sp->stats.tx_carrier_errors += temp2; in ipg_nic_get_stats()
1030 sp->stats.rx_length_errors += ipg_r16(IPG_INRANGELENGTHERRORS) + in ipg_nic_get_stats()
1032 sp->stats.rx_crc_errors += ipg_r16(IPG_FRAMECHECKSEQERRORS); in ipg_nic_get_stats()
1037 return &sp->stats; in ipg_nic_get_stats()
1043 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_rxrestore() local
1044 const unsigned int curr = sp->rx_current; in ipg_nic_rxrestore()
1045 unsigned int dirty = sp->rx_dirty; in ipg_nic_rxrestore()
1049 for (dirty = sp->rx_dirty; curr - dirty > 0; dirty++) { in ipg_nic_rxrestore()
1053 if (sp->rx_buff[entry]) in ipg_nic_rxrestore()
1067 sp->rxd[entry].rfs = 0x0000000000000000; in ipg_nic_rxrestore()
1069 sp->rx_dirty = dirty; in ipg_nic_rxrestore()
1095 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_rx_free_skb() local
1096 unsigned int entry = sp->rx_current % IPG_RFDLIST_LENGTH; in ipg_nic_rx_free_skb()
1098 if (sp->rx_buff[entry]) { in ipg_nic_rx_free_skb()
1099 struct ipg_rx *rxfd = sp->rxd + entry; in ipg_nic_rx_free_skb()
1101 pci_unmap_single(sp->pdev, in ipg_nic_rx_free_skb()
1103 sp->rx_buf_sz, PCI_DMA_FROMDEVICE); in ipg_nic_rx_free_skb()
1104 dev_kfree_skb_irq(sp->rx_buff[entry]); in ipg_nic_rx_free_skb()
1105 sp->rx_buff[entry] = NULL; in ipg_nic_rx_free_skb()
1111 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_rx_check_frame_type() local
1112 struct ipg_rx *rxfd = sp->rxd + (sp->rx_current % IPG_RFDLIST_LENGTH); in ipg_nic_rx_check_frame_type()
1124 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_rx_check_error() local
1125 unsigned int entry = sp->rx_current % IPG_RFDLIST_LENGTH; in ipg_nic_rx_check_error()
1126 struct ipg_rx *rxfd = sp->rxd + entry; in ipg_nic_rx_check_error()
1136 sp->stats.rx_errors++; in ipg_nic_rx_check_error()
1142 sp->stats.rx_fifo_errors++; in ipg_nic_rx_check_error()
1147 sp->stats.rx_length_errors++; in ipg_nic_rx_check_error()
1156 sp->stats.rx_frame_errors++; in ipg_nic_rx_check_error()
1167 if (sp->rx_buff[entry]) { in ipg_nic_rx_check_error()
1168 pci_unmap_single(sp->pdev, in ipg_nic_rx_check_error()
1170 sp->rx_buf_sz, PCI_DMA_FROMDEVICE); in ipg_nic_rx_check_error()
1172 dev_kfree_skb_irq(sp->rx_buff[entry]); in ipg_nic_rx_check_error()
1173 sp->rx_buff[entry] = NULL; in ipg_nic_rx_check_error()
1181 struct ipg_nic_private *sp, in ipg_nic_rx_with_start_and_end() argument
1184 struct ipg_jumbo *jumbo = &sp->jumbo; in ipg_nic_rx_with_start_and_end()
1199 skb = sp->rx_buff[entry]; in ipg_nic_rx_with_start_and_end()
1205 if (framelen > sp->rxfrag_size) in ipg_nic_rx_with_start_and_end()
1206 framelen = sp->rxfrag_size; in ipg_nic_rx_with_start_and_end()
1212 sp->rx_buff[entry] = NULL; in ipg_nic_rx_with_start_and_end()
1216 struct ipg_nic_private *sp, in ipg_nic_rx_with_start() argument
1219 struct ipg_jumbo *jumbo = &sp->jumbo; in ipg_nic_rx_with_start()
1220 struct pci_dev *pdev = sp->pdev; in ipg_nic_rx_with_start()
1228 skb = sp->rx_buff[entry]; in ipg_nic_rx_with_start()
1236 sp->rx_buf_sz, PCI_DMA_FROMDEVICE); in ipg_nic_rx_with_start()
1238 skb_put(skb, sp->rxfrag_size); in ipg_nic_rx_with_start()
1241 jumbo->current_size = sp->rxfrag_size; in ipg_nic_rx_with_start()
1244 sp->rx_buff[entry] = NULL; in ipg_nic_rx_with_start()
1248 struct ipg_nic_private *sp, in ipg_nic_rx_with_end() argument
1251 struct ipg_jumbo *jumbo = &sp->jumbo; in ipg_nic_rx_with_end()
1255 struct sk_buff *skb = sp->rx_buff[entry]; in ipg_nic_rx_with_end()
1266 if (framelen > sp->rxsupport_size) in ipg_nic_rx_with_end()
1294 struct ipg_nic_private *sp, in ipg_nic_rx_no_start_no_end() argument
1297 struct ipg_jumbo *jumbo = &sp->jumbo; in ipg_nic_rx_no_start_no_end()
1301 struct sk_buff *skb = sp->rx_buff[entry]; in ipg_nic_rx_no_start_no_end()
1305 jumbo->current_size += sp->rxfrag_size; in ipg_nic_rx_no_start_no_end()
1306 if (jumbo->current_size <= sp->rxsupport_size) { in ipg_nic_rx_no_start_no_end()
1308 sp->rxfrag_size), in ipg_nic_rx_no_start_no_end()
1309 skb->data, sp->rxfrag_size); in ipg_nic_rx_no_start_no_end()
1324 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_rx_jumbo() local
1325 unsigned int curr = sp->rx_current; in ipg_nic_rx_jumbo()
1326 void __iomem *ioaddr = sp->ioaddr; in ipg_nic_rx_jumbo()
1333 struct ipg_rx *rxfd = sp->rxd + entry; in ipg_nic_rx_jumbo()
1340 ipg_nic_rx_with_start_and_end(dev, sp, rxfd, entry); in ipg_nic_rx_jumbo()
1343 ipg_nic_rx_with_start(dev, sp, rxfd, entry); in ipg_nic_rx_jumbo()
1346 ipg_nic_rx_with_end(dev, sp, rxfd, entry); in ipg_nic_rx_jumbo()
1349 ipg_nic_rx_no_start_no_end(dev, sp, rxfd, entry); in ipg_nic_rx_jumbo()
1354 sp->rx_current = curr; in ipg_nic_rx_jumbo()
1373 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_rx() local
1374 unsigned int curr = sp->rx_current; in ipg_nic_rx()
1375 void __iomem *ioaddr = sp->ioaddr; in ipg_nic_rx()
1386 struct sk_buff *skb = sp->rx_buff[entry]; in ipg_nic_rx()
1389 rxfd = sp->rxd + entry; in ipg_nic_rx()
1400 if (framelen > sp->rxfrag_size) { in ipg_nic_rx()
1404 framelen = sp->rxfrag_size; in ipg_nic_rx()
1416 sp->stats.rx_errors++; in ipg_nic_rx()
1421 sp->stats.rx_fifo_errors++; in ipg_nic_rx()
1426 sp->stats.rx_length_errors++; in ipg_nic_rx()
1436 sp->stats.rx_frame_errors++; in ipg_nic_rx()
1451 pci_unmap_single(sp->pdev, in ipg_nic_rx()
1453 sp->rx_buf_sz, PCI_DMA_FROMDEVICE); in ipg_nic_rx()
1483 sp->rx_buff[entry] = NULL; in ipg_nic_rx()
1497 sp->EmptyRFDListCount++; in ipg_nic_rx()
1504 rxfd = sp->rxd + entry; in ipg_nic_rx()
1517 if (sp->rx_buff[entry]) { in ipg_nic_rx()
1518 pci_unmap_single(sp->pdev, in ipg_nic_rx()
1520 sp->rx_buf_sz, PCI_DMA_FROMDEVICE); in ipg_nic_rx()
1521 dev_kfree_skb_irq(sp->rx_buff[entry]); in ipg_nic_rx()
1525 sp->rx_buff[entry] = NULL; in ipg_nic_rx()
1528 sp->rx_current = curr; in ipg_nic_rx()
1533 if ((curr - sp->rx_dirty) >= IPG_MINUSEDRFDSTOFREE) in ipg_nic_rx()
1541 struct ipg_nic_private *sp = in ipg_reset_after_host_error() local
1543 struct net_device *dev = sp->dev; in ipg_reset_after_host_error()
1556 schedule_delayed_work(&sp->task, HZ); in ipg_reset_after_host_error()
1563 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_interrupt_handler() local
1564 void __iomem *ioaddr = sp->ioaddr; in ipg_interrupt_handler()
1570 if (sp->is_jumbo) in ipg_interrupt_handler()
1573 spin_lock(&sp->lock); in ipg_interrupt_handler()
1607 sp->RFDlistendCount++; in ipg_interrupt_handler()
1625 sp->RFDListCheckedCount++; in ipg_interrupt_handler()
1628 if (sp->is_jumbo) in ipg_interrupt_handler()
1652 schedule_delayed_work(&sp->task, 0); in ipg_interrupt_handler()
1679 spin_unlock(&sp->lock); in ipg_interrupt_handler()
1684 static void ipg_rx_clear(struct ipg_nic_private *sp) in ipg_rx_clear() argument
1689 if (sp->rx_buff[i]) { in ipg_rx_clear()
1690 struct ipg_rx *rxfd = sp->rxd + i; in ipg_rx_clear()
1692 dev_kfree_skb_irq(sp->rx_buff[i]); in ipg_rx_clear()
1693 sp->rx_buff[i] = NULL; in ipg_rx_clear()
1694 pci_unmap_single(sp->pdev, in ipg_rx_clear()
1696 sp->rx_buf_sz, PCI_DMA_FROMDEVICE); in ipg_rx_clear()
1701 static void ipg_tx_clear(struct ipg_nic_private *sp) in ipg_tx_clear() argument
1706 if (sp->tx_buff[i]) { in ipg_tx_clear()
1707 struct ipg_tx *txfd = sp->txd + i; in ipg_tx_clear()
1709 pci_unmap_single(sp->pdev, in ipg_tx_clear()
1711 sp->tx_buff[i]->len, PCI_DMA_TODEVICE); in ipg_tx_clear()
1713 dev_kfree_skb_irq(sp->tx_buff[i]); in ipg_tx_clear()
1715 sp->tx_buff[i] = NULL; in ipg_tx_clear()
1722 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_open() local
1723 void __iomem *ioaddr = sp->ioaddr; in ipg_nic_open()
1724 struct pci_dev *pdev = sp->pdev; in ipg_nic_open()
1729 sp->rx_buf_sz = sp->rxsupport_size; in ipg_nic_open()
1753 sp->rxd = dma_alloc_coherent(&pdev->dev, IPG_RX_RING_BYTES, in ipg_nic_open()
1754 &sp->rxd_map, GFP_KERNEL); in ipg_nic_open()
1755 if (!sp->rxd) in ipg_nic_open()
1758 sp->txd = dma_alloc_coherent(&pdev->dev, IPG_TX_RING_BYTES, in ipg_nic_open()
1759 &sp->txd_map, GFP_KERNEL); in ipg_nic_open()
1760 if (!sp->txd) in ipg_nic_open()
1782 sp->jumbo.found_start = 0; in ipg_nic_open()
1783 sp->jumbo.current_size = 0; in ipg_nic_open()
1784 sp->jumbo.skb = NULL; in ipg_nic_open()
1795 ipg_tx_clear(sp); in ipg_nic_open()
1796 ipg_rx_clear(sp); in ipg_nic_open()
1798 dma_free_coherent(&pdev->dev, IPG_TX_RING_BYTES, sp->txd, sp->txd_map); in ipg_nic_open()
1800 dma_free_coherent(&pdev->dev, IPG_RX_RING_BYTES, sp->rxd, sp->rxd_map); in ipg_nic_open()
1808 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_stop() local
1809 void __iomem *ioaddr = sp->ioaddr; in ipg_nic_stop()
1810 struct pci_dev *pdev = sp->pdev; in ipg_nic_stop()
1826 ipg_rx_clear(sp); in ipg_nic_stop()
1828 ipg_tx_clear(sp); in ipg_nic_stop()
1830 pci_free_consistent(pdev, IPG_RX_RING_BYTES, sp->rxd, sp->rxd_map); in ipg_nic_stop()
1831 pci_free_consistent(pdev, IPG_TX_RING_BYTES, sp->txd, sp->txd_map); in ipg_nic_stop()
1841 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_hard_start_xmit() local
1842 void __iomem *ioaddr = sp->ioaddr; in ipg_nic_hard_start_xmit()
1843 unsigned int entry = sp->tx_current % IPG_TFDLIST_LENGTH; in ipg_nic_hard_start_xmit()
1852 if (sp->tenmbpsmode) in ipg_nic_hard_start_xmit()
1855 if (sp->reset_current_tfd) { in ipg_nic_hard_start_xmit()
1856 sp->reset_current_tfd = 0; in ipg_nic_hard_start_xmit()
1860 txfd = sp->txd + entry; in ipg_nic_hard_start_xmit()
1862 sp->tx_buff[entry] = skb; in ipg_nic_hard_start_xmit()
1869 (IPG_TFC_FRAMEID & sp->tx_current) | in ipg_nic_hard_start_xmit()
1883 if (sp->tenmbpsmode) in ipg_nic_hard_start_xmit()
1919 txfd->frag_info = cpu_to_le64(pci_map_single(sp->pdev, skb->data, in ipg_nic_hard_start_xmit()
1933 spin_lock_irqsave(&sp->lock, flags); in ipg_nic_hard_start_xmit()
1935 sp->tx_current++; in ipg_nic_hard_start_xmit()
1941 if (sp->tx_current == (sp->tx_dirty + IPG_TFDLIST_LENGTH)) in ipg_nic_hard_start_xmit()
1944 spin_unlock_irqrestore(&sp->lock, flags); in ipg_nic_hard_start_xmit()
2005 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_init_mii() local
2006 struct mii_if_info *mii_if = &sp->mii_if; in ipg_init_mii()
2028 ipg_set_phy_default_param(sp->pdev->revision, dev, phyaddr); in ipg_init_mii()
2039 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_hw_init() local
2040 void __iomem *ioaddr = sp->ioaddr; in ipg_hw_init()
2046 sp->led_mode = read_eeprom(dev, 6); in ipg_hw_init()
2059 sp->station_addr[i] = read_eeprom(dev, 16 + i); in ipg_hw_init()
2062 ipg_w16(sp->station_addr[i], STATION_ADDRESS_0 + 2*i); in ipg_hw_init()
2077 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_ioctl() local
2080 mutex_lock(&sp->mii_mutex); in ipg_ioctl()
2081 rc = generic_mii_ioctl(&sp->mii_if, if_mii(ifr), cmd, NULL); in ipg_ioctl()
2082 mutex_unlock(&sp->mii_mutex); in ipg_ioctl()
2089 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nic_change_mtu() local
2112 sp->max_rxframe_size = new_mtu; in ipg_nic_change_mtu()
2114 sp->rxfrag_size = new_mtu; in ipg_nic_change_mtu()
2115 if (sp->rxfrag_size > 4088) in ipg_nic_change_mtu()
2116 sp->rxfrag_size = 4088; in ipg_nic_change_mtu()
2118 sp->rxsupport_size = sp->max_rxframe_size; in ipg_nic_change_mtu()
2121 sp->is_jumbo = true; in ipg_nic_change_mtu()
2123 sp->is_jumbo = false; in ipg_nic_change_mtu()
2130 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_get_settings() local
2133 mutex_lock(&sp->mii_mutex); in ipg_get_settings()
2134 rc = mii_ethtool_gset(&sp->mii_if, cmd); in ipg_get_settings()
2135 mutex_unlock(&sp->mii_mutex); in ipg_get_settings()
2142 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_set_settings() local
2145 mutex_lock(&sp->mii_mutex); in ipg_set_settings()
2146 rc = mii_ethtool_sset(&sp->mii_if, cmd); in ipg_set_settings()
2147 mutex_unlock(&sp->mii_mutex); in ipg_set_settings()
2154 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_nway_reset() local
2157 mutex_lock(&sp->mii_mutex); in ipg_nway_reset()
2158 rc = mii_nway_restart(&sp->mii_if); in ipg_nway_reset()
2159 mutex_unlock(&sp->mii_mutex); in ipg_nway_reset()
2173 struct ipg_nic_private *sp = netdev_priv(dev); in ipg_remove() local
2180 pci_iounmap(pdev, sp->ioaddr); in ipg_remove()
2204 struct ipg_nic_private *sp; in ipg_probe() local
2235 sp = netdev_priv(dev); in ipg_probe()
2236 spin_lock_init(&sp->lock); in ipg_probe()
2237 mutex_init(&sp->mii_mutex); in ipg_probe()
2239 sp->is_jumbo = IPG_IS_JUMBO; in ipg_probe()
2240 sp->rxfrag_size = IPG_RXFRAG_SIZE; in ipg_probe()
2241 sp->rxsupport_size = IPG_RXSUPPORT_SIZE; in ipg_probe()
2242 sp->max_rxframe_size = IPG_MAX_RXFRAME_SIZE; in ipg_probe()
2262 sp->ioaddr = ioaddr; in ipg_probe()
2263 sp->pdev = pdev; in ipg_probe()
2264 sp->dev = dev; in ipg_probe()
2266 INIT_DELAYED_WORK(&sp->task, ipg_reset_after_host_error); in ipg_probe()