Lines Matching refs:ndev
93 static int rionet_rx_clean(struct net_device *ndev) in rionet_rx_clean() argument
97 struct rionet_private *rnet = netdev_priv(ndev); in rionet_rx_clean()
112 eth_type_trans(rnet->rx_skb[i], ndev); in rionet_rx_clean()
116 ndev->stats.rx_dropped++; in rionet_rx_clean()
121 ndev->stats.rx_errors++; in rionet_rx_clean()
123 ndev->stats.rx_packets++; in rionet_rx_clean()
124 ndev->stats.rx_bytes += RIO_MAX_MSG_SIZE; in rionet_rx_clean()
132 static void rionet_rx_fill(struct net_device *ndev, int end) in rionet_rx_fill() argument
135 struct rionet_private *rnet = netdev_priv(ndev); in rionet_rx_fill()
151 static int rionet_queue_tx_msg(struct sk_buff *skb, struct net_device *ndev, in rionet_queue_tx_msg() argument
154 struct rionet_private *rnet = netdev_priv(ndev); in rionet_queue_tx_msg()
159 ndev->stats.tx_packets++; in rionet_queue_tx_msg()
160 ndev->stats.tx_bytes += skb->len; in rionet_queue_tx_msg()
163 netif_stop_queue(ndev); in rionet_queue_tx_msg()
175 static int rionet_start_xmit(struct sk_buff *skb, struct net_device *ndev) in rionet_start_xmit() argument
178 struct rionet_private *rnet = netdev_priv(ndev); in rionet_start_xmit()
190 netif_stop_queue(ndev); in rionet_start_xmit()
193 ndev->name); in rionet_start_xmit()
201 rionet_queue_tx_msg(skb, ndev, in rionet_start_xmit()
206 rionet_queue_tx_msg(skb, ndev, rionet_active[destid]); in rionet_start_xmit()
217 struct net_device *ndev = dev_id; in rionet_dbell_event() local
218 struct rionet_private *rnet = netdev_priv(ndev); in rionet_dbell_event()
245 struct net_device *ndev = dev_id; in rionet_inb_msg_event() local
246 struct rionet_private *rnet = netdev_priv(ndev); in rionet_inb_msg_event()
253 if ((n = rionet_rx_clean(ndev)) != rnet->rx_slot) in rionet_inb_msg_event()
254 rionet_rx_fill(ndev, n); in rionet_inb_msg_event()
260 struct net_device *ndev = dev_id; in rionet_outb_msg_event() local
261 struct rionet_private *rnet = netdev_priv(ndev); in rionet_outb_msg_event()
280 netif_wake_queue(ndev); in rionet_outb_msg_event()
285 static int rionet_open(struct net_device *ndev) in rionet_open() argument
290 struct rionet_private *rnet = netdev_priv(ndev); in rionet_open()
296 (void *)ndev, in rionet_open()
303 (void *)ndev, in rionet_open()
310 (void *)ndev, in rionet_open()
320 rionet_rx_fill(ndev, 0); in rionet_open()
326 netif_carrier_on(ndev); in rionet_open()
327 netif_start_queue(ndev); in rionet_open()
352 static int rionet_close(struct net_device *ndev) in rionet_close() argument
354 struct rionet_private *rnet = netdev_priv(ndev); in rionet_close()
361 netif_stop_queue(ndev); in rionet_close()
362 netif_carrier_off(ndev); in rionet_close()
386 struct net_device *ndev = NULL; in rionet_remove() local
391 unregister_netdev(ndev); in rionet_remove()
392 kfree(ndev); in rionet_remove()
400 static void rionet_get_drvinfo(struct net_device *ndev, in rionet_get_drvinfo() argument
403 struct rionet_private *rnet = netdev_priv(ndev); in rionet_get_drvinfo()
411 static u32 rionet_get_msglevel(struct net_device *ndev) in rionet_get_msglevel() argument
413 struct rionet_private *rnet = netdev_priv(ndev); in rionet_get_msglevel()
418 static void rionet_set_msglevel(struct net_device *ndev, u32 value) in rionet_set_msglevel() argument
420 struct rionet_private *rnet = netdev_priv(ndev); in rionet_set_msglevel()
435 struct net_device *ndev = NULL; in rionet_setup_netdev() local
440 ndev = alloc_etherdev(sizeof(struct rionet_private)); in rionet_setup_netdev()
441 if (ndev == NULL) { in rionet_setup_netdev()
458 rnet = netdev_priv(ndev); in rionet_setup_netdev()
463 ndev->dev_addr[0] = 0x00; in rionet_setup_netdev()
464 ndev->dev_addr[1] = 0x01; in rionet_setup_netdev()
465 ndev->dev_addr[2] = 0x00; in rionet_setup_netdev()
466 ndev->dev_addr[3] = 0x01; in rionet_setup_netdev()
467 ndev->dev_addr[4] = device_id >> 8; in rionet_setup_netdev()
468 ndev->dev_addr[5] = device_id & 0xff; in rionet_setup_netdev()
471 ndev->open = &rionet_open; in rionet_setup_netdev()
472 ndev->hard_start_xmit = &rionet_start_xmit; in rionet_setup_netdev()
473 ndev->stop = &rionet_close; in rionet_setup_netdev()
474 ndev->mtu = RIO_MAX_MSG_SIZE - 14; in rionet_setup_netdev()
475 ndev->features = NETIF_F_LLTX; in rionet_setup_netdev()
476 SET_ETHTOOL_OPS(ndev, &rionet_ethtool_ops); in rionet_setup_netdev()
483 rc = register_netdev(ndev); in rionet_setup_netdev()
488 ndev->name, in rionet_setup_netdev()
492 ndev->dev_addr); in rionet_setup_netdev()