Lines Matching refs:netdev
171 if (netif_tx_queue_stopped(netdev_get_tx_queue(enic->netdev, q_number)) && in enic_wq_service()
174 netif_wake_subqueue(enic->netdev, q_number); in enic_wq_service()
189 netdev_err(enic->netdev, "WQ[%d] error_status %d\n", in enic_log_q_error()
196 netdev_err(enic->netdev, "RQ[%d] error_status %d\n", in enic_log_q_error()
206 netdev_info(enic->netdev, "msg lvl changed from 0x%x to 0x%x\n", in enic_msglvl_check()
215 struct net_device *netdev = enic->netdev; in enic_mtu_check() local
222 if (mtu != netdev->mtu) in enic_mtu_check()
225 if (mtu < netdev->mtu) in enic_mtu_check()
226 netdev_warn(netdev, in enic_mtu_check()
229 netdev->mtu, mtu); in enic_mtu_check()
237 int carrier_ok = netif_carrier_ok(enic->netdev); in enic_link_check()
240 netdev_info(enic->netdev, "Link UP\n"); in enic_link_check()
241 netif_carrier_on(enic->netdev); in enic_link_check()
243 netdev_info(enic->netdev, "Link DOWN\n"); in enic_link_check()
244 netif_carrier_off(enic->netdev); in enic_link_check()
259 struct net_device *netdev = data; in enic_isr_legacy() local
260 struct enic *enic = netdev_priv(netdev); in enic_isr_legacy()
561 struct net_device *netdev) in enic_hard_start_xmit() argument
563 struct enic *enic = netdev_priv(netdev); in enic_hard_start_xmit()
575 txq = netdev_get_tx_queue(netdev, txq_map); in enic_hard_start_xmit()
595 netdev_err(netdev, "BUG! Tx ring full when queue awake!\n"); in enic_hard_start_xmit()
613 static struct rtnl_link_stats64 *enic_get_stats(struct net_device *netdev, in enic_get_stats() argument
616 struct enic *enic = netdev_priv(netdev); in enic_get_stats()
644 static int enic_mc_sync(struct net_device *netdev, const u8 *mc_addr) in enic_mc_sync() argument
646 struct enic *enic = netdev_priv(netdev); in enic_mc_sync()
649 unsigned int mc_count = netdev_mc_count(netdev); in enic_mc_sync()
651 netdev_warn(netdev, "Registering only %d out of %d multicast addresses\n", in enic_mc_sync()
663 static int enic_mc_unsync(struct net_device *netdev, const u8 *mc_addr) in enic_mc_unsync() argument
665 struct enic *enic = netdev_priv(netdev); in enic_mc_unsync()
673 static int enic_uc_sync(struct net_device *netdev, const u8 *uc_addr) in enic_uc_sync() argument
675 struct enic *enic = netdev_priv(netdev); in enic_uc_sync()
678 unsigned int uc_count = netdev_uc_count(netdev); in enic_uc_sync()
680 netdev_warn(netdev, "Registering only %d out of %d unicast addresses\n", in enic_uc_sync()
692 static int enic_uc_unsync(struct net_device *netdev, const u8 *uc_addr) in enic_uc_unsync() argument
694 struct enic *enic = netdev_priv(netdev); in enic_uc_unsync()
704 struct net_device *netdev = enic->netdev; in enic_reset_addr_lists() local
706 __dev_uc_unsync(netdev, NULL); in enic_reset_addr_lists()
707 __dev_mc_unsync(netdev, NULL); in enic_reset_addr_lists()
714 static int enic_set_mac_addr(struct net_device *netdev, char *addr) in enic_set_mac_addr() argument
716 struct enic *enic = netdev_priv(netdev); in enic_set_mac_addr()
726 memcpy(netdev->dev_addr, addr, netdev->addr_len); in enic_set_mac_addr()
731 static int enic_set_mac_address_dynamic(struct net_device *netdev, void *p) in enic_set_mac_address_dynamic() argument
733 struct enic *enic = netdev_priv(netdev); in enic_set_mac_address_dynamic()
738 if (netif_running(enic->netdev)) { in enic_set_mac_address_dynamic()
744 err = enic_set_mac_addr(netdev, addr); in enic_set_mac_address_dynamic()
748 if (netif_running(enic->netdev)) { in enic_set_mac_address_dynamic()
757 static int enic_set_mac_address(struct net_device *netdev, void *p) in enic_set_mac_address() argument
761 struct enic *enic = netdev_priv(netdev); in enic_set_mac_address()
768 err = enic_set_mac_addr(netdev, addr); in enic_set_mac_address()
776 static void enic_set_rx_mode(struct net_device *netdev) in enic_set_rx_mode() argument
778 struct enic *enic = netdev_priv(netdev); in enic_set_rx_mode()
780 int multicast = (netdev->flags & IFF_MULTICAST) ? 1 : 0; in enic_set_rx_mode()
781 int broadcast = (netdev->flags & IFF_BROADCAST) ? 1 : 0; in enic_set_rx_mode()
782 int promisc = (netdev->flags & IFF_PROMISC) || in enic_set_rx_mode()
783 netdev_uc_count(netdev) > ENIC_UNICAST_PERFECT_FILTERS; in enic_set_rx_mode()
784 int allmulti = (netdev->flags & IFF_ALLMULTI) || in enic_set_rx_mode()
785 netdev_mc_count(netdev) > ENIC_MULTICAST_PERFECT_FILTERS; in enic_set_rx_mode()
786 unsigned int flags = netdev->flags | in enic_set_rx_mode()
797 __dev_uc_sync(netdev, enic_uc_sync, enic_uc_unsync); in enic_set_rx_mode()
799 __dev_mc_sync(netdev, enic_mc_sync, enic_mc_unsync); in enic_set_rx_mode()
804 static void enic_tx_timeout(struct net_device *netdev) in enic_tx_timeout() argument
806 struct enic *enic = netdev_priv(netdev); in enic_tx_timeout()
810 static int enic_set_vf_mac(struct net_device *netdev, int vf, u8 *mac) in enic_set_vf_mac() argument
812 struct enic *enic = netdev_priv(netdev); in enic_set_vf_mac()
836 static int enic_set_vf_port(struct net_device *netdev, int vf, in enic_set_vf_port() argument
839 struct enic *enic = netdev_priv(netdev); in enic_set_vf_port()
880 if (is_zero_ether_addr(netdev->dev_addr)) in enic_set_vf_port()
881 eth_hw_addr_random(netdev); in enic_set_vf_port()
887 netdev_err(netdev, "Error getting mac for vf %d\n", vf); in enic_set_vf_port()
903 eth_zero_addr(netdev->dev_addr); in enic_set_vf_port()
915 eth_zero_addr(netdev->dev_addr); in enic_set_vf_port()
925 static int enic_get_vf_port(struct net_device *netdev, int vf, in enic_get_vf_port() argument
928 struct enic *enic = netdev_priv(netdev); in enic_get_vf_port()
976 struct net_device *netdev = enic->netdev; in enic_rq_alloc_buf() local
978 unsigned int len = netdev->mtu + VLAN_ETH_HLEN; in enic_rq_alloc_buf()
989 skb = netdev_alloc_skb_ip_align(netdev, len); in enic_rq_alloc_buf()
1015 static bool enic_rxcopybreak(struct net_device *netdev, struct sk_buff **skb, in enic_rxcopybreak() argument
1018 struct enic *enic = netdev_priv(netdev); in enic_rxcopybreak()
1023 new_skb = netdev_alloc_skb_ip_align(netdev, len); in enic_rxcopybreak()
1039 struct net_device *netdev = enic->netdev; in enic_rq_indicate_buf() local
1088 if (!enic_rxcopybreak(netdev, &skb, buf, bytes_written)) { in enic_rq_indicate_buf()
1096 skb->protocol = eth_type_trans(skb, netdev); in enic_rq_indicate_buf()
1098 if (netdev->features & NETIF_F_RXHASH) { in enic_rq_indicate_buf()
1112 if ((netdev->features & NETIF_F_RXCSUM) && tcp_udp_csum_ok && in enic_rq_indicate_buf()
1121 !(netdev->features & NETIF_F_GRO)) in enic_rq_indicate_buf()
1154 struct net_device *netdev = napi->dev; in enic_poll() local
1155 struct enic *enic = netdev_priv(netdev); in enic_poll()
1277 free_irq_cpu_rmap(enic->netdev->rx_cpu_rmap); in enic_free_rx_cpu_rmap()
1278 enic->netdev->rx_cpu_rmap = NULL; in enic_free_rx_cpu_rmap()
1286 enic->netdev->rx_cpu_rmap = alloc_irq_cpu_rmap(enic->rq_count); in enic_set_rx_cpu_rmap()
1287 if (unlikely(!enic->netdev->rx_cpu_rmap)) in enic_set_rx_cpu_rmap()
1290 res = irq_cpu_rmap_add(enic->netdev->rx_cpu_rmap, in enic_set_rx_cpu_rmap()
1315 struct net_device *netdev = napi->dev; in enic_busy_poll() local
1316 struct enic *enic = netdev_priv(netdev); in enic_busy_poll()
1342 struct net_device *netdev = napi->dev; in enic_poll_msix_wq() local
1343 struct enic *enic = netdev_priv(netdev); in enic_poll_msix_wq()
1372 struct net_device *netdev = napi->dev; in enic_poll_msix_rq() local
1373 struct enic *enic = netdev_priv(netdev); in enic_poll_msix_rq()
1445 struct net_device *netdev = enic->netdev; in enic_free_intr() local
1451 free_irq(enic->pdev->irq, netdev); in enic_free_intr()
1469 struct net_device *netdev = enic->netdev; in enic_request_intr() local
1479 IRQF_SHARED, netdev->name, netdev); in enic_request_intr()
1485 0, netdev->name, enic); in enic_request_intr()
1494 "%.11s-rx-%d", netdev->name, i); in enic_request_intr()
1505 "%.11s-tx-%d", netdev->name, i); in enic_request_intr()
1513 "%.11s-err", netdev->name); in enic_request_intr()
1520 "%.11s-notify", netdev->name); in enic_request_intr()
1574 netdev_info(enic->netdev, "INTR mode is not MSIX, Not initializing adaptive coalescing"); in enic_set_rx_coal_setting()
1638 static int enic_open(struct net_device *netdev) in enic_open() argument
1640 struct enic *enic = netdev_priv(netdev); in enic_open()
1646 netdev_err(netdev, "Unable to request irq.\n"); in enic_open()
1652 netdev_err(netdev, in enic_open()
1661 netdev_err(netdev, "Unable to alloc receive buffers\n"); in enic_open()
1675 enic_set_rx_mode(netdev); in enic_open()
1677 netif_tx_wake_all_queues(netdev); in enic_open()
1707 static int enic_stop(struct net_device *netdev) in enic_stop() argument
1709 struct enic *enic = netdev_priv(netdev); in enic_stop()
1733 netif_carrier_off(netdev); in enic_stop()
1734 netif_tx_disable(netdev); in enic_stop()
1768 static int enic_change_mtu(struct net_device *netdev, int new_mtu) in enic_change_mtu() argument
1770 struct enic *enic = netdev_priv(netdev); in enic_change_mtu()
1771 int running = netif_running(netdev); in enic_change_mtu()
1780 enic_stop(netdev); in enic_change_mtu()
1782 netdev->mtu = new_mtu; in enic_change_mtu()
1784 if (netdev->mtu > enic->port_mtu) in enic_change_mtu()
1785 netdev_warn(netdev, in enic_change_mtu()
1787 netdev->mtu, enic->port_mtu); in enic_change_mtu()
1790 enic_open(netdev); in enic_change_mtu()
1798 struct net_device *netdev = enic->netdev; in enic_change_mtu_work() local
1818 netdev_err(netdev, "Unable to disable RQ.\n"); in enic_change_mtu_work()
1826 netdev->mtu = new_mtu; in enic_change_mtu_work()
1831 netdev_err(netdev, "Unable to alloc receive buffers.\n"); in enic_change_mtu_work()
1843 netdev_info(netdev, "interface MTU set as %d\n", netdev->mtu); in enic_change_mtu_work()
1847 static void enic_poll_controller(struct net_device *netdev) in enic_poll_controller() argument
1849 struct enic *enic = netdev_priv(netdev); in enic_poll_controller()
1872 enic_isr_legacy(enic->pdev->irq, netdev); in enic_poll_controller()
1935 netdev_err(enic->netdev, "vNIC hang reset failed, err %d\n", in enic_dev_hang_reset()
2058 if (!netif_running(enic->netdev)) in enic_reset()
2065 enic_stop(enic->netdev); in enic_reset()
2071 enic_open(enic->netdev); in enic_reset()
2073 call_netdevice_notifiers(NETDEV_REBOOT, enic->netdev); in enic_reset()
2293 struct net_device *netdev = enic->netdev; in enic_dev_init() local
2353 netif_napi_add(netdev, &enic->napi[0], enic_poll, 64); in enic_dev_init()
2358 netif_napi_add(netdev, &enic->napi[i], in enic_dev_init()
2363 netif_napi_add(netdev, &enic->napi[enic_cq_wq(enic, i)], in enic_dev_init()
2389 struct net_device *netdev; in enic_probe() local
2403 netdev = alloc_etherdev_mqs(sizeof(struct enic), in enic_probe()
2405 if (!netdev) in enic_probe()
2408 pci_set_drvdata(pdev, netdev); in enic_probe()
2410 SET_NETDEV_DEV(netdev, &pdev->dev); in enic_probe()
2412 enic = netdev_priv(netdev); in enic_probe()
2413 enic->netdev = netdev; in enic_probe()
2549 netif_carrier_off(netdev); in enic_probe()
2570 netif_set_real_num_tx_queues(netdev, enic->wq_count); in enic_probe()
2571 netif_set_real_num_rx_queues(netdev, enic->rq_count); in enic_probe()
2591 (void)enic_change_mtu(netdev, enic->port_mtu); in enic_probe()
2593 err = enic_set_mac_addr(netdev, enic->mac_addr); in enic_probe()
2606 netdev->netdev_ops = &enic_netdev_dynamic_ops; in enic_probe()
2608 netdev->netdev_ops = &enic_netdev_ops; in enic_probe()
2610 netdev->watchdog_timeo = 2 * HZ; in enic_probe()
2611 enic_set_ethtool_ops(netdev); in enic_probe()
2613 netdev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX; in enic_probe()
2615 netdev->features &= ~NETIF_F_HW_VLAN_CTAG_TX; in enic_probe()
2621 netdev->hw_features |= NETIF_F_SG | NETIF_F_HW_CSUM; in enic_probe()
2623 netdev->hw_features |= NETIF_F_TSO | in enic_probe()
2626 netdev->hw_features |= NETIF_F_RXHASH; in enic_probe()
2628 netdev->hw_features |= NETIF_F_RXCSUM; in enic_probe()
2630 netdev->features |= netdev->hw_features; in enic_probe()
2633 netdev->hw_features |= NETIF_F_NTUPLE; in enic_probe()
2637 netdev->features |= NETIF_F_HIGHDMA; in enic_probe()
2639 netdev->priv_flags |= IFF_UNICAST_FLT; in enic_probe()
2641 err = register_netdev(netdev); in enic_probe()
2672 free_netdev(netdev); in enic_probe()
2679 struct net_device *netdev = pci_get_drvdata(pdev); in enic_remove() local
2681 if (netdev) { in enic_remove()
2682 struct enic *enic = netdev_priv(netdev); in enic_remove()
2686 unregister_netdev(netdev); in enic_remove()
2700 free_netdev(netdev); in enic_remove()