Lines Matching refs:netdev

157 	struct net_device *netdev;
257 static void ks8842_update_link_status(struct net_device *netdev,
262 netif_carrier_on(netdev);
263 netif_wake_queue(netdev);
265 netif_stop_queue(netdev);
266 netif_carrier_off(netdev);
419 static int ks8842_tx_frame_dma(struct sk_buff *skb, struct net_device *netdev)
421 struct ks8842_adapter *adapter = netdev_priv(netdev);
426 netdev_dbg(netdev, "%s: TX ongoing\n", __func__);
454 ctl->adesc->callback_param = netdev;
458 netdev->stats.tx_bytes += skb->len;
465 static int ks8842_tx_frame(struct sk_buff *skb, struct net_device *netdev)
467 struct ks8842_adapter *adapter = netdev_priv(netdev);
470 netdev_dbg(netdev, "%s: len %u head %p data %p tail %p end %p\n",
482 netdev->stats.tx_bytes += len;
498 netdev->stats.tx_bytes += len;
516 static void ks8842_update_rx_err_counters(struct net_device *netdev, u32 status)
518 netdev_dbg(netdev, "RX error, status: %x\n", status);
520 netdev->stats.rx_errors++;
522 netdev->stats.rx_length_errors++;
524 netdev->stats.rx_crc_errors++;
526 netdev->stats.rx_frame_errors++;
529 static void ks8842_update_rx_counters(struct net_device *netdev, u32 status,
532 netdev_dbg(netdev, "RX packet, len: %d\n", len);
534 netdev->stats.rx_packets++;
535 netdev->stats.rx_bytes += len;
537 netdev->stats.multicast++;
540 static int __ks8842_start_new_rx_dma(struct net_device *netdev)
542 struct ks8842_adapter *adapter = netdev_priv(netdev);
547 ctl->skb = netdev_alloc_skb(netdev, DMA_BUFFER_SIZE);
568 ctl->adesc->callback_param = netdev;
593 struct net_device *netdev = adapter->netdev;
602 __ks8842_start_new_rx_dma(netdev);
609 netdev_dbg(netdev, "%s - rx_data: status: %x\n",
616 ks8842_update_rx_counters(netdev, status, len);
622 skb->protocol = eth_type_trans(skb, netdev);
625 ks8842_update_rx_err_counters(netdev, status);
630 static void ks8842_rx_frame(struct net_device *netdev,
639 netdev_dbg(netdev, "%s - rx_data: status: %x\n",
645 netdev_dbg(netdev, "%s - rx_data: status: %x\n",
651 struct sk_buff *skb = netdev_alloc_skb_ip_align(netdev, len + 3);
655 ks8842_update_rx_counters(netdev, status, len);
677 skb->protocol = eth_type_trans(skb, netdev);
680 netdev->stats.rx_dropped++;
682 ks8842_update_rx_err_counters(netdev, status);
694 static void ks8842_handle_rx(struct net_device *netdev,
698 netdev_dbg(netdev, "%s Entry - rx_data: %d\n", __func__, rx_data);
700 ks8842_rx_frame(netdev, adapter);
705 static void ks8842_handle_tx(struct net_device *netdev,
709 netdev_dbg(netdev, "%s - entry, sr: %x\n", __func__, sr);
710 netdev->stats.tx_packets++;
711 if (netif_queue_stopped(netdev))
712 netif_wake_queue(netdev);
715 static void ks8842_handle_rx_overrun(struct net_device *netdev,
718 netdev_dbg(netdev, "%s: entry\n", __func__);
719 netdev->stats.rx_errors++;
720 netdev->stats.rx_fifo_errors++;
726 struct net_device *netdev = adapter->netdev;
737 netdev_dbg(netdev, "%s - ISR: 0x%x\n", __func__, isr);
752 if (!netif_running(netdev))
756 ks8842_update_link_status(netdev, adapter);
760 ks8842_handle_rx(netdev, adapter);
764 ks8842_handle_tx(netdev, adapter);
767 ks8842_handle_rx_overrun(netdev, adapter);
797 struct net_device *netdev = devid;
798 struct ks8842_adapter *adapter = netdev_priv(netdev);
804 netdev_dbg(netdev, "%s - ISR: 0x%x\n", __func__, isr);
832 struct net_device *netdev = data;
833 struct ks8842_adapter *adapter = netdev_priv(netdev);
835 netdev_dbg(netdev, "RX DMA finished\n");
843 struct net_device *netdev = data;
844 struct ks8842_adapter *adapter = netdev_priv(netdev);
847 netdev_dbg(netdev, "TX DMA finished\n");
852 netdev->stats.tx_packets++;
855 if (netif_queue_stopped(netdev))
856 netif_wake_queue(netdev);
912 static int ks8842_alloc_dma_bufs(struct net_device *netdev)
914 struct ks8842_adapter *adapter = netdev_priv(netdev);
966 static int ks8842_open(struct net_device *netdev)
968 struct ks8842_adapter *adapter = netdev_priv(netdev);
971 netdev_dbg(netdev, "%s - entry\n", __func__);
974 err = ks8842_alloc_dma_bufs(netdev);
978 err = __ks8842_start_new_rx_dma(netdev);
995 ks8842_write_mac_addr(adapter, netdev->dev_addr);
997 ks8842_update_link_status(netdev, adapter);
1000 netdev);
1009 static int ks8842_close(struct net_device *netdev)
1011 struct ks8842_adapter *adapter = netdev_priv(netdev);
1013 netdev_dbg(netdev, "%s - entry\n", __func__);
1021 free_irq(adapter->irq, netdev);
1030 struct net_device *netdev)
1033 struct ks8842_adapter *adapter = netdev_priv(netdev);
1035 netdev_dbg(netdev, "%s: entry\n", __func__);
1039 ret = ks8842_tx_frame_dma(skb, netdev);
1043 netif_stop_queue(netdev);
1048 ret = ks8842_tx_frame(skb, netdev);
1050 if (ks8842_tx_fifo_space(adapter) < netdev->mtu + 8)
1051 netif_stop_queue(netdev);
1056 static int ks8842_set_mac(struct net_device *netdev, void *p)
1058 struct ks8842_adapter *adapter = netdev_priv(netdev);
1062 netdev_dbg(netdev, "%s: entry\n", __func__);
1067 memcpy(netdev->dev_addr, mac, netdev->addr_len);
1077 struct net_device *netdev = adapter->netdev;
1080 netdev_dbg(netdev, "%s: entry\n", __func__);
1091 netif_stop_queue(netdev);
1097 ks8842_write_mac_addr(adapter, netdev->dev_addr);
1099 ks8842_update_link_status(netdev, adapter);
1102 __ks8842_start_new_rx_dma(netdev);
1105 static void ks8842_tx_timeout(struct net_device *netdev, unsigned int txqueue)
1107 struct ks8842_adapter *adapter = netdev_priv(netdev);
1109 netdev_dbg(netdev, "%s: entry\n", __func__);
1131 struct net_device *netdev;
1145 netdev = alloc_etherdev(sizeof(struct ks8842_adapter));
1146 if (!netdev)
1149 SET_NETDEV_DEV(netdev, &pdev->dev);
1151 adapter = netdev_priv(netdev);
1152 adapter->netdev = netdev;
1182 netdev->netdev_ops = &ks8842_netdev_ops;
1183 netdev->ethtool_ops = &ks8842_ethtool_ops;
1186 i = netdev->addr_len;
1188 for (i = 0; i < netdev->addr_len; i++)
1192 if (i < netdev->addr_len)
1194 memcpy(netdev->dev_addr, pdata->macaddr,
1195 netdev->addr_len);
1198 if (i == netdev->addr_len) {
1199 ks8842_read_mac_addr(adapter, netdev->dev_addr);
1201 if (!is_valid_ether_addr(netdev->dev_addr))
1202 eth_hw_addr_random(netdev);
1207 strcpy(netdev->name, "eth%d");
1208 err = register_netdev(netdev);
1212 platform_set_drvdata(pdev, netdev);
1223 free_netdev(netdev);
1232 struct net_device *netdev = platform_get_drvdata(pdev);
1233 struct ks8842_adapter *adapter = netdev_priv(netdev);
1236 unregister_netdev(netdev);
1239 free_netdev(netdev);