• Home
  • Raw
  • Download

Lines Matching refs:ndev

90 	struct net_device *ndev;  member
213 static void tx_failure_cleanup(struct net_device *ndev) in tx_failure_cleanup() argument
218 can_free_echo_skb(ndev, i); in tx_failure_cleanup()
221 static void rcar_can_error(struct net_device *ndev) in rcar_can_error() argument
223 struct rcar_can_priv *priv = netdev_priv(ndev); in rcar_can_error()
224 struct net_device_stats *stats = &ndev->stats; in rcar_can_error()
230 skb = alloc_can_err_skb(ndev, &cf); in rcar_can_error()
246 netdev_dbg(priv->ndev, "Bus error interrupt:\n"); in rcar_can_error()
252 netdev_dbg(priv->ndev, "ACK Delimiter Error\n"); in rcar_can_error()
259 netdev_dbg(priv->ndev, "Bit Error (dominant)\n"); in rcar_can_error()
266 netdev_dbg(priv->ndev, "Bit Error (recessive)\n"); in rcar_can_error()
273 netdev_dbg(priv->ndev, "CRC Error\n"); in rcar_can_error()
280 netdev_dbg(priv->ndev, "ACK Error\n"); in rcar_can_error()
289 netdev_dbg(priv->ndev, "Form Error\n"); in rcar_can_error()
296 netdev_dbg(priv->ndev, "Stuff Error\n"); in rcar_can_error()
304 ndev->stats.rx_errors += rx_errors; in rcar_can_error()
305 ndev->stats.tx_errors += tx_errors; in rcar_can_error()
309 netdev_dbg(priv->ndev, "Error warning interrupt\n"); in rcar_can_error()
319 netdev_dbg(priv->ndev, "Error passive interrupt\n"); in rcar_can_error()
329 netdev_dbg(priv->ndev, "Bus-off entry interrupt\n"); in rcar_can_error()
330 tx_failure_cleanup(ndev); in rcar_can_error()
337 can_bus_off(ndev); in rcar_can_error()
342 netdev_dbg(priv->ndev, "Receive overrun error interrupt\n"); in rcar_can_error()
343 ndev->stats.rx_over_errors++; in rcar_can_error()
344 ndev->stats.rx_errors++; in rcar_can_error()
352 netdev_dbg(priv->ndev, in rcar_can_error()
354 ndev->stats.rx_over_errors++; in rcar_can_error()
355 ndev->stats.rx_errors++; in rcar_can_error()
370 static void rcar_can_tx_done(struct net_device *ndev) in rcar_can_tx_done() argument
372 struct rcar_can_priv *priv = netdev_priv(ndev); in rcar_can_tx_done()
373 struct net_device_stats *stats = &ndev->stats; in rcar_can_tx_done()
387 can_get_echo_skb(ndev, priv->tx_tail % RCAR_CAN_FIFO_DEPTH); in rcar_can_tx_done()
389 netif_wake_queue(ndev); in rcar_can_tx_done()
394 can_led_event(ndev, CAN_LED_EVENT_TX); in rcar_can_tx_done()
399 struct net_device *ndev = dev_id; in rcar_can_interrupt() local
400 struct rcar_can_priv *priv = netdev_priv(ndev); in rcar_can_interrupt()
408 rcar_can_error(ndev); in rcar_can_interrupt()
411 rcar_can_tx_done(ndev); in rcar_can_interrupt()
441 static void rcar_can_start(struct net_device *ndev) in rcar_can_start() argument
443 struct rcar_can_priv *priv = netdev_priv(ndev); in rcar_can_start()
463 rcar_can_set_bittiming(ndev); in rcar_can_start()
506 static int rcar_can_open(struct net_device *ndev) in rcar_can_open() argument
508 struct rcar_can_priv *priv = netdev_priv(ndev); in rcar_can_open()
513 netdev_err(ndev, in rcar_can_open()
520 netdev_err(ndev, "failed to enable CAN clock, error %d\n", in rcar_can_open()
524 err = open_candev(ndev); in rcar_can_open()
526 netdev_err(ndev, "open_candev() failed, error %d\n", err); in rcar_can_open()
530 err = request_irq(ndev->irq, rcar_can_interrupt, 0, ndev->name, ndev); in rcar_can_open()
532 netdev_err(ndev, "request_irq(%d) failed, error %d\n", in rcar_can_open()
533 ndev->irq, err); in rcar_can_open()
536 can_led_event(ndev, CAN_LED_EVENT_OPEN); in rcar_can_open()
537 rcar_can_start(ndev); in rcar_can_open()
538 netif_start_queue(ndev); in rcar_can_open()
542 close_candev(ndev); in rcar_can_open()
551 static void rcar_can_stop(struct net_device *ndev) in rcar_can_stop() argument
553 struct rcar_can_priv *priv = netdev_priv(ndev); in rcar_can_stop()
575 static int rcar_can_close(struct net_device *ndev) in rcar_can_close() argument
577 struct rcar_can_priv *priv = netdev_priv(ndev); in rcar_can_close()
579 netif_stop_queue(ndev); in rcar_can_close()
580 rcar_can_stop(ndev); in rcar_can_close()
581 free_irq(ndev->irq, ndev); in rcar_can_close()
585 close_candev(ndev); in rcar_can_close()
586 can_led_event(ndev, CAN_LED_EVENT_STOP); in rcar_can_close()
591 struct net_device *ndev) in rcar_can_start_xmit() argument
593 struct rcar_can_priv *priv = netdev_priv(ndev); in rcar_can_start_xmit()
597 if (can_dropped_invalid_skb(ndev, skb)) in rcar_can_start_xmit()
618 can_put_echo_skb(skb, ndev, priv->tx_head % RCAR_CAN_FIFO_DEPTH); in rcar_can_start_xmit()
627 netif_stop_queue(ndev); in rcar_can_start_xmit()
641 struct net_device_stats *stats = &priv->ndev->stats; in rcar_can_rx_pkt()
647 skb = alloc_can_skb(priv->ndev, &cf); in rcar_can_rx_pkt()
669 can_led_event(priv->ndev, CAN_LED_EVENT_RX); in rcar_can_rx_pkt()
708 static int rcar_can_do_set_mode(struct net_device *ndev, enum can_mode mode) in rcar_can_do_set_mode() argument
712 rcar_can_start(ndev); in rcar_can_do_set_mode()
713 netif_wake_queue(ndev); in rcar_can_do_set_mode()
745 struct net_device *ndev; in rcar_can_probe() local
778 ndev = alloc_candev(sizeof(struct rcar_can_priv), RCAR_CAN_FIFO_DEPTH); in rcar_can_probe()
779 if (!ndev) { in rcar_can_probe()
785 priv = netdev_priv(ndev); in rcar_can_probe()
807 ndev->netdev_ops = &rcar_can_netdev_ops; in rcar_can_probe()
808 ndev->irq = irq; in rcar_can_probe()
809 ndev->flags |= IFF_ECHO; in rcar_can_probe()
810 priv->ndev = ndev; in rcar_can_probe()
818 platform_set_drvdata(pdev, ndev); in rcar_can_probe()
819 SET_NETDEV_DEV(ndev, &pdev->dev); in rcar_can_probe()
821 netif_napi_add(ndev, &priv->napi, rcar_can_rx_poll, in rcar_can_probe()
823 err = register_candev(ndev); in rcar_can_probe()
830 devm_can_led_init(ndev); in rcar_can_probe()
832 dev_info(&pdev->dev, "device registered (IRQ%d)\n", ndev->irq); in rcar_can_probe()
838 free_candev(ndev); in rcar_can_probe()
845 struct net_device *ndev = platform_get_drvdata(pdev); in rcar_can_remove() local
846 struct rcar_can_priv *priv = netdev_priv(ndev); in rcar_can_remove()
848 unregister_candev(ndev); in rcar_can_remove()
850 free_candev(ndev); in rcar_can_remove()
856 struct net_device *ndev = dev_get_drvdata(dev); in rcar_can_suspend() local
857 struct rcar_can_priv *priv = netdev_priv(ndev); in rcar_can_suspend()
860 if (netif_running(ndev)) { in rcar_can_suspend()
861 netif_stop_queue(ndev); in rcar_can_suspend()
862 netif_device_detach(ndev); in rcar_can_suspend()
877 struct net_device *ndev = dev_get_drvdata(dev); in rcar_can_resume() local
878 struct rcar_can_priv *priv = netdev_priv(ndev); in rcar_can_resume()
884 netdev_err(ndev, "clk_enable() failed, error %d\n", err); in rcar_can_resume()
895 if (netif_running(ndev)) { in rcar_can_resume()
896 netif_device_attach(ndev); in rcar_can_resume()
897 netif_start_queue(ndev); in rcar_can_resume()