Lines Matching refs:netdev

229 		skb = netdev_alloc_skb(adapter->netdev, pool->buff_size);  in ibmveth_replenish_buffer_pool()
232 netdev_dbg(adapter->netdev, in ibmveth_replenish_buffer_pool()
265 adapter->netdev->mtu + in ibmveth_replenish_buffer_pool()
441 netdev_dbg(adapter->netdev, "h_add_logical_lan_buffer failed " in ibmveth_rxq_recycle_buffer()
479 netdev_err(adapter->netdev, in ibmveth_allocate_tx_ltb()
488 netdev_err(adapter->netdev, in ibmveth_allocate_tx_ltb()
525 static int ibmveth_open(struct net_device *netdev) in ibmveth_open() argument
527 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_open()
536 netdev_dbg(netdev, "open starting\n"); in ibmveth_open()
546 netdev_err(netdev, "unable to allocate list pages\n"); in ibmveth_open()
552 netdev_err(netdev, "unable to allocate filter pages\n"); in ibmveth_open()
569 netdev_err(netdev, "unable to map buffer list pages\n"); in ibmveth_open()
576 netdev_err(netdev, "unable to map filter list pages\n"); in ibmveth_open()
580 for (i = 0; i < netdev->real_num_tx_queues; i++) { in ibmveth_open()
589 mac_address = ether_addr_to_u64(netdev->dev_addr); in ibmveth_open()
595 netdev_dbg(netdev, "buffer list @ 0x%p\n", adapter->buffer_list_addr); in ibmveth_open()
596 netdev_dbg(netdev, "filter list @ 0x%p\n", adapter->filter_list_addr); in ibmveth_open()
597 netdev_dbg(netdev, "receive q @ 0x%p\n", adapter->rx_queue.queue_addr); in ibmveth_open()
604 netdev_err(netdev, "h_register_logical_lan failed with %ld\n", in ibmveth_open()
606 netdev_err(netdev, "buffer TCE:0x%llx filter TCE:0x%llx rxq " in ibmveth_open()
620 netdev_err(netdev, "unable to alloc pool\n"); in ibmveth_open()
627 netdev_dbg(netdev, "registering irq 0x%x\n", netdev->irq); in ibmveth_open()
628 rc = request_irq(netdev->irq, ibmveth_interrupt, 0, netdev->name, in ibmveth_open()
629 netdev); in ibmveth_open()
631 netdev_err(netdev, "unable to request irq 0x%x, rc %d\n", in ibmveth_open()
632 netdev->irq, rc); in ibmveth_open()
642 netdev_dbg(netdev, "initial replenish cycle\n"); in ibmveth_open()
643 ibmveth_interrupt(netdev->irq, netdev); in ibmveth_open()
645 netif_tx_start_all_queues(netdev); in ibmveth_open()
647 netdev_dbg(netdev, "open complete\n"); in ibmveth_open()
682 static int ibmveth_close(struct net_device *netdev) in ibmveth_close() argument
684 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_close()
689 netdev_dbg(netdev, "close starting\n"); in ibmveth_close()
693 netif_tx_stop_all_queues(netdev); in ibmveth_close()
702 netdev_err(netdev, "h_free_logical_lan failed with %lx, " in ibmveth_close()
706 free_irq(netdev->irq, netdev); in ibmveth_close()
727 for (i = 0; i < netdev->real_num_tx_queues; i++) in ibmveth_close()
730 netdev_dbg(netdev, "close complete\n"); in ibmveth_close()
990 static void ibmveth_get_channels(struct net_device *netdev, in ibmveth_get_channels() argument
994 channels->tx_count = netdev->real_num_tx_queues; in ibmveth_get_channels()
996 channels->max_rx = netdev->real_num_rx_queues; in ibmveth_get_channels()
997 channels->rx_count = netdev->real_num_rx_queues; in ibmveth_get_channels()
1000 static int ibmveth_set_channels(struct net_device *netdev, in ibmveth_set_channels() argument
1003 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_set_channels()
1004 unsigned int old = netdev->real_num_tx_queues, in ibmveth_set_channels()
1011 if (!(netdev->flags & IFF_UP)) in ibmveth_set_channels()
1012 return netif_set_real_num_tx_queues(netdev, goal); in ibmveth_set_channels()
1017 netif_tx_stop_all_queues(netdev); in ibmveth_set_channels()
1029 netdev_err(netdev, "Failed to allocate more tx queues, returning to %d queues\n", in ibmveth_set_channels()
1035 rc = netif_set_real_num_tx_queues(netdev, goal); in ibmveth_set_channels()
1037 netdev_err(netdev, "Failed to set real tx queues, returning to %d queues\n", in ibmveth_set_channels()
1048 netif_tx_wake_all_queues(netdev); in ibmveth_set_channels()
1090 netdev_err(adapter->netdev, "tx: h_send_logical_lan failed " in ibmveth_send()
1099 struct net_device *netdev) in ibmveth_is_packet_unsupported() argument
1106 if (ether_addr_equal(ether_header->h_dest, netdev->dev_addr)) { in ibmveth_is_packet_unsupported()
1107 netdev_dbg(netdev, "veth doesn't support loopback packets, dropping packet.\n"); in ibmveth_is_packet_unsupported()
1108 netdev->stats.tx_dropped++; in ibmveth_is_packet_unsupported()
1116 struct net_device *netdev) in ibmveth_start_xmit() argument
1118 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_start_xmit()
1124 if (ibmveth_is_packet_unsupported(skb, netdev)) in ibmveth_start_xmit()
1134 netdev_err(netdev, "tx: failed to checksum packet\n"); in ibmveth_start_xmit()
1135 netdev->stats.tx_dropped++; in ibmveth_start_xmit()
1173 netdev_err(adapter->netdev, "tx: packet size (%u) exceeds ltb (%u)\n", in ibmveth_start_xmit()
1175 netdev->stats.tx_dropped++; in ibmveth_start_xmit()
1190 netdev_err(adapter->netdev, "tx: incorrect packet len copied into ltb (%u != %u)\n", in ibmveth_start_xmit()
1192 netdev->stats.tx_dropped++; in ibmveth_start_xmit()
1202 netdev->stats.tx_dropped++; in ibmveth_start_xmit()
1204 netdev->stats.tx_packets++; in ibmveth_start_xmit()
1205 netdev->stats.tx_bytes += skb->len; in ibmveth_start_xmit()
1335 struct net_device *netdev = adapter->netdev; in ibmveth_poll() local
1348 netdev_dbg(netdev, "recycling invalid buffer\n"); in ibmveth_poll()
1373 new_skb = netdev_alloc_skb(netdev, length); in ibmveth_poll()
1391 skb->protocol = eth_type_trans(skb, netdev); in ibmveth_poll()
1402 if ((length > netdev->mtu + ETH_HLEN) || in ibmveth_poll()
1415 netdev->stats.rx_packets++; in ibmveth_poll()
1416 netdev->stats.rx_bytes += length; in ibmveth_poll()
1446 struct net_device *netdev = dev_instance; in ibmveth_interrupt() local
1447 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_interrupt()
1459 static void ibmveth_set_multicast_list(struct net_device *netdev) in ibmveth_set_multicast_list() argument
1461 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_set_multicast_list()
1464 if ((netdev->flags & IFF_PROMISC) || in ibmveth_set_multicast_list()
1465 (netdev_mc_count(netdev) > adapter->mcastFilterSize)) { in ibmveth_set_multicast_list()
1471 netdev_err(netdev, "h_multicast_ctrl rc=%ld when " in ibmveth_set_multicast_list()
1483 netdev_err(netdev, "h_multicast_ctrl rc=%ld when " in ibmveth_set_multicast_list()
1488 netdev_for_each_mc_addr(ha, netdev) { in ibmveth_set_multicast_list()
1496 netdev_err(netdev, "h_multicast_ctrl rc=%ld " in ibmveth_set_multicast_list()
1507 netdev_err(netdev, "h_multicast_ctrl rc=%ld when " in ibmveth_set_multicast_list()
1530 if (netif_running(adapter->netdev)) { in ibmveth_change_mtu()
1532 ibmveth_close(adapter->netdev); in ibmveth_change_mtu()
1545 return ibmveth_open(adapter->netdev); in ibmveth_change_mtu()
1551 if (need_restart && (rc = ibmveth_open(adapter->netdev))) in ibmveth_change_mtu()
1575 struct net_device *netdev = dev_get_drvdata(&vdev->dev); in ibmveth_get_desired_dma() local
1585 if (netdev == NULL) in ibmveth_get_desired_dma()
1588 adapter = netdev_priv(netdev); in ibmveth_get_desired_dma()
1591 ret += IOMMU_PAGE_ALIGN(netdev->mtu, tbl); in ibmveth_get_desired_dma()
1624 netdev_err(adapter->netdev, "h_change_logical_lan_mac failed with rc=%d\n", rc); in ibmveth_set_mac_addr()
1652 struct net_device *netdev; in ibmveth_probe() local
1686 netdev = alloc_etherdev_mqs(sizeof(struct ibmveth_adapter), IBMVETH_MAX_QUEUES, 1); in ibmveth_probe()
1687 if (!netdev) in ibmveth_probe()
1690 adapter = netdev_priv(netdev); in ibmveth_probe()
1691 dev_set_drvdata(&dev->dev, netdev); in ibmveth_probe()
1694 adapter->netdev = netdev; in ibmveth_probe()
1696 ibmveth_init_link_settings(netdev); in ibmveth_probe()
1698 netif_napi_add_weight(netdev, &adapter->napi, ibmveth_poll, 16); in ibmveth_probe()
1700 netdev->irq = dev->irq; in ibmveth_probe()
1701 netdev->netdev_ops = &ibmveth_netdev_ops; in ibmveth_probe()
1702 netdev->ethtool_ops = &netdev_ethtool_ops; in ibmveth_probe()
1703 SET_NETDEV_DEV(netdev, &dev->dev); in ibmveth_probe()
1704 netdev->hw_features = NETIF_F_SG; in ibmveth_probe()
1706 netdev->hw_features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | in ibmveth_probe()
1710 netdev->features |= netdev->hw_features; in ibmveth_probe()
1717 netdev->hw_features |= NETIF_F_TSO | NETIF_F_TSO6; in ibmveth_probe()
1718 netdev->features |= netdev->hw_features; in ibmveth_probe()
1720 netdev->hw_features |= NETIF_F_TSO; in ibmveth_probe()
1726 netdev->hw_features |= NETIF_F_FRAGLIST; in ibmveth_probe()
1727 netdev->features |= NETIF_F_FRAGLIST; in ibmveth_probe()
1730 netdev->min_mtu = IBMVETH_MIN_MTU; in ibmveth_probe()
1731 netdev->max_mtu = ETH_MAX_MTU - IBMVETH_BUFF_OH; in ibmveth_probe()
1733 eth_hw_addr_set(netdev, mac_addr_p); in ibmveth_probe()
1751 rc = netif_set_real_num_tx_queues(netdev, min(num_online_cpus(), in ibmveth_probe()
1754 netdev_dbg(netdev, "failed to set number of tx queues rc=%d\n", in ibmveth_probe()
1756 free_netdev(netdev); in ibmveth_probe()
1763 netdev_dbg(netdev, "adapter @ 0x%p\n", adapter); in ibmveth_probe()
1764 netdev_dbg(netdev, "registering netdev...\n"); in ibmveth_probe()
1766 ibmveth_set_features(netdev, netdev->features); in ibmveth_probe()
1768 rc = register_netdev(netdev); in ibmveth_probe()
1771 netdev_dbg(netdev, "failed to register netdev rc=%d\n", rc); in ibmveth_probe()
1772 free_netdev(netdev); in ibmveth_probe()
1776 netdev_dbg(netdev, "registered\n"); in ibmveth_probe()
1783 struct net_device *netdev = dev_get_drvdata(&dev->dev); in ibmveth_remove() local
1784 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_remove()
1790 unregister_netdev(netdev); in ibmveth_remove()
1792 free_netdev(netdev); in ibmveth_remove()
1822 struct net_device *netdev = dev_get_drvdata(kobj_to_dev(kobj->parent)); in veth_pool_store() local
1823 struct ibmveth_adapter *adapter = netdev_priv(netdev); in veth_pool_store()
1829 if (netif_running(netdev)) { in veth_pool_store()
1831 netdev_err(netdev, in veth_pool_store()
1836 ibmveth_close(netdev); in veth_pool_store()
1837 if ((rc = ibmveth_open(netdev))) in veth_pool_store()
1843 int mtu = netdev->mtu + IBMVETH_BUFF_OH; in veth_pool_store()
1857 netdev_err(netdev, "no active pool >= MTU\n"); in veth_pool_store()
1861 if (netif_running(netdev)) { in veth_pool_store()
1862 ibmveth_close(netdev); in veth_pool_store()
1864 if ((rc = ibmveth_open(netdev))) in veth_pool_store()
1873 if (netif_running(netdev)) { in veth_pool_store()
1874 ibmveth_close(netdev); in veth_pool_store()
1876 if ((rc = ibmveth_open(netdev))) in veth_pool_store()
1886 if (netif_running(netdev)) { in veth_pool_store()
1887 ibmveth_close(netdev); in veth_pool_store()
1889 if ((rc = ibmveth_open(netdev))) in veth_pool_store()
1898 ibmveth_interrupt(netdev->irq, netdev); in veth_pool_store()
1933 struct net_device *netdev = dev_get_drvdata(dev); in ibmveth_resume() local
1934 ibmveth_interrupt(netdev->irq, netdev); in ibmveth_resume()