Lines Matching defs:dev
268 struct net_device *dev;
398 static void __mdio_write(struct net_device *dev, int phy_id, int reg, int val)
400 struct sis190_private *tp = netdev_priv(dev);
405 static int __mdio_read(struct net_device *dev, int phy_id, int reg)
407 struct sis190_private *tp = netdev_priv(dev);
494 skb = netdev_alloc_skb(tp->dev, rx_buf_sz);
497 mapping = dma_map_single(&tp->pci_dev->dev, skb->data, tp->rx_buf_sz,
499 if (dma_mapping_error(&tp->pci_dev->dev, mapping))
512 static u32 sis190_rx_fill(struct sis190_private *tp, struct net_device *dev,
541 skb = netdev_alloc_skb_ip_align(tp->dev, pkt_size);
545 dma_sync_single_for_cpu(&tp->pci_dev->dev, addr, tp->rx_buf_sz,
574 static int sis190_rx_interrupt(struct net_device *dev,
577 struct net_device_stats *stats = &dev->stats;
582 rx_left = sis190_rx_quota(rx_left, (u32) dev->quota);
594 //netif_info(tp, intr, dev, "Rx PSize = %08x\n", status);
605 netif_info(tp, intr, dev,
615 dma_sync_single_for_device(&pdev->dev, addr,
620 dma_unmap_single(&pdev->dev, addr,
628 skb->protocol = eth_type_trans(skb, dev);
641 delta = sis190_rx_fill(tp, dev, tp->dirty_rx, tp->cur_rx);
643 netif_info(tp, intr, dev, "no Rx buffer allocated\n");
647 netif_emerg(tp, intr, dev, "Rx buffers exhausted\n");
659 dma_unmap_single(&pdev->dev, le32_to_cpu(desc->addr), len,
686 static void sis190_tx_interrupt(struct net_device *dev,
689 struct net_device_stats *stats = &dev->stats;
727 netif_wake_queue(dev);
737 struct net_device *dev = __dev;
738 struct sis190_private *tp = netdev_priv(dev);
750 if (unlikely(!netif_running(dev))) {
757 // netif_info(tp, intr, dev, "status = %08x\n", status);
760 netif_info(tp, intr, dev, "link change\n");
766 sis190_rx_interrupt(dev, tp, ioaddr);
769 sis190_tx_interrupt(dev, tp, ioaddr);
775 static void sis190_netpoll(struct net_device *dev)
777 struct sis190_private *tp = netdev_priv(dev);
781 sis190_irq(irq, dev);
791 dma_unmap_single(&pdev->dev, le32_to_cpu(desc->addr), tp->rx_buf_sz,
814 static int sis190_init_ring(struct net_device *dev)
816 struct sis190_private *tp = netdev_priv(dev);
823 if (sis190_rx_fill(tp, dev, 0, NUM_RX_DESC) != NUM_RX_DESC)
835 static void sis190_set_rx_mode(struct net_device *dev)
837 struct sis190_private *tp = netdev_priv(dev);
843 if (dev->flags & IFF_PROMISC) {
848 } else if ((netdev_mc_count(dev) > multicast_filter_limit) ||
849 (dev->flags & IFF_ALLMULTI)) {
858 netdev_for_each_mc_addr(ha, dev) {
883 static void sis190_hw_start(struct net_device *dev)
885 struct sis190_private *tp = netdev_priv(dev);
905 sis190_set_rx_mode(dev);
913 netif_start_queue(dev);
920 struct net_device *dev = tp->dev;
927 if (!netif_running(dev))
939 netif_carrier_off(dev);
940 netif_warn(tp, link, dev, "auto-negotiating...\n");
966 netif_info(tp, link, dev, "mii ext = %04x\n", val);
971 netif_info(tp, link, dev, "mii lpa=%04x adv=%04x exp=%04x\n",
1013 netif_info(tp, link, dev, "link on %s mode\n", p->msg);
1014 netif_carrier_on(dev);
1027 struct net_device *dev = tp->dev;
1029 if (likely(netif_running(dev)))
1033 static inline void sis190_delete_timer(struct net_device *dev)
1035 struct sis190_private *tp = netdev_priv(dev);
1040 static inline void sis190_request_timer(struct net_device *dev)
1042 struct sis190_private *tp = netdev_priv(dev);
1051 struct net_device *dev)
1053 unsigned int mtu = dev->mtu;
1063 static int sis190_open(struct net_device *dev)
1065 struct sis190_private *tp = netdev_priv(dev);
1069 sis190_set_rxbufsize(tp, dev);
1075 tp->TxDescRing = dma_alloc_coherent(&pdev->dev, TX_RING_BYTES,
1080 tp->RxDescRing = dma_alloc_coherent(&pdev->dev, RX_RING_BYTES,
1085 rc = sis190_init_ring(dev);
1089 sis190_request_timer(dev);
1091 rc = request_irq(pdev->irq, sis190_irq, IRQF_SHARED, dev->name, dev);
1095 sis190_hw_start(dev);
1100 sis190_delete_timer(dev);
1103 dma_free_coherent(&pdev->dev, RX_RING_BYTES, tp->RxDescRing,
1106 dma_free_coherent(&pdev->dev, TX_RING_BYTES, tp->TxDescRing,
1125 tp->dev->stats.tx_dropped++;
1130 static void sis190_down(struct net_device *dev)
1132 struct sis190_private *tp = netdev_priv(dev);
1136 sis190_delete_timer(dev);
1138 netif_stop_queue(dev);
1160 static int sis190_close(struct net_device *dev)
1162 struct sis190_private *tp = netdev_priv(dev);
1165 sis190_down(dev);
1167 free_irq(pdev->irq, dev);
1169 dma_free_coherent(&pdev->dev, TX_RING_BYTES, tp->TxDescRing,
1171 dma_free_coherent(&pdev->dev, RX_RING_BYTES, tp->RxDescRing,
1181 struct net_device *dev)
1183 struct sis190_private *tp = netdev_priv(dev);
1191 dev->stats.tx_dropped++;
1203 netif_stop_queue(dev);
1204 netif_err(tp, tx_err, dev,
1209 mapping = dma_map_single(&tp->pci_dev->dev, skb->data, len,
1211 if (dma_mapping_error(&tp->pci_dev->dev, mapping)) {
1212 netif_err(tp, tx_err, dev,
1244 netif_stop_queue(dev);
1247 netif_wake_queue(dev);
1264 * @dev: the net device to probe for
1270 static u16 sis190_default_phy(struct net_device *dev)
1273 struct sis190_private *tp = netdev_priv(dev);
1325 static void sis190_init_phy(struct net_device *dev, struct sis190_private *tp,
1384 * @dev: the net device to probe for
1390 static int sis190_mii_probe(struct net_device *dev)
1392 struct sis190_private *tp = netdev_priv(dev);
1417 sis190_init_phy(dev, tp, phy, phy_id, status);
1431 sis190_default_phy(dev);
1435 mii_if->dev = dev;
1444 static void sis190_mii_remove(struct net_device *dev)
1446 struct sis190_private *tp = netdev_priv(dev);
1453 struct net_device *dev = pci_get_drvdata(pdev);
1454 struct sis190_private *tp = netdev_priv(dev);
1459 free_netdev(dev);
1465 struct net_device *dev;
1469 dev = alloc_etherdev(sizeof(*tp));
1470 if (!dev) {
1475 SET_NETDEV_DEV(dev, &pdev->dev);
1477 tp = netdev_priv(dev);
1478 tp->dev = dev;
1511 rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
1538 return dev;
1545 free_netdev(dev);
1547 dev = ERR_PTR(rc);
1551 static void sis190_tx_timeout(struct net_device *dev, unsigned int txqueue)
1553 struct sis190_private *tp = netdev_priv(dev);
1562 netif_info(tp, tx_err, dev, "Transmit timeout, status %08x %08x\n",
1574 sis190_hw_start(dev);
1576 netif_wake_queue(dev);
1585 struct net_device *dev)
1587 struct sis190_private *tp = netdev_priv(dev);
1612 eth_hw_addr_set(dev, (u8 *)addr);
1622 * @dev: network device to get address for
1629 struct net_device *dev)
1632 struct sis190_private *tp = netdev_priv(dev);
1665 eth_hw_addr_set(dev, addr);
1681 * @dev: network device to initialize
1686 static inline void sis190_init_rxfilter(struct net_device *dev)
1688 struct sis190_private *tp = netdev_priv(dev);
1702 SIS_W8(RxMacAddr + i, dev->dev_addr[i]);
1708 static int sis190_get_mac_addr(struct pci_dev *pdev, struct net_device *dev)
1712 rc = sis190_get_mac_addr_from_eeprom(pdev, dev);
1719 rc = sis190_get_mac_addr_from_apc(pdev, dev);
1724 static void sis190_set_speed_auto(struct net_device *dev)
1726 struct sis190_private *tp = netdev_priv(dev);
1731 netif_info(tp, link, dev, "Enabling Auto-negotiation\n");
1749 static int sis190_get_link_ksettings(struct net_device *dev,
1752 struct sis190_private *tp = netdev_priv(dev);
1759 static int sis190_set_link_ksettings(struct net_device *dev,
1762 struct sis190_private *tp = netdev_priv(dev);
1767 static void sis190_get_drvinfo(struct net_device *dev,
1770 struct sis190_private *tp = netdev_priv(dev);
1778 static int sis190_get_regs_len(struct net_device *dev)
1783 static void sis190_get_regs(struct net_device *dev, struct ethtool_regs *regs,
1786 struct sis190_private *tp = netdev_priv(dev);
1794 static int sis190_nway_reset(struct net_device *dev)
1796 struct sis190_private *tp = netdev_priv(dev);
1801 static u32 sis190_get_msglevel(struct net_device *dev)
1803 struct sis190_private *tp = netdev_priv(dev);
1808 static void sis190_set_msglevel(struct net_device *dev, u32 value)
1810 struct sis190_private *tp = netdev_priv(dev);
1827 static int sis190_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
1829 struct sis190_private *tp = netdev_priv(dev);
1831 return !netif_running(dev) ? -EINVAL :
1835 static int sis190_mac_addr(struct net_device *dev, void *p)
1839 rc = eth_mac_addr(dev, p);
1841 sis190_init_rxfilter(dev);
1864 struct net_device *dev;
1874 dev = sis190_init_board(pdev);
1875 if (IS_ERR(dev)) {
1876 rc = PTR_ERR(dev);
1880 pci_set_drvdata(pdev, dev);
1882 tp = netdev_priv(dev);
1885 rc = sis190_get_mac_addr(pdev, dev);
1889 sis190_init_rxfilter(dev);
1893 dev->netdev_ops = &sis190_netdev_ops;
1895 dev->ethtool_ops = &sis190_ethtool_ops;
1896 dev->watchdog_timeo = SIS190_TX_TIMEOUT;
1900 rc = sis190_mii_probe(dev);
1904 rc = register_netdev(dev);
1909 netdev_info(dev, "%s: %s at %p (IRQ: %d), %pM\n",
1912 ioaddr, pdev->irq, dev->dev_addr);
1913 netdev_info(dev, "%s mode.\n",
1917 netif_carrier_off(dev);
1919 sis190_set_speed_auto(dev);
1924 sis190_mii_remove(dev);
1932 struct net_device *dev = pci_get_drvdata(pdev);
1933 struct sis190_private *tp = netdev_priv(dev);
1935 sis190_mii_remove(dev);
1937 unregister_netdev(dev);