Lines Matching refs:netdev

157 	struct net_device *netdev;  member
257 static void ks8842_update_link_status(struct net_device *netdev, in ks8842_update_link_status() argument
262 netif_carrier_on(netdev); in ks8842_update_link_status()
263 netif_wake_queue(netdev); in ks8842_update_link_status()
265 netif_stop_queue(netdev); in ks8842_update_link_status()
266 netif_carrier_off(netdev); in ks8842_update_link_status()
359 eth_hw_addr_set(adapter->netdev, addr); in ks8842_init_mac_addr()
421 static int ks8842_tx_frame_dma(struct sk_buff *skb, struct net_device *netdev) in ks8842_tx_frame_dma() argument
423 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_tx_frame_dma()
428 netdev_dbg(netdev, "%s: TX ongoing\n", __func__); in ks8842_tx_frame_dma()
456 ctl->adesc->callback_param = netdev; in ks8842_tx_frame_dma()
460 netdev->stats.tx_bytes += skb->len; in ks8842_tx_frame_dma()
467 static int ks8842_tx_frame(struct sk_buff *skb, struct net_device *netdev) in ks8842_tx_frame() argument
469 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_tx_frame()
472 netdev_dbg(netdev, "%s: len %u head %p data %p tail %p end %p\n", in ks8842_tx_frame()
484 netdev->stats.tx_bytes += len; in ks8842_tx_frame()
500 netdev->stats.tx_bytes += len; in ks8842_tx_frame()
518 static void ks8842_update_rx_err_counters(struct net_device *netdev, u32 status) in ks8842_update_rx_err_counters() argument
520 netdev_dbg(netdev, "RX error, status: %x\n", status); in ks8842_update_rx_err_counters()
522 netdev->stats.rx_errors++; in ks8842_update_rx_err_counters()
524 netdev->stats.rx_length_errors++; in ks8842_update_rx_err_counters()
526 netdev->stats.rx_crc_errors++; in ks8842_update_rx_err_counters()
528 netdev->stats.rx_frame_errors++; in ks8842_update_rx_err_counters()
531 static void ks8842_update_rx_counters(struct net_device *netdev, u32 status, in ks8842_update_rx_counters() argument
534 netdev_dbg(netdev, "RX packet, len: %d\n", len); in ks8842_update_rx_counters()
536 netdev->stats.rx_packets++; in ks8842_update_rx_counters()
537 netdev->stats.rx_bytes += len; in ks8842_update_rx_counters()
539 netdev->stats.multicast++; in ks8842_update_rx_counters()
542 static int __ks8842_start_new_rx_dma(struct net_device *netdev) in __ks8842_start_new_rx_dma() argument
544 struct ks8842_adapter *adapter = netdev_priv(netdev); in __ks8842_start_new_rx_dma()
549 ctl->skb = netdev_alloc_skb(netdev, DMA_BUFFER_SIZE); in __ks8842_start_new_rx_dma()
570 ctl->adesc->callback_param = netdev; in __ks8842_start_new_rx_dma()
595 struct net_device *netdev = adapter->netdev; in ks8842_rx_frame_dma_tasklet() local
604 __ks8842_start_new_rx_dma(netdev); in ks8842_rx_frame_dma_tasklet()
611 netdev_dbg(netdev, "%s - rx_data: status: %x\n", in ks8842_rx_frame_dma_tasklet()
618 ks8842_update_rx_counters(netdev, status, len); in ks8842_rx_frame_dma_tasklet()
624 skb->protocol = eth_type_trans(skb, netdev); in ks8842_rx_frame_dma_tasklet()
627 ks8842_update_rx_err_counters(netdev, status); in ks8842_rx_frame_dma_tasklet()
632 static void ks8842_rx_frame(struct net_device *netdev, in ks8842_rx_frame() argument
641 netdev_dbg(netdev, "%s - rx_data: status: %x\n", in ks8842_rx_frame()
647 netdev_dbg(netdev, "%s - rx_data: status: %x\n", in ks8842_rx_frame()
653 struct sk_buff *skb = netdev_alloc_skb_ip_align(netdev, len + 3); in ks8842_rx_frame()
657 ks8842_update_rx_counters(netdev, status, len); in ks8842_rx_frame()
679 skb->protocol = eth_type_trans(skb, netdev); in ks8842_rx_frame()
682 netdev->stats.rx_dropped++; in ks8842_rx_frame()
684 ks8842_update_rx_err_counters(netdev, status); in ks8842_rx_frame()
696 static void ks8842_handle_rx(struct net_device *netdev, in ks8842_handle_rx() argument
700 netdev_dbg(netdev, "%s Entry - rx_data: %d\n", __func__, rx_data); in ks8842_handle_rx()
702 ks8842_rx_frame(netdev, adapter); in ks8842_handle_rx()
707 static void ks8842_handle_tx(struct net_device *netdev, in ks8842_handle_tx() argument
711 netdev_dbg(netdev, "%s - entry, sr: %x\n", __func__, sr); in ks8842_handle_tx()
712 netdev->stats.tx_packets++; in ks8842_handle_tx()
713 if (netif_queue_stopped(netdev)) in ks8842_handle_tx()
714 netif_wake_queue(netdev); in ks8842_handle_tx()
717 static void ks8842_handle_rx_overrun(struct net_device *netdev, in ks8842_handle_rx_overrun() argument
720 netdev_dbg(netdev, "%s: entry\n", __func__); in ks8842_handle_rx_overrun()
721 netdev->stats.rx_errors++; in ks8842_handle_rx_overrun()
722 netdev->stats.rx_fifo_errors++; in ks8842_handle_rx_overrun()
728 struct net_device *netdev = adapter->netdev; in ks8842_tasklet() local
739 netdev_dbg(netdev, "%s - ISR: 0x%x\n", __func__, isr); in ks8842_tasklet()
754 if (!netif_running(netdev)) in ks8842_tasklet()
758 ks8842_update_link_status(netdev, adapter); in ks8842_tasklet()
762 ks8842_handle_rx(netdev, adapter); in ks8842_tasklet()
766 ks8842_handle_tx(netdev, adapter); in ks8842_tasklet()
769 ks8842_handle_rx_overrun(netdev, adapter); in ks8842_tasklet()
799 struct net_device *netdev = devid; in ks8842_irq() local
800 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_irq()
806 netdev_dbg(netdev, "%s - ISR: 0x%x\n", __func__, isr); in ks8842_irq()
834 struct net_device *netdev = data; in ks8842_dma_rx_cb() local
835 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_dma_rx_cb()
837 netdev_dbg(netdev, "RX DMA finished\n"); in ks8842_dma_rx_cb()
845 struct net_device *netdev = data; in ks8842_dma_tx_cb() local
846 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_dma_tx_cb()
849 netdev_dbg(netdev, "TX DMA finished\n"); in ks8842_dma_tx_cb()
854 netdev->stats.tx_packets++; in ks8842_dma_tx_cb()
857 if (netif_queue_stopped(netdev)) in ks8842_dma_tx_cb()
858 netif_wake_queue(netdev); in ks8842_dma_tx_cb()
914 static int ks8842_alloc_dma_bufs(struct net_device *netdev) in ks8842_alloc_dma_bufs() argument
916 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_alloc_dma_bufs()
968 static int ks8842_open(struct net_device *netdev) in ks8842_open() argument
970 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_open()
973 netdev_dbg(netdev, "%s - entry\n", __func__); in ks8842_open()
976 err = ks8842_alloc_dma_bufs(netdev); in ks8842_open()
980 err = __ks8842_start_new_rx_dma(netdev); in ks8842_open()
997 ks8842_write_mac_addr(adapter, netdev->dev_addr); in ks8842_open()
999 ks8842_update_link_status(netdev, adapter); in ks8842_open()
1002 netdev); in ks8842_open()
1011 static int ks8842_close(struct net_device *netdev) in ks8842_close() argument
1013 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_close()
1015 netdev_dbg(netdev, "%s - entry\n", __func__); in ks8842_close()
1023 free_irq(adapter->irq, netdev); in ks8842_close()
1032 struct net_device *netdev) in ks8842_xmit_frame() argument
1035 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_xmit_frame()
1037 netdev_dbg(netdev, "%s: entry\n", __func__); in ks8842_xmit_frame()
1041 ret = ks8842_tx_frame_dma(skb, netdev); in ks8842_xmit_frame()
1045 netif_stop_queue(netdev); in ks8842_xmit_frame()
1050 ret = ks8842_tx_frame(skb, netdev); in ks8842_xmit_frame()
1052 if (ks8842_tx_fifo_space(adapter) < netdev->mtu + 8) in ks8842_xmit_frame()
1053 netif_stop_queue(netdev); in ks8842_xmit_frame()
1058 static int ks8842_set_mac(struct net_device *netdev, void *p) in ks8842_set_mac() argument
1060 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_set_mac()
1064 netdev_dbg(netdev, "%s: entry\n", __func__); in ks8842_set_mac()
1069 eth_hw_addr_set(netdev, mac); in ks8842_set_mac()
1079 struct net_device *netdev = adapter->netdev; in ks8842_tx_timeout_work() local
1082 netdev_dbg(netdev, "%s: entry\n", __func__); in ks8842_tx_timeout_work()
1093 netif_stop_queue(netdev); in ks8842_tx_timeout_work()
1099 ks8842_write_mac_addr(adapter, netdev->dev_addr); in ks8842_tx_timeout_work()
1101 ks8842_update_link_status(netdev, adapter); in ks8842_tx_timeout_work()
1104 __ks8842_start_new_rx_dma(netdev); in ks8842_tx_timeout_work()
1107 static void ks8842_tx_timeout(struct net_device *netdev, unsigned int txqueue) in ks8842_tx_timeout() argument
1109 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_tx_timeout()
1111 netdev_dbg(netdev, "%s: entry\n", __func__); in ks8842_tx_timeout()
1133 struct net_device *netdev; in ks8842_probe() local
1147 netdev = alloc_etherdev(sizeof(struct ks8842_adapter)); in ks8842_probe()
1148 if (!netdev) in ks8842_probe()
1151 SET_NETDEV_DEV(netdev, &pdev->dev); in ks8842_probe()
1153 adapter = netdev_priv(netdev); in ks8842_probe()
1154 adapter->netdev = netdev; in ks8842_probe()
1184 netdev->netdev_ops = &ks8842_netdev_ops; in ks8842_probe()
1185 netdev->ethtool_ops = &ks8842_ethtool_ops; in ks8842_probe()
1188 i = netdev->addr_len; in ks8842_probe()
1190 for (i = 0; i < netdev->addr_len; i++) in ks8842_probe()
1194 if (i < netdev->addr_len) in ks8842_probe()
1196 eth_hw_addr_set(netdev, pdata->macaddr); in ks8842_probe()
1199 if (i == netdev->addr_len) { in ks8842_probe()
1202 if (!is_valid_ether_addr(netdev->dev_addr)) in ks8842_probe()
1203 eth_hw_addr_random(netdev); in ks8842_probe()
1208 strcpy(netdev->name, "eth%d"); in ks8842_probe()
1209 err = register_netdev(netdev); in ks8842_probe()
1213 platform_set_drvdata(pdev, netdev); in ks8842_probe()
1224 free_netdev(netdev); in ks8842_probe()
1233 struct net_device *netdev = platform_get_drvdata(pdev); in ks8842_remove() local
1234 struct ks8842_adapter *adapter = netdev_priv(netdev); in ks8842_remove()
1237 unregister_netdev(netdev); in ks8842_remove()
1240 free_netdev(netdev); in ks8842_remove()