Lines Matching full:netdev

240 		skb = netdev_alloc_skb(adapter->netdev, pool->buff_size);  in ibmveth_replenish_buffer_pool()
243 netdev_dbg(adapter->netdev, in ibmveth_replenish_buffer_pool()
260 adapter->netdev->mtu + in ibmveth_replenish_buffer_pool()
276 netdev_warn(adapter->netdev, in ibmveth_replenish_buffer_pool()
456 netdev_err(adapter->netdev, in ibmveth_allocate_tx_ltb()
465 netdev_err(adapter->netdev, in ibmveth_allocate_tx_ltb()
502 static int ibmveth_open(struct net_device *netdev) in ibmveth_open() argument
504 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_open()
513 netdev_dbg(netdev, "open starting\n"); in ibmveth_open()
523 netdev_err(netdev, "unable to allocate list pages\n"); in ibmveth_open()
529 netdev_err(netdev, "unable to allocate filter pages\n"); in ibmveth_open()
546 netdev_err(netdev, "unable to map buffer list pages\n"); in ibmveth_open()
553 netdev_err(netdev, "unable to map filter list pages\n"); in ibmveth_open()
557 for (i = 0; i < netdev->real_num_tx_queues; i++) { in ibmveth_open()
566 mac_address = ether_addr_to_u64(netdev->dev_addr); in ibmveth_open()
572 netdev_dbg(netdev, "buffer list @ 0x%p\n", adapter->buffer_list_addr); in ibmveth_open()
573 netdev_dbg(netdev, "filter list @ 0x%p\n", adapter->filter_list_addr); in ibmveth_open()
574 netdev_dbg(netdev, "receive q @ 0x%p\n", adapter->rx_queue.queue_addr); in ibmveth_open()
581 netdev_err(netdev, "h_register_logical_lan failed with %ld\n", in ibmveth_open()
583 netdev_err(netdev, "buffer TCE:0x%llx filter TCE:0x%llx rxq " in ibmveth_open()
597 netdev_err(netdev, "unable to alloc pool\n"); in ibmveth_open()
604 netdev_dbg(netdev, "registering irq 0x%x\n", netdev->irq); in ibmveth_open()
605 rc = request_irq(netdev->irq, ibmveth_interrupt, 0, netdev->name, in ibmveth_open()
606 netdev); in ibmveth_open()
608 netdev_err(netdev, "unable to request irq 0x%x, rc %d\n", in ibmveth_open()
609 netdev->irq, rc); in ibmveth_open()
619 netdev_dbg(netdev, "initial replenish cycle\n"); in ibmveth_open()
620 ibmveth_interrupt(netdev->irq, netdev); in ibmveth_open()
622 netif_tx_start_all_queues(netdev); in ibmveth_open()
624 netdev_dbg(netdev, "open complete\n"); in ibmveth_open()
659 static int ibmveth_close(struct net_device *netdev) in ibmveth_close() argument
661 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_close()
666 netdev_dbg(netdev, "close starting\n"); in ibmveth_close()
670 netif_tx_stop_all_queues(netdev); in ibmveth_close()
679 netdev_err(netdev, "h_free_logical_lan failed with %lx, " in ibmveth_close()
683 free_irq(netdev->irq, netdev); in ibmveth_close()
704 for (i = 0; i < netdev->real_num_tx_queues; i++) in ibmveth_close()
707 netdev_dbg(netdev, "close complete\n"); in ibmveth_close()
967 static void ibmveth_get_channels(struct net_device *netdev, in ibmveth_get_channels() argument
971 channels->tx_count = netdev->real_num_tx_queues; in ibmveth_get_channels()
973 channels->max_rx = netdev->real_num_rx_queues; in ibmveth_get_channels()
974 channels->rx_count = netdev->real_num_rx_queues; in ibmveth_get_channels()
977 static int ibmveth_set_channels(struct net_device *netdev, in ibmveth_set_channels() argument
980 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_set_channels()
981 unsigned int old = netdev->real_num_tx_queues, in ibmveth_set_channels()
988 if (!(netdev->flags & IFF_UP)) in ibmveth_set_channels()
989 return netif_set_real_num_tx_queues(netdev, goal); in ibmveth_set_channels()
994 netif_tx_stop_all_queues(netdev); in ibmveth_set_channels()
1006 netdev_err(netdev, "Failed to allocate more tx queues, returning to %d queues\n", in ibmveth_set_channels()
1012 rc = netif_set_real_num_tx_queues(netdev, goal); in ibmveth_set_channels()
1014 netdev_err(netdev, "Failed to set real tx queues, returning to %d queues\n", in ibmveth_set_channels()
1025 netif_tx_wake_all_queues(netdev); in ibmveth_set_channels()
1067 netdev_err(adapter->netdev, "tx: h_send_logical_lan failed " in ibmveth_send()
1076 struct net_device *netdev) in ibmveth_is_packet_unsupported() argument
1083 if (ether_addr_equal(ether_header->h_dest, netdev->dev_addr)) { in ibmveth_is_packet_unsupported()
1084 netdev_dbg(netdev, "veth doesn't support loopback packets, dropping packet.\n"); in ibmveth_is_packet_unsupported()
1085 netdev->stats.tx_dropped++; in ibmveth_is_packet_unsupported()
1093 struct net_device *netdev) in ibmveth_start_xmit() argument
1095 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_start_xmit()
1101 if (ibmveth_is_packet_unsupported(skb, netdev)) in ibmveth_start_xmit()
1111 netdev_err(netdev, "tx: failed to checksum packet\n"); in ibmveth_start_xmit()
1112 netdev->stats.tx_dropped++; in ibmveth_start_xmit()
1150 netdev_err(adapter->netdev, "tx: packet size (%u) exceeds ltb (%u)\n", in ibmveth_start_xmit()
1152 netdev->stats.tx_dropped++; in ibmveth_start_xmit()
1167 netdev_err(adapter->netdev, "tx: incorrect packet len copied into ltb (%u != %u)\n", in ibmveth_start_xmit()
1169 netdev->stats.tx_dropped++; in ibmveth_start_xmit()
1179 netdev->stats.tx_dropped++; in ibmveth_start_xmit()
1181 netdev->stats.tx_packets++; in ibmveth_start_xmit()
1182 netdev->stats.tx_bytes += skb->len; in ibmveth_start_xmit()
1312 struct net_device *netdev = adapter->netdev; in ibmveth_poll() local
1326 netdev_dbg(netdev, "recycling invalid buffer\n"); in ibmveth_poll()
1351 new_skb = netdev_alloc_skb(netdev, length); in ibmveth_poll()
1368 skb->protocol = eth_type_trans(skb, netdev); in ibmveth_poll()
1379 if ((length > netdev->mtu + ETH_HLEN) || in ibmveth_poll()
1392 netdev->stats.rx_packets++; in ibmveth_poll()
1393 netdev->stats.rx_bytes += length; in ibmveth_poll()
1424 struct net_device *netdev = dev_instance; in ibmveth_interrupt() local
1425 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_interrupt()
1437 static void ibmveth_set_multicast_list(struct net_device *netdev) in ibmveth_set_multicast_list() argument
1439 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_set_multicast_list()
1442 if ((netdev->flags & IFF_PROMISC) || in ibmveth_set_multicast_list()
1443 (netdev_mc_count(netdev) > adapter->mcastFilterSize)) { in ibmveth_set_multicast_list()
1449 netdev_err(netdev, "h_multicast_ctrl rc=%ld when " in ibmveth_set_multicast_list()
1461 netdev_err(netdev, "h_multicast_ctrl rc=%ld when " in ibmveth_set_multicast_list()
1466 netdev_for_each_mc_addr(ha, netdev) { in ibmveth_set_multicast_list()
1474 netdev_err(netdev, "h_multicast_ctrl rc=%ld " in ibmveth_set_multicast_list()
1485 netdev_err(netdev, "h_multicast_ctrl rc=%ld when " in ibmveth_set_multicast_list()
1508 if (netif_running(adapter->netdev)) { in ibmveth_change_mtu()
1510 ibmveth_close(adapter->netdev); in ibmveth_change_mtu()
1523 return ibmveth_open(adapter->netdev); in ibmveth_change_mtu()
1529 if (need_restart && (rc = ibmveth_open(adapter->netdev))) in ibmveth_change_mtu()
1553 struct net_device *netdev = dev_get_drvdata(&vdev->dev); in ibmveth_get_desired_dma() local
1562 /* netdev inits at probe time along with the structures we need below*/ in ibmveth_get_desired_dma()
1563 if (netdev == NULL) in ibmveth_get_desired_dma()
1566 adapter = netdev_priv(netdev); in ibmveth_get_desired_dma()
1569 ret += IOMMU_PAGE_ALIGN(netdev->mtu, tbl); in ibmveth_get_desired_dma()
1602 netdev_err(adapter->netdev, "h_change_logical_lan_mac failed with rc=%d\n", rc); in ibmveth_set_mac_addr()
1630 struct net_device *netdev; in ibmveth_probe() local
1664 netdev = alloc_etherdev_mqs(sizeof(struct ibmveth_adapter), IBMVETH_MAX_QUEUES, 1); in ibmveth_probe()
1665 if (!netdev) in ibmveth_probe()
1668 adapter = netdev_priv(netdev); in ibmveth_probe()
1669 dev_set_drvdata(&dev->dev, netdev); in ibmveth_probe()
1672 adapter->netdev = netdev; in ibmveth_probe()
1674 ibmveth_init_link_settings(netdev); in ibmveth_probe()
1676 netif_napi_add_weight(netdev, &adapter->napi, ibmveth_poll, 16); in ibmveth_probe()
1678 netdev->irq = dev->irq; in ibmveth_probe()
1679 netdev->netdev_ops = &ibmveth_netdev_ops; in ibmveth_probe()
1680 netdev->ethtool_ops = &netdev_ethtool_ops; in ibmveth_probe()
1681 SET_NETDEV_DEV(netdev, &dev->dev); in ibmveth_probe()
1682 netdev->hw_features = NETIF_F_SG; in ibmveth_probe()
1684 netdev->hw_features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | in ibmveth_probe()
1688 netdev->features |= netdev->hw_features; in ibmveth_probe()
1695 netdev->hw_features |= NETIF_F_TSO | NETIF_F_TSO6; in ibmveth_probe()
1696 netdev->features |= netdev->hw_features; in ibmveth_probe()
1698 netdev->hw_features |= NETIF_F_TSO; in ibmveth_probe()
1704 netdev->hw_features |= NETIF_F_FRAGLIST; in ibmveth_probe()
1705 netdev->features |= NETIF_F_FRAGLIST; in ibmveth_probe()
1708 netdev->min_mtu = IBMVETH_MIN_MTU; in ibmveth_probe()
1709 netdev->max_mtu = ETH_MAX_MTU - IBMVETH_BUFF_OH; in ibmveth_probe()
1711 eth_hw_addr_set(netdev, mac_addr_p); in ibmveth_probe()
1729 rc = netif_set_real_num_tx_queues(netdev, min(num_online_cpus(), in ibmveth_probe()
1732 netdev_dbg(netdev, "failed to set number of tx queues rc=%d\n", in ibmveth_probe()
1734 free_netdev(netdev); in ibmveth_probe()
1741 netdev_dbg(netdev, "adapter @ 0x%p\n", adapter); in ibmveth_probe()
1742 netdev_dbg(netdev, "registering netdev...\n"); in ibmveth_probe()
1744 ibmveth_set_features(netdev, netdev->features); in ibmveth_probe()
1746 rc = register_netdev(netdev); in ibmveth_probe()
1749 netdev_dbg(netdev, "failed to register netdev rc=%d\n", rc); in ibmveth_probe()
1750 free_netdev(netdev); in ibmveth_probe()
1754 netdev_dbg(netdev, "registered\n"); in ibmveth_probe()
1761 struct net_device *netdev = dev_get_drvdata(&dev->dev); in ibmveth_remove() local
1762 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_remove()
1768 unregister_netdev(netdev); in ibmveth_remove()
1770 free_netdev(netdev); in ibmveth_remove()
1800 struct net_device *netdev = dev_get_drvdata(kobj_to_dev(kobj->parent)); in veth_pool_store() local
1801 struct ibmveth_adapter *adapter = netdev_priv(netdev); in veth_pool_store()
1807 if (netif_running(netdev)) { in veth_pool_store()
1809 netdev_err(netdev, in veth_pool_store()
1814 ibmveth_close(netdev); in veth_pool_store()
1815 if ((rc = ibmveth_open(netdev))) in veth_pool_store()
1821 int mtu = netdev->mtu + IBMVETH_BUFF_OH; in veth_pool_store()
1835 netdev_err(netdev, "no active pool >= MTU\n"); in veth_pool_store()
1839 if (netif_running(netdev)) { in veth_pool_store()
1840 ibmveth_close(netdev); in veth_pool_store()
1842 if ((rc = ibmveth_open(netdev))) in veth_pool_store()
1851 if (netif_running(netdev)) { in veth_pool_store()
1852 ibmveth_close(netdev); in veth_pool_store()
1854 if ((rc = ibmveth_open(netdev))) in veth_pool_store()
1864 if (netif_running(netdev)) { in veth_pool_store()
1865 ibmveth_close(netdev); in veth_pool_store()
1867 if ((rc = ibmveth_open(netdev))) in veth_pool_store()
1876 ibmveth_interrupt(netdev->irq, netdev); in veth_pool_store()
1911 struct net_device *netdev = dev_get_drvdata(dev); in ibmveth_resume() local
1912 ibmveth_interrupt(netdev->irq, netdev); in ibmveth_resume()