Lines Matching full:netdev
134 struct net_device *netdev[F81604_MAX_DEV]; member
139 struct net_device *netdev; member
254 int port = priv->netdev->dev_port; in f81604_sja1000_write()
264 int port = priv->netdev->dev_port; in f81604_sja1000_read()
370 static void f81604_process_rx_packet(struct net_device *netdev, in f81604_process_rx_packet() argument
373 struct net_device_stats *stats = &netdev->stats; in f81604_process_rx_packet()
380 skb = alloc_can_skb(netdev, &cf); in f81604_process_rx_packet()
415 struct net_device *netdev = urb->context; in f81604_read_bulk_callback() local
416 struct f81604_port_priv *priv = netdev_priv(netdev); in f81604_read_bulk_callback()
419 if (!netif_device_present(netdev)) in f81604_read_bulk_callback()
423 netdev_info(netdev, "%s: URB aborted %pe\n", __func__, in f81604_read_bulk_callback()
441 netdev_warn(netdev, "URB length %u not equal to %zu\n", in f81604_read_bulk_callback()
446 f81604_process_rx_packet(netdev, frame); in f81604_read_bulk_callback()
456 netif_device_detach(netdev); in f81604_read_bulk_callback()
458 netdev_err(netdev, in f81604_read_bulk_callback()
466 struct net_device *netdev = priv->netdev; in f81604_handle_tx() local
467 struct net_device_stats *stats = &netdev->stats; in f81604_handle_tx()
473 can_free_echo_skb(netdev, 0, NULL); in f81604_handle_tx()
476 stats->tx_bytes += can_get_echo_skb(netdev, 0, NULL); in f81604_handle_tx()
480 netif_wake_queue(netdev); in f81604_handle_tx()
487 struct net_device *netdev = priv->netdev; in f81604_handle_can_bus_errors() local
488 struct net_device_stats *stats = &netdev->stats; in f81604_handle_can_bus_errors()
496 skb = alloc_can_err_skb(netdev, &cf); in f81604_handle_can_bus_errors()
505 netdev_dbg(netdev, "data overrun interrupt\n"); in f81604_handle_can_bus_errors()
520 netdev_dbg(netdev, "error warning interrupt\n"); in f81604_handle_can_bus_errors()
532 netdev_dbg(netdev, "bus error interrupt\n"); in f81604_handle_can_bus_errors()
577 netdev_dbg(netdev, "error passive interrupt: %d\n", can_state); in f81604_handle_can_bus_errors()
582 netdev_dbg(netdev, "arbitration lost interrupt\n"); in f81604_handle_can_bus_errors()
600 can_change_state(netdev, cf, tx_state, rx_state); in f81604_handle_can_bus_errors()
603 can_bus_off(netdev); in f81604_handle_can_bus_errors()
616 struct net_device *netdev = urb->context; in f81604_read_int_callback() local
620 priv = netdev_priv(netdev); in f81604_read_int_callback()
622 if (!netif_device_present(netdev)) in f81604_read_int_callback()
626 netdev_info(netdev, "%s: Int URB aborted: %pe\n", __func__, in f81604_read_int_callback()
630 netdev_warn(netdev, "%s: short int URB: %u < %zu\n", in f81604_read_int_callback()
668 netif_device_detach(netdev); in f81604_read_int_callback()
670 netdev_err(netdev, "%s: failed to resubmit int urb: %pe\n", in f81604_read_int_callback()
681 struct net_device *netdev = priv->netdev; in f81604_register_urbs() local
683 int id = netdev->dev_port; in f81604_register_urbs()
708 f81604_read_bulk_callback, netdev); in f81604_register_urbs()
725 netdev_warn(netdev, "%s: submit rx urb failed: %pe\n", in f81604_register_urbs()
746 sizeof(*int_data), f81604_read_int_callback, netdev, in f81604_register_urbs()
757 netdev_warn(netdev, "%s: submit int urb failed: %pe\n", in f81604_register_urbs()
772 static int f81604_start(struct net_device *netdev) in f81604_start() argument
774 struct f81604_port_priv *priv = netdev_priv(netdev); in f81604_start()
869 static int f81604_set_mode(struct net_device *netdev, enum can_mode mode) in f81604_set_mode() argument
875 ret = f81604_start(netdev); in f81604_set_mode()
876 if (!ret && netif_queue_stopped(netdev)) in f81604_set_mode()
877 netif_wake_queue(netdev); in f81604_set_mode()
889 struct net_device *netdev = urb->context; in f81604_write_bulk_callback() local
891 if (!netif_device_present(netdev)) in f81604_write_bulk_callback()
907 netdev_err(netdev, "%s: Tx URB error: %pe\n", __func__, in f81604_write_bulk_callback()
910 can_free_echo_skb(netdev, 0, NULL); in f81604_write_bulk_callback()
911 netdev->stats.tx_dropped++; in f81604_write_bulk_callback()
912 netdev->stats.tx_errors++; in f81604_write_bulk_callback()
914 netif_wake_queue(netdev); in f81604_write_bulk_callback()
939 struct net_device *netdev) in f81604_start_xmit() argument
942 struct f81604_port_priv *priv = netdev_priv(netdev); in f81604_start_xmit()
943 struct net_device_stats *stats = &netdev->stats; in f81604_start_xmit()
948 if (can_dev_dropped_skb(netdev, skb)) in f81604_start_xmit()
951 netif_stop_queue(netdev); in f81604_start_xmit()
963 bulk_out_addr[netdev->dev_port]), in f81604_start_xmit()
965 priv->netdev); in f81604_start_xmit()
993 can_put_echo_skb(skb, netdev, 0, 0); in f81604_start_xmit()
997 netdev_err(netdev, "%s: failed to resubmit tx bulk urb: %pe\n", in f81604_start_xmit()
1000 can_free_echo_skb(netdev, 0, NULL); in f81604_start_xmit()
1005 netif_device_detach(netdev); in f81604_start_xmit()
1007 netif_wake_queue(netdev); in f81604_start_xmit()
1022 netif_wake_queue(netdev); in f81604_start_xmit()
1027 static int f81604_get_berr_counter(const struct net_device *netdev, in f81604_get_berr_counter() argument
1030 struct f81604_port_priv *priv = netdev_priv(netdev); in f81604_get_berr_counter()
1049 static int f81604_open(struct net_device *netdev) in f81604_open() argument
1053 ret = open_candev(netdev); in f81604_open()
1057 ret = f81604_start(netdev); in f81604_open()
1060 netif_device_detach(netdev); in f81604_open()
1062 close_candev(netdev); in f81604_open()
1066 netif_start_queue(netdev); in f81604_open()
1071 static int f81604_close(struct net_device *netdev) in f81604_close() argument
1073 struct f81604_port_priv *priv = netdev_priv(netdev); in f81604_close()
1077 netif_stop_queue(netdev); in f81604_close()
1079 close_candev(netdev); in f81604_close()
1110 for (i = 0; i < ARRAY_SIZE(priv->netdev); ++i) { in f81604_disconnect()
1111 if (!priv->netdev[i]) in f81604_disconnect()
1114 unregister_netdev(priv->netdev[i]); in f81604_disconnect()
1115 free_candev(priv->netdev[i]); in f81604_disconnect()
1134 static int f81604_set_termination(struct net_device *netdev, u16 term) in f81604_set_termination() argument
1136 struct f81604_port_priv *port_priv = netdev_priv(netdev); in f81604_set_termination()
1140 return __f81604_set_termination(port_priv->dev, netdev->dev_port, in f81604_set_termination()
1148 struct net_device *netdev; in f81604_probe() local
1158 for (i = 0; i < ARRAY_SIZE(priv->netdev); ++i) { in f81604_probe()
1168 for (i = 0; i < ARRAY_SIZE(priv->netdev); ++i) { in f81604_probe()
1171 netdev = alloc_candev(sizeof(*port_priv), 1); in f81604_probe()
1172 if (!netdev) { in f81604_probe()
1179 port_priv = netdev_priv(netdev); in f81604_probe()
1186 port_priv->netdev = netdev; in f81604_probe()
1202 netdev->ethtool_ops = &f81604_ethtool_ops; in f81604_probe()
1203 netdev->netdev_ops = &f81604_netdev_ops; in f81604_probe()
1204 netdev->flags |= IFF_ECHO; in f81604_probe()
1205 netdev->dev_port = i; in f81604_probe()
1207 SET_NETDEV_DEV(netdev, &intf->dev); in f81604_probe()
1209 ret = register_candev(netdev); in f81604_probe()
1211 netdev_err(netdev, "register CAN device failed: %pe\n", in f81604_probe()
1213 free_candev(netdev); in f81604_probe()
1218 priv->netdev[i] = netdev; in f81604_probe()