Lines Matching refs:netdev

81 	struct net_device *netdev;  member
404 bcm4908_enet_set_mtu(enet, enet->netdev->mtu); in bcm4908_enet_gmac_init()
448 static int bcm4908_enet_open(struct net_device *netdev) in bcm4908_enet_open() argument
450 struct bcm4908_enet *enet = netdev_priv(netdev); in bcm4908_enet_open()
456 err = request_irq(netdev->irq, bcm4908_enet_irq_handler, 0, "enet", enet); in bcm4908_enet_open()
458 dev_err(dev, "Failed to request IRQ %d: %d\n", netdev->irq, err); in bcm4908_enet_open()
468 free_irq(netdev->irq, enet); in bcm4908_enet_open()
490 netif_carrier_on(netdev); in bcm4908_enet_open()
491 netif_start_queue(netdev); in bcm4908_enet_open()
498 static int bcm4908_enet_stop(struct net_device *netdev) in bcm4908_enet_stop() argument
500 struct bcm4908_enet *enet = netdev_priv(netdev); in bcm4908_enet_stop()
504 netif_stop_queue(netdev); in bcm4908_enet_stop()
505 netif_carrier_off(netdev); in bcm4908_enet_stop()
508 netdev_reset_queue(netdev); in bcm4908_enet_stop()
516 free_irq(enet->netdev->irq, enet); in bcm4908_enet_stop()
521 static netdev_tx_t bcm4908_enet_start_xmit(struct sk_buff *skb, struct net_device *netdev) in bcm4908_enet_start_xmit() argument
523 struct bcm4908_enet *enet = netdev_priv(netdev); in bcm4908_enet_start_xmit()
542 netif_stop_queue(netdev); in bcm4908_enet_start_xmit()
549 netif_stop_queue(netdev); in bcm4908_enet_start_xmit()
568 netdev_sent_queue(enet->netdev, skb->len); in bcm4908_enet_start_xmit()
616 enet->netdev->stats.rx_dropped++; in bcm4908_enet_poll_rx()
625 enet->netdev->stats.rx_dropped++; in bcm4908_enet_poll_rx()
630 skb->protocol = eth_type_trans(skb, enet->netdev); in bcm4908_enet_poll_rx()
634 enet->netdev->stats.rx_packets++; in bcm4908_enet_poll_rx()
635 enet->netdev->stats.rx_bytes += len; in bcm4908_enet_poll_rx()
677 netdev_completed_queue(enet->netdev, handled, bytes); in bcm4908_enet_poll_tx()
678 enet->netdev->stats.tx_packets += handled; in bcm4908_enet_poll_tx()
679 enet->netdev->stats.tx_bytes += bytes; in bcm4908_enet_poll_tx()
686 if (netif_queue_stopped(enet->netdev)) in bcm4908_enet_poll_tx()
687 netif_wake_queue(enet->netdev); in bcm4908_enet_poll_tx()
692 static int bcm4908_enet_change_mtu(struct net_device *netdev, int new_mtu) in bcm4908_enet_change_mtu() argument
694 struct bcm4908_enet *enet = netdev_priv(netdev); in bcm4908_enet_change_mtu()
712 struct net_device *netdev; in bcm4908_enet_probe() local
716 netdev = devm_alloc_etherdev(dev, sizeof(*enet)); in bcm4908_enet_probe()
717 if (!netdev) in bcm4908_enet_probe()
720 enet = netdev_priv(netdev); in bcm4908_enet_probe()
722 enet->netdev = netdev; in bcm4908_enet_probe()
730 netdev->irq = platform_get_irq_byname(pdev, "rx"); in bcm4908_enet_probe()
731 if (netdev->irq < 0) in bcm4908_enet_probe()
732 return netdev->irq; in bcm4908_enet_probe()
744 SET_NETDEV_DEV(netdev, &pdev->dev); in bcm4908_enet_probe()
745 err = of_get_ethdev_address(dev->of_node, netdev); in bcm4908_enet_probe()
749 eth_hw_addr_random(netdev); in bcm4908_enet_probe()
750 netdev->netdev_ops = &bcm4908_enet_netdev_ops; in bcm4908_enet_probe()
751 netdev->min_mtu = ETH_ZLEN; in bcm4908_enet_probe()
752 netdev->mtu = ETH_DATA_LEN; in bcm4908_enet_probe()
753 netdev->max_mtu = ENET_MTU_MAX; in bcm4908_enet_probe()
754 netif_napi_add_tx(netdev, &enet->tx_ring.napi, bcm4908_enet_poll_tx); in bcm4908_enet_probe()
755 netif_napi_add(netdev, &enet->rx_ring.napi, bcm4908_enet_poll_rx); in bcm4908_enet_probe()
757 err = register_netdev(netdev); in bcm4908_enet_probe()
775 unregister_netdev(enet->netdev); in bcm4908_enet_remove()