Lines Matching refs:netdev

158 			netdev_warn(enic->netdev, "irq_set_affinity_hint failed, err %d\n",  in enic_set_affinity_hint()
167 netif_set_xps_queue(enic->netdev, in enic_set_affinity_hint()
237 if (netif_tx_queue_stopped(netdev_get_tx_queue(enic->netdev, q_number)) && in enic_wq_service()
240 netif_wake_subqueue(enic->netdev, q_number); in enic_wq_service()
257 netdev_err(enic->netdev, "WQ[%d] error_status %d\n", in enic_log_q_error()
265 netdev_err(enic->netdev, "RQ[%d] error_status %d\n", in enic_log_q_error()
277 netdev_info(enic->netdev, "msg lvl changed from 0x%x to 0x%x\n", in enic_msglvl_check()
286 struct net_device *netdev = enic->netdev; in enic_mtu_check() local
293 if (mtu != netdev->mtu) in enic_mtu_check()
296 if (mtu < netdev->mtu) in enic_mtu_check()
297 netdev_warn(netdev, in enic_mtu_check()
300 netdev->mtu, mtu); in enic_mtu_check()
308 int carrier_ok = netif_carrier_ok(enic->netdev); in enic_link_check()
311 netdev_info(enic->netdev, "Link UP\n"); in enic_link_check()
312 netif_carrier_on(enic->netdev); in enic_link_check()
314 netdev_info(enic->netdev, "Link DOWN\n"); in enic_link_check()
315 netif_carrier_off(enic->netdev); in enic_link_check()
330 struct net_device *netdev = data; in enic_isr_legacy() local
331 struct enic *enic = netdev_priv(netdev); in enic_isr_legacy()
631 struct net_device *netdev) in enic_hard_start_xmit() argument
633 struct enic *enic = netdev_priv(netdev); in enic_hard_start_xmit()
645 txq = netdev_get_tx_queue(netdev, txq_map); in enic_hard_start_xmit()
665 netdev_err(netdev, "BUG! Tx ring full when queue awake!\n"); in enic_hard_start_xmit()
683 static struct rtnl_link_stats64 *enic_get_stats(struct net_device *netdev, in enic_get_stats() argument
686 struct enic *enic = netdev_priv(netdev); in enic_get_stats()
714 static int enic_mc_sync(struct net_device *netdev, const u8 *mc_addr) in enic_mc_sync() argument
716 struct enic *enic = netdev_priv(netdev); in enic_mc_sync()
719 unsigned int mc_count = netdev_mc_count(netdev); in enic_mc_sync()
721 netdev_warn(netdev, "Registering only %d out of %d multicast addresses\n", in enic_mc_sync()
733 static int enic_mc_unsync(struct net_device *netdev, const u8 *mc_addr) in enic_mc_unsync() argument
735 struct enic *enic = netdev_priv(netdev); in enic_mc_unsync()
743 static int enic_uc_sync(struct net_device *netdev, const u8 *uc_addr) in enic_uc_sync() argument
745 struct enic *enic = netdev_priv(netdev); in enic_uc_sync()
748 unsigned int uc_count = netdev_uc_count(netdev); in enic_uc_sync()
750 netdev_warn(netdev, "Registering only %d out of %d unicast addresses\n", in enic_uc_sync()
762 static int enic_uc_unsync(struct net_device *netdev, const u8 *uc_addr) in enic_uc_unsync() argument
764 struct enic *enic = netdev_priv(netdev); in enic_uc_unsync()
774 struct net_device *netdev = enic->netdev; in enic_reset_addr_lists() local
776 __dev_uc_unsync(netdev, NULL); in enic_reset_addr_lists()
777 __dev_mc_unsync(netdev, NULL); in enic_reset_addr_lists()
784 static int enic_set_mac_addr(struct net_device *netdev, char *addr) in enic_set_mac_addr() argument
786 struct enic *enic = netdev_priv(netdev); in enic_set_mac_addr()
796 memcpy(netdev->dev_addr, addr, netdev->addr_len); in enic_set_mac_addr()
801 static int enic_set_mac_address_dynamic(struct net_device *netdev, void *p) in enic_set_mac_address_dynamic() argument
803 struct enic *enic = netdev_priv(netdev); in enic_set_mac_address_dynamic()
808 if (netif_running(enic->netdev)) { in enic_set_mac_address_dynamic()
814 err = enic_set_mac_addr(netdev, addr); in enic_set_mac_address_dynamic()
818 if (netif_running(enic->netdev)) { in enic_set_mac_address_dynamic()
827 static int enic_set_mac_address(struct net_device *netdev, void *p) in enic_set_mac_address() argument
831 struct enic *enic = netdev_priv(netdev); in enic_set_mac_address()
838 err = enic_set_mac_addr(netdev, addr); in enic_set_mac_address()
846 static void enic_set_rx_mode(struct net_device *netdev) in enic_set_rx_mode() argument
848 struct enic *enic = netdev_priv(netdev); in enic_set_rx_mode()
850 int multicast = (netdev->flags & IFF_MULTICAST) ? 1 : 0; in enic_set_rx_mode()
851 int broadcast = (netdev->flags & IFF_BROADCAST) ? 1 : 0; in enic_set_rx_mode()
852 int promisc = (netdev->flags & IFF_PROMISC) || in enic_set_rx_mode()
853 netdev_uc_count(netdev) > ENIC_UNICAST_PERFECT_FILTERS; in enic_set_rx_mode()
854 int allmulti = (netdev->flags & IFF_ALLMULTI) || in enic_set_rx_mode()
855 netdev_mc_count(netdev) > ENIC_MULTICAST_PERFECT_FILTERS; in enic_set_rx_mode()
856 unsigned int flags = netdev->flags | in enic_set_rx_mode()
867 __dev_uc_sync(netdev, enic_uc_sync, enic_uc_unsync); in enic_set_rx_mode()
869 __dev_mc_sync(netdev, enic_mc_sync, enic_mc_unsync); in enic_set_rx_mode()
874 static void enic_tx_timeout(struct net_device *netdev) in enic_tx_timeout() argument
876 struct enic *enic = netdev_priv(netdev); in enic_tx_timeout()
880 static int enic_set_vf_mac(struct net_device *netdev, int vf, u8 *mac) in enic_set_vf_mac() argument
882 struct enic *enic = netdev_priv(netdev); in enic_set_vf_mac()
906 static int enic_set_vf_port(struct net_device *netdev, int vf, in enic_set_vf_port() argument
909 struct enic *enic = netdev_priv(netdev); in enic_set_vf_port()
950 if (is_zero_ether_addr(netdev->dev_addr)) in enic_set_vf_port()
951 eth_hw_addr_random(netdev); in enic_set_vf_port()
957 netdev_err(netdev, "Error getting mac for vf %d\n", vf); in enic_set_vf_port()
973 eth_zero_addr(netdev->dev_addr); in enic_set_vf_port()
985 eth_zero_addr(netdev->dev_addr); in enic_set_vf_port()
995 static int enic_get_vf_port(struct net_device *netdev, int vf, in enic_get_vf_port() argument
998 struct enic *enic = netdev_priv(netdev); in enic_get_vf_port()
1046 struct net_device *netdev = enic->netdev; in enic_rq_alloc_buf() local
1048 unsigned int len = netdev->mtu + VLAN_ETH_HLEN; in enic_rq_alloc_buf()
1059 skb = netdev_alloc_skb_ip_align(netdev, len); in enic_rq_alloc_buf()
1085 static bool enic_rxcopybreak(struct net_device *netdev, struct sk_buff **skb, in enic_rxcopybreak() argument
1088 struct enic *enic = netdev_priv(netdev); in enic_rxcopybreak()
1093 new_skb = netdev_alloc_skb_ip_align(netdev, len); in enic_rxcopybreak()
1109 struct net_device *netdev = enic->netdev; in enic_rq_indicate_buf() local
1158 if (!enic_rxcopybreak(netdev, &skb, buf, bytes_written)) { in enic_rq_indicate_buf()
1166 skb->protocol = eth_type_trans(skb, netdev); in enic_rq_indicate_buf()
1168 if (netdev->features & NETIF_F_RXHASH) { in enic_rq_indicate_buf()
1182 if ((netdev->features & NETIF_F_RXCSUM) && tcp_udp_csum_ok && in enic_rq_indicate_buf()
1191 !(netdev->features & NETIF_F_GRO)) in enic_rq_indicate_buf()
1282 struct net_device *netdev = napi->dev; in enic_poll() local
1283 struct enic *enic = netdev_priv(netdev); in enic_poll()
1354 free_irq_cpu_rmap(enic->netdev->rx_cpu_rmap); in enic_free_rx_cpu_rmap()
1355 enic->netdev->rx_cpu_rmap = NULL; in enic_free_rx_cpu_rmap()
1363 enic->netdev->rx_cpu_rmap = alloc_irq_cpu_rmap(enic->rq_count); in enic_set_rx_cpu_rmap()
1364 if (unlikely(!enic->netdev->rx_cpu_rmap)) in enic_set_rx_cpu_rmap()
1367 res = irq_cpu_rmap_add(enic->netdev->rx_cpu_rmap, in enic_set_rx_cpu_rmap()
1392 struct net_device *netdev = napi->dev; in enic_busy_poll() local
1393 struct enic *enic = netdev_priv(netdev); in enic_busy_poll()
1419 struct net_device *netdev = napi->dev; in enic_poll_msix_wq() local
1420 struct enic *enic = netdev_priv(netdev); in enic_poll_msix_wq()
1449 struct net_device *netdev = napi->dev; in enic_poll_msix_rq() local
1450 struct enic *enic = netdev_priv(netdev); in enic_poll_msix_rq()
1520 struct net_device *netdev = enic->netdev; in enic_free_intr() local
1526 free_irq(enic->pdev->irq, netdev); in enic_free_intr()
1544 struct net_device *netdev = enic->netdev; in enic_request_intr() local
1554 IRQF_SHARED, netdev->name, netdev); in enic_request_intr()
1560 0, netdev->name, enic); in enic_request_intr()
1569 "%.11s-rx-%d", netdev->name, i); in enic_request_intr()
1580 "%.11s-tx-%d", netdev->name, i); in enic_request_intr()
1588 "%.11s-err", netdev->name); in enic_request_intr()
1595 "%.11s-notify", netdev->name); in enic_request_intr()
1707 static int enic_open(struct net_device *netdev) in enic_open() argument
1709 struct enic *enic = netdev_priv(netdev); in enic_open()
1715 netdev_err(netdev, "Unable to request irq.\n"); in enic_open()
1723 netdev_err(netdev, in enic_open()
1732 netdev_err(netdev, "Unable to alloc receive buffers\n"); in enic_open()
1746 enic_set_rx_mode(netdev); in enic_open()
1748 netif_tx_wake_all_queues(netdev); in enic_open()
1779 static int enic_stop(struct net_device *netdev) in enic_stop() argument
1781 struct enic *enic = netdev_priv(netdev); in enic_stop()
1805 netif_carrier_off(netdev); in enic_stop()
1806 netif_tx_disable(netdev); in enic_stop()
1841 static int enic_change_mtu(struct net_device *netdev, int new_mtu) in enic_change_mtu() argument
1843 struct enic *enic = netdev_priv(netdev); in enic_change_mtu()
1844 int running = netif_running(netdev); in enic_change_mtu()
1853 enic_stop(netdev); in enic_change_mtu()
1855 netdev->mtu = new_mtu; in enic_change_mtu()
1857 if (netdev->mtu > enic->port_mtu) in enic_change_mtu()
1858 netdev_warn(netdev, in enic_change_mtu()
1860 netdev->mtu, enic->port_mtu); in enic_change_mtu()
1863 enic_open(netdev); in enic_change_mtu()
1871 struct net_device *netdev = enic->netdev; in enic_change_mtu_work() local
1891 netdev_err(netdev, "Unable to disable RQ.\n"); in enic_change_mtu_work()
1899 netdev->mtu = new_mtu; in enic_change_mtu_work()
1904 netdev_err(netdev, "Unable to alloc receive buffers.\n"); in enic_change_mtu_work()
1916 netdev_info(netdev, "interface MTU set as %d\n", netdev->mtu); in enic_change_mtu_work()
1920 static void enic_poll_controller(struct net_device *netdev) in enic_poll_controller() argument
1922 struct enic *enic = netdev_priv(netdev); in enic_poll_controller()
1945 enic_isr_legacy(enic->pdev->irq, netdev); in enic_poll_controller()
2008 netdev_err(enic->netdev, "vNIC soft reset failed, err %d\n", in enic_dev_soft_reset()
2021 netdev_err(enic->netdev, "vNIC hang reset failed, err %d\n", in enic_dev_hang_reset()
2144 if (!netif_running(enic->netdev)) in enic_reset()
2150 enic_stop(enic->netdev); in enic_reset()
2156 enic_open(enic->netdev); in enic_reset()
2158 call_netdevice_notifiers(NETDEV_REBOOT, enic->netdev); in enic_reset()
2171 enic_stop(enic->netdev); in enic_tx_hang_reset()
2177 enic_open(enic->netdev); in enic_tx_hang_reset()
2179 call_netdevice_notifiers(NETDEV_REBOOT, enic->netdev); in enic_tx_hang_reset()
2400 struct net_device *netdev = enic->netdev; in enic_dev_init() local
2460 netif_napi_add(netdev, &enic->napi[0], enic_poll, 64); in enic_dev_init()
2465 netif_napi_add(netdev, &enic->napi[i], in enic_dev_init()
2470 netif_napi_add(netdev, &enic->napi[enic_cq_wq(enic, i)], in enic_dev_init()
2497 struct net_device *netdev; in enic_probe() local
2511 netdev = alloc_etherdev_mqs(sizeof(struct enic), in enic_probe()
2513 if (!netdev) in enic_probe()
2516 pci_set_drvdata(pdev, netdev); in enic_probe()
2518 SET_NETDEV_DEV(netdev, &pdev->dev); in enic_probe()
2520 enic = netdev_priv(netdev); in enic_probe()
2521 enic->netdev = netdev; in enic_probe()
2662 netif_carrier_off(netdev); in enic_probe()
2683 netif_set_real_num_tx_queues(netdev, enic->wq_count); in enic_probe()
2684 netif_set_real_num_rx_queues(netdev, enic->rq_count); in enic_probe()
2705 (void)enic_change_mtu(netdev, enic->port_mtu); in enic_probe()
2707 err = enic_set_mac_addr(netdev, enic->mac_addr); in enic_probe()
2720 netdev->netdev_ops = &enic_netdev_dynamic_ops; in enic_probe()
2722 netdev->netdev_ops = &enic_netdev_ops; in enic_probe()
2724 netdev->watchdog_timeo = 2 * HZ; in enic_probe()
2725 enic_set_ethtool_ops(netdev); in enic_probe()
2727 netdev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX; in enic_probe()
2729 netdev->features &= ~NETIF_F_HW_VLAN_CTAG_TX; in enic_probe()
2735 netdev->hw_features |= NETIF_F_SG | NETIF_F_HW_CSUM; in enic_probe()
2737 netdev->hw_features |= NETIF_F_TSO | in enic_probe()
2740 netdev->hw_features |= NETIF_F_RXHASH; in enic_probe()
2742 netdev->hw_features |= NETIF_F_RXCSUM; in enic_probe()
2744 netdev->features |= netdev->hw_features; in enic_probe()
2747 netdev->hw_features |= NETIF_F_NTUPLE; in enic_probe()
2751 netdev->features |= NETIF_F_HIGHDMA; in enic_probe()
2753 netdev->priv_flags |= IFF_UNICAST_FLT; in enic_probe()
2755 err = register_netdev(netdev); in enic_probe()
2786 free_netdev(netdev); in enic_probe()
2793 struct net_device *netdev = pci_get_drvdata(pdev); in enic_remove() local
2795 if (netdev) { in enic_remove()
2796 struct enic *enic = netdev_priv(netdev); in enic_remove()
2800 unregister_netdev(netdev); in enic_remove()
2814 free_netdev(netdev); in enic_remove()