Lines Matching defs:ndev

17 	struct net_device *ndev;
24 ndev = pdata->ndev;
39 if (device_get_ethdev_address(dev, ndev))
40 eth_hw_addr_random(ndev);
42 memcpy(ndev->perm_addr, ndev->dev_addr, ndev->addr_len);
64 static int xge_refill_buffers(struct net_device *ndev, u32 nbuf)
66 struct xge_pdata *pdata = netdev_priv(ndev);
82 skb = netdev_alloc_skb(ndev, len);
88 netdev_err(ndev, "DMA mapping error\n");
114 static int xge_init_hw(struct net_device *ndev)
116 struct xge_pdata *pdata = netdev_priv(ndev);
119 ret = xge_port_reset(ndev);
123 xge_port_init(ndev);
141 static int xge_request_irq(struct net_device *ndev)
143 struct xge_pdata *pdata = netdev_priv(ndev);
146 snprintf(pdata->irq_name, IRQ_ID_SIZE, "%s", ndev->name);
151 netdev_err(ndev, "Failed to request irq %s\n", pdata->irq_name);
156 static void xge_free_irq(struct net_device *ndev)
158 struct xge_pdata *pdata = netdev_priv(ndev);
172 static netdev_tx_t xge_start_xmit(struct sk_buff *skb, struct net_device *ndev)
174 struct xge_pdata *pdata = netdev_priv(ndev);
190 netif_stop_queue(ndev);
236 static void xge_txc_poll(struct net_device *ndev)
238 struct xge_pdata *pdata = netdev_priv(ndev);
279 if (netif_queue_stopped(ndev))
280 netif_wake_queue(ndev);
285 static int xge_rx_poll(struct net_device *ndev, unsigned int budget)
287 struct xge_pdata *pdata = netdev_priv(ndev);
329 skb->protocol = eth_type_trans(skb, ndev);
335 ret = xge_refill_buffers(ndev, 1);
351 static void xge_delete_desc_ring(struct net_device *ndev,
354 struct xge_pdata *pdata = netdev_priv(ndev);
369 static void xge_free_buffers(struct net_device *ndev)
371 struct xge_pdata *pdata = netdev_priv(ndev);
391 static void xge_delete_desc_rings(struct net_device *ndev)
393 struct xge_pdata *pdata = netdev_priv(ndev);
395 xge_txc_poll(ndev);
396 xge_delete_desc_ring(ndev, pdata->tx_ring);
398 xge_rx_poll(ndev, 64);
399 xge_free_buffers(ndev);
400 xge_delete_desc_ring(ndev, pdata->rx_ring);
403 static struct xge_desc_ring *xge_create_desc_ring(struct net_device *ndev)
405 struct xge_pdata *pdata = netdev_priv(ndev);
414 ring->ndev = ndev;
432 xge_delete_desc_ring(ndev, ring);
437 static int xge_create_desc_rings(struct net_device *ndev)
439 struct xge_pdata *pdata = netdev_priv(ndev);
444 ring = xge_create_desc_ring(ndev);
452 ring = xge_create_desc_ring(ndev);
459 ret = xge_refill_buffers(ndev, XGENE_ENET_NUM_DESC);
465 xge_delete_desc_rings(ndev);
470 static int xge_open(struct net_device *ndev)
472 struct xge_pdata *pdata = netdev_priv(ndev);
475 ret = xge_create_desc_rings(ndev);
480 ret = xge_request_irq(ndev);
487 phy_start(ndev->phydev);
489 netif_start_queue(ndev);
494 static int xge_close(struct net_device *ndev)
496 struct xge_pdata *pdata = netdev_priv(ndev);
498 netif_stop_queue(ndev);
500 phy_stop(ndev->phydev);
503 xge_free_irq(ndev);
505 xge_delete_desc_rings(ndev);
512 struct net_device *ndev = napi->dev;
516 pdata = netdev_priv(ndev);
518 xge_txc_poll(ndev);
519 processed = xge_rx_poll(ndev, budget);
529 static int xge_set_mac_addr(struct net_device *ndev, void *addr)
531 struct xge_pdata *pdata = netdev_priv(ndev);
534 ret = eth_mac_addr(ndev, addr);
551 static void xge_free_pending_skb(struct net_device *ndev)
553 struct xge_pdata *pdata = netdev_priv(ndev);
578 static void xge_timeout(struct net_device *ndev, unsigned int txqueue)
580 struct xge_pdata *pdata = netdev_priv(ndev);
584 if (!netif_running(ndev))
587 netif_stop_queue(ndev);
592 xge_txc_poll(ndev);
593 xge_free_pending_skb(ndev);
603 netif_start_queue(ndev);
609 static void xge_get_stats64(struct net_device *ndev,
612 struct xge_pdata *pdata = netdev_priv(ndev);
635 struct net_device *ndev;
639 ndev = alloc_etherdev(sizeof(*pdata));
640 if (!ndev)
643 pdata = netdev_priv(ndev);
646 pdata->ndev = ndev;
647 SET_NETDEV_DEV(ndev, dev);
649 ndev->netdev_ops = &xgene_ndev_ops;
651 ndev->features |= NETIF_F_GSO |
658 ndev->hw_features = ndev->features;
659 xge_set_ethtool_ops(ndev);
663 netdev_err(ndev, "No usable DMA configuration\n");
667 ret = xge_init_hw(ndev);
671 ret = xge_mdio_config(ndev);
675 netif_napi_add(ndev, &pdata->napi, xge_napi);
677 ret = register_netdev(ndev);
679 netdev_err(ndev, "Failed to register netdev\n");
686 xge_mdio_remove(ndev);
688 free_netdev(ndev);
696 struct net_device *ndev;
699 ndev = pdata->ndev;
702 if (netif_running(ndev))
703 dev_close(ndev);
706 xge_mdio_remove(ndev);
707 unregister_netdev(ndev);
708 free_netdev(ndev);
721 if (!pdata->ndev)