Lines Matching refs:ndev
72 struct net_device *ndev; member
91 static int rionet_rx_clean(struct net_device *ndev) in rionet_rx_clean() argument
95 struct rionet_private *rnet = netdev_priv(ndev); in rionet_rx_clean()
110 eth_type_trans(rnet->rx_skb[i], ndev); in rionet_rx_clean()
114 ndev->stats.rx_dropped++; in rionet_rx_clean()
116 ndev->stats.rx_packets++; in rionet_rx_clean()
117 ndev->stats.rx_bytes += RIO_MAX_MSG_SIZE; in rionet_rx_clean()
125 static void rionet_rx_fill(struct net_device *ndev, int end) in rionet_rx_fill() argument
128 struct rionet_private *rnet = netdev_priv(ndev); in rionet_rx_fill()
144 static int rionet_queue_tx_msg(struct sk_buff *skb, struct net_device *ndev, in rionet_queue_tx_msg() argument
147 struct rionet_private *rnet = netdev_priv(ndev); in rionet_queue_tx_msg()
152 ndev->stats.tx_packets++; in rionet_queue_tx_msg()
153 ndev->stats.tx_bytes += skb->len; in rionet_queue_tx_msg()
156 netif_stop_queue(ndev); in rionet_queue_tx_msg()
168 static int rionet_start_xmit(struct sk_buff *skb, struct net_device *ndev) in rionet_start_xmit() argument
171 struct rionet_private *rnet = netdev_priv(ndev); in rionet_start_xmit()
187 netif_stop_queue(ndev); in rionet_start_xmit()
190 ndev->name); in rionet_start_xmit()
200 rionet_queue_tx_msg(skb, ndev, in rionet_start_xmit()
209 rionet_queue_tx_msg(skb, ndev, in rionet_start_xmit()
219 ndev->stats.tx_packets++; in rionet_start_xmit()
220 ndev->stats.tx_bytes += skb->len; in rionet_start_xmit()
232 struct net_device *ndev = dev_id; in rionet_dbell_event() local
233 struct rionet_private *rnet = netdev_priv(ndev); in rionet_dbell_event()
265 struct net_device *ndev = dev_id; in rionet_inb_msg_event() local
266 struct rionet_private *rnet = netdev_priv(ndev); in rionet_inb_msg_event()
273 if ((n = rionet_rx_clean(ndev)) != rnet->rx_slot) in rionet_inb_msg_event()
274 rionet_rx_fill(ndev, n); in rionet_inb_msg_event()
280 struct net_device *ndev = dev_id; in rionet_outb_msg_event() local
281 struct rionet_private *rnet = netdev_priv(ndev); in rionet_outb_msg_event()
300 netif_wake_queue(ndev); in rionet_outb_msg_event()
305 static int rionet_open(struct net_device *ndev) in rionet_open() argument
309 struct rionet_private *rnet = netdev_priv(ndev); in rionet_open()
315 (void *)ndev, in rionet_open()
322 (void *)ndev, in rionet_open()
329 (void *)ndev, in rionet_open()
339 rionet_rx_fill(ndev, 0); in rionet_open()
345 netif_carrier_on(ndev); in rionet_open()
346 netif_start_queue(ndev); in rionet_open()
367 static int rionet_close(struct net_device *ndev) in rionet_close() argument
369 struct rionet_private *rnet = netdev_priv(ndev); in rionet_close()
374 printk(KERN_INFO "%s: close %s\n", DRV_NAME, ndev->name); in rionet_close()
376 netif_stop_queue(ndev); in rionet_close()
377 netif_carrier_off(ndev); in rionet_close()
421 static void rionet_get_drvinfo(struct net_device *ndev, in rionet_get_drvinfo() argument
424 struct rionet_private *rnet = netdev_priv(ndev); in rionet_get_drvinfo()
432 static u32 rionet_get_msglevel(struct net_device *ndev) in rionet_get_msglevel() argument
434 struct rionet_private *rnet = netdev_priv(ndev); in rionet_get_msglevel()
439 static void rionet_set_msglevel(struct net_device *ndev, u32 value) in rionet_set_msglevel() argument
441 struct rionet_private *rnet = netdev_priv(ndev); in rionet_set_msglevel()
462 static int rionet_setup_netdev(struct rio_mport *mport, struct net_device *ndev) in rionet_setup_netdev() argument
479 rnet = netdev_priv(ndev); in rionet_setup_netdev()
484 ndev->dev_addr[0] = 0x00; in rionet_setup_netdev()
485 ndev->dev_addr[1] = 0x01; in rionet_setup_netdev()
486 ndev->dev_addr[2] = 0x00; in rionet_setup_netdev()
487 ndev->dev_addr[3] = 0x01; in rionet_setup_netdev()
488 ndev->dev_addr[4] = device_id >> 8; in rionet_setup_netdev()
489 ndev->dev_addr[5] = device_id & 0xff; in rionet_setup_netdev()
491 ndev->netdev_ops = &rionet_netdev_ops; in rionet_setup_netdev()
492 ndev->mtu = RIO_MAX_MSG_SIZE - 14; in rionet_setup_netdev()
493 ndev->features = NETIF_F_LLTX; in rionet_setup_netdev()
494 SET_NETDEV_DEV(ndev, &mport->dev); in rionet_setup_netdev()
495 ndev->ethtool_ops = &rionet_ethtool_ops; in rionet_setup_netdev()
502 rc = register_netdev(ndev); in rionet_setup_netdev()
507 ndev->name, in rionet_setup_netdev()
511 ndev->dev_addr, in rionet_setup_netdev()
525 struct net_device *ndev = NULL; in rionet_add_dev() local
553 ndev = alloc_etherdev(sizeof(struct rionet_private)); in rionet_add_dev()
554 if (ndev == NULL) { in rionet_add_dev()
558 nets[netid].ndev = ndev; in rionet_add_dev()
559 rc = rionet_setup_netdev(rdev->net->hport, ndev); in rionet_add_dev()
568 } else if (nets[netid].ndev == NULL) in rionet_add_dev()
613 struct net_device *ndev; in rionet_exit() local
618 if (nets[i].ndev != NULL) { in rionet_exit()
619 ndev = nets[i].ndev; in rionet_exit()
620 rnet = netdev_priv(ndev); in rionet_exit()
621 unregister_netdev(ndev); in rionet_exit()
634 free_netdev(ndev); in rionet_exit()