Lines Matching refs:netdev
174 struct net_device *netdev;
178 netdev = adapter->netdev;
183 netdev_err(netdev, "Device down!\n");
191 netdev_err(netdev, "Operation timed out.\n");
403 netif_carrier_off(adapter->netdev);
417 netdev_dbg(adapter->netdev, "Replenished %d pools\n", i);
474 netdev_dbg(adapter->netdev, "Stats token initialized (%llx)\n", stok);
493 netdev_dbg(adapter->netdev, "Re-setting rx_pool[%d]\n", i);
536 netdev_dbg(adapter->netdev, "Releasing rx_pool[%d]\n", i);
559 static int init_rx_pools(struct net_device *netdev)
561 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
584 netdev_dbg(adapter->netdev,
708 static int init_one_tx_pool(struct net_device *netdev,
712 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
740 static int init_tx_pools(struct net_device *netdev)
742 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
763 rc = init_one_tx_pool(netdev, &adapter->tx_pool[i],
771 rc = init_one_tx_pool(netdev, &adapter->tso_pool[i],
804 netdev_dbg(adapter->netdev, "Disabling napi[%d]\n", i);
821 netdev_dbg(adapter->netdev, "Adding napi[%d]\n", i);
822 netif_napi_add(adapter->netdev, &adapter->napi[i],
838 netdev_dbg(adapter->netdev, "Releasing napi[%d]\n", i);
848 static int ibmvnic_login(struct net_device *netdev)
850 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
860 netdev_warn(netdev, "Login attempts exceeded\n");
872 netdev_warn(netdev, "Login timed out, retrying...\n");
880 netdev_warn(netdev, "Login aborted, retrying...\n");
893 netdev_dbg(netdev,
900 netdev_warn(netdev,
907 netdev_warn(netdev,
914 netdev_warn(netdev,
919 netdev_warn(netdev, "Adapter login failed\n");
924 __ibmvnic_set_mac(netdev, adapter->mac_addr);
926 netdev_dbg(netdev, "[S:%d] Login succeeded\n", adapter->state);
966 struct net_device *netdev = adapter->netdev;
972 netdev_dbg(netdev, "setting link state %d\n", link_state);
985 netdev_err(netdev, "Failed to set link state\n");
991 netdev_err(netdev, "timeout setting link state\n");
1000 netdev_warn(netdev, "Unable to set link state, rc=%d\n",
1009 static int set_real_num_queues(struct net_device *netdev)
1011 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
1014 netdev_dbg(netdev, "Setting real tx/rx queues (%llx/%llx)\n",
1017 rc = netif_set_real_num_tx_queues(netdev, adapter->req_tx_queues);
1019 netdev_err(netdev, "failed to set the number of tx queues\n");
1023 rc = netif_set_real_num_rx_queues(netdev, adapter->req_rx_queues);
1025 netdev_err(netdev, "failed to set the number of rx queues\n");
1116 struct net_device *netdev = adapter->netdev;
1119 rc = set_real_num_queues(netdev);
1130 netdev_err(netdev, "failed to initialize Vital Product Data (VPD)\n");
1142 rc = init_rx_pools(netdev);
1146 rc = init_tx_pools(netdev);
1150 static int __ibmvnic_open(struct net_device *netdev)
1152 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
1164 netdev_dbg(netdev, "Enabling rx_scrq[%d] irq\n", i);
1171 netdev_dbg(netdev, "Enabling tx_scrq[%d] irq\n", i);
1184 netif_tx_start_all_queues(netdev);
1195 static int ibmvnic_open(struct net_device *netdev)
1197 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
1209 rc = ibmvnic_login(netdev);
1215 netdev_err(netdev, "failed to initialize resources\n");
1221 rc = __ibmvnic_open(netdev);
1255 netdev_dbg(adapter->netdev, "Cleaning rx_pool[%d]\n", i);
1299 netdev_dbg(adapter->netdev, "Cleaning tx_pool[%d]\n", i);
1307 struct net_device *netdev = adapter->netdev;
1313 netdev_dbg(netdev,
1323 netdev_dbg(netdev,
1332 static void ibmvnic_cleanup(struct net_device *netdev)
1334 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
1338 netif_tx_disable(netdev);
1340 netif_tx_stop_all_queues(netdev);
1349 static int __ibmvnic_close(struct net_device *netdev)
1351 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
1360 static int ibmvnic_close(struct net_device *netdev)
1362 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
1365 netdev_dbg(netdev, "[S:%d FOP:%d FRR:%d] Closing\n",
1377 rc = __ibmvnic_close(netdev);
1378 ibmvnic_cleanup(netdev);
1520 struct net_device *netdev)
1528 if (skb->len < netdev->min_mtu)
1529 return skb_put_padto(skb, netdev->min_mtu);
1534 static netdev_tx_t ibmvnic_xmit(struct sk_buff *skb, struct net_device *netdev)
1536 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
1569 if (ibmvnic_xmit_workarounds(skb, netdev)) {
1581 txq = netdev_get_tx_queue(netdev, skb_get_queue_mapping(skb));
1719 netif_tx_stop_all_queues(netdev);
1720 netif_carrier_off(netdev);
1731 netdev_dbg(netdev, "Stopping queue %d\n", queue_num);
1732 netif_stop_subqueue(netdev, queue_num);
1750 netdev->stats.tx_dropped += tx_dropped;
1751 netdev->stats.tx_bytes += tx_bytes;
1752 netdev->stats.tx_packets += tx_packets;
1762 static void ibmvnic_set_multi(struct net_device *netdev)
1764 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
1772 if (netdev->flags & IFF_PROMISC) {
1776 if (netdev->flags & IFF_ALLMULTI) {
1783 } else if (netdev_mc_empty(netdev)) {
1792 netdev_for_each_mc_addr(ha, netdev) {
1805 static int __ibmvnic_set_mac(struct net_device *netdev, u8 *dev_addr)
1807 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
1833 /* netdev->dev_addr is changed in handle_change_mac_rsp function */
1842 ether_addr_copy(adapter->mac_addr, netdev->dev_addr);
1846 static int ibmvnic_set_mac(struct net_device *netdev, void *p)
1848 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
1858 rc = __ibmvnic_set_mac(netdev, addr->sa_data);
1871 struct net_device *netdev = adapter->netdev;
1874 netdev_dbg(adapter->netdev, "Change param resetting driver (%d)\n",
1877 netif_carrier_off(netdev);
1880 ibmvnic_cleanup(netdev);
1883 rc = __ibmvnic_close(netdev);
1897 netdev_err(adapter->netdev,
1914 rc = ibmvnic_login(netdev);
1930 rc = __ibmvnic_open(netdev);
1937 ibmvnic_set_multi(netdev);
1958 struct net_device *netdev = adapter->netdev;
1961 netdev_dbg(adapter->netdev,
1975 netif_carrier_off(netdev);
1983 ibmvnic_cleanup(netdev);
2023 netdev_err(adapter->netdev,
2030 netdev_err(adapter->netdev,
2049 rc = ibmvnic_login(netdev);
2075 netdev_dbg(adapter->netdev, "reset tx pools failed (%d)\n",
2082 netdev_dbg(adapter->netdev, "reset rx pools failed (%d)\n",
2096 rc = __ibmvnic_open(netdev);
2103 ibmvnic_set_multi(netdev);
2107 call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, netdev);
2108 call_netdevice_notifiers(NETDEV_RESEND_IGMP, netdev);
2119 netdev_dbg(adapter->netdev, "[S:%d FOP:%d] Reset done, rc %d\n",
2127 struct net_device *netdev = adapter->netdev;
2130 netdev_dbg(adapter->netdev, "Hard resetting driver (%d)\n",
2133 netif_carrier_off(netdev);
2136 ibmvnic_cleanup(netdev);
2149 netdev_err(adapter->netdev,
2164 rc = ibmvnic_login(netdev);
2178 rc = __ibmvnic_open(netdev);
2184 call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, netdev);
2185 call_netdevice_notifiers(NETDEV_RESEND_IGMP, netdev);
2190 netdev_dbg(adapter->netdev, "[S:%d FOP:%d] Hard reset done, rc %d\n",
2273 netdev_dbg(adapter->netdev,
2286 netdev_dbg(adapter->netdev, "Reset failed, rc=%d\n", rc);
2302 netdev_dbg(adapter->netdev,
2322 struct net_device *netdev = adapter->netdev;
2338 netdev_dbg(netdev, "Adapter removing or pending failover, skipping reset\n");
2343 netdev_warn(netdev, "Adapter reset during probe\n");
2352 netdev_dbg(netdev, "Skipping matching reset, reason=%d\n",
2375 netdev_dbg(adapter->netdev, "Scheduling reset (reason %d)\n", reason);
2384 ibmvnic_close(netdev);
2394 netdev_err(adapter->netdev,
2423 struct net_device *netdev = napi->dev;
2424 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
2458 netdev_dbg(netdev, "rx buffer returned with rc %x\n",
2494 skb->protocol = eth_type_trans(skb, netdev);
2504 netdev->stats.rx_packets++;
2505 netdev->stats.rx_bytes += length;
2579 static int ibmvnic_change_mtu(struct net_device *netdev, int new_mtu)
2581 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
2619 static int ibmvnic_get_link_ksettings(struct net_device *netdev,
2622 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
2639 static void ibmvnic_get_drvinfo(struct net_device *netdev,
2642 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
2650 static u32 ibmvnic_get_msglevel(struct net_device *netdev)
2652 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
2657 static void ibmvnic_set_msglevel(struct net_device *netdev, u32 data)
2659 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
2664 static u32 ibmvnic_get_link(struct net_device *netdev)
2666 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
2674 static void ibmvnic_get_ringparam(struct net_device *netdev,
2677 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
2689 static int ibmvnic_set_ringparam(struct net_device *netdev,
2692 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
2696 netdev_err(netdev, "Invalid request.\n");
2697 netdev_err(netdev, "Max tx buffers = %llu\n",
2699 netdev_err(netdev, "Max rx buffers = %llu\n",
2710 static void ibmvnic_get_channels(struct net_device *netdev,
2713 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
2725 static int ibmvnic_set_channels(struct net_device *netdev,
2728 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
2854 netdev_dbg(adapter->netdev, "Invalid scrq reset.\n");
2868 netdev_dbg(adapter->netdev, "Invalid scrq reset\n");
2885 netdev_dbg(adapter->netdev, "Re-setting tx_scrq[%d]\n", i);
2892 netdev_dbg(adapter->netdev, "Re-setting rx_scrq[%d]\n", i);
2908 netdev_dbg(adapter->netdev, "Releasing sub-CRQ\n");
2919 netdev_err(adapter->netdev,
2973 netdev_dbg(adapter->netdev,
2999 netdev_dbg(adapter->netdev, "Releasing tx_scrq[%d]\n",
3022 netdev_dbg(adapter->netdev, "Releasing rx_scrq[%d]\n",
3148 __netif_subqueue_stopped(adapter->netdev,
3150 netif_wake_subqueue(adapter->netdev, scrq->pool_index);
3151 netdev_dbg(adapter->netdev, "Started queue %d\n",
3206 netdev_dbg(adapter->netdev, "Initializing tx_scrq[%d] irq\n",
3231 netdev_dbg(adapter->netdev, "Initializing rx_scrq[%d] irq\n",
3301 netdev_dbg(adapter->netdev, "Reducing number of queues\n");
3365 if (!(adapter->netdev->flags & IFF_PROMISC) ||
3386 adapter->req_mtu = adapter->netdev->mtu + ETH_HLEN;
3478 if (adapter->netdev->flags & IFF_PROMISC) {
3578 netdev_dbg(adapter->netdev,
3629 netdev_dbg(adapter->netdev, "Sending CRQ: %016lx %016lx\n",
3668 netdev_dbg(adapter->netdev, "Sending CRQ init\n");
3716 len += strlen(adapter->netdev->name) + 1;
3743 len = strlen(adapter->netdev->name) + 1;
3745 strncpy(vlcd->name, adapter->netdev->name, len);
3766 netdev_err(adapter->netdev,
3857 netdev_dbg(adapter->netdev, "Login Buffer:\n");
3859 netdev_dbg(adapter->netdev, "%016lx\n",
3873 netdev_err(adapter->netdev, "Failed to send login, rc=%d\n", rc);
4124 old_hw_features = adapter->netdev->hw_features;
4125 adapter->netdev->hw_features = 0;
4128 adapter->netdev->hw_features = NETIF_F_SG | NETIF_F_GSO | NETIF_F_GRO;
4131 adapter->netdev->hw_features |= NETIF_F_IP_CSUM;
4134 adapter->netdev->hw_features |= NETIF_F_IPV6_CSUM;
4136 if ((adapter->netdev->features &
4138 adapter->netdev->hw_features |= NETIF_F_RXCSUM;
4141 adapter->netdev->hw_features |= NETIF_F_TSO;
4143 adapter->netdev->hw_features |= NETIF_F_TSO6;
4146 adapter->netdev->features |= adapter->netdev->hw_features;
4147 } else if (old_hw_features != adapter->netdev->hw_features) {
4151 adapter->netdev->features &= adapter->netdev->hw_features;
4153 tmp = (old_hw_features ^ adapter->netdev->hw_features) &
4154 adapter->netdev->hw_features;
4155 adapter->netdev->features |=
4156 tmp & adapter->netdev->wanted_features;
4242 netdev_dbg(adapter->netdev, "Query IP Offload Buffer:\n");
4244 netdev_dbg(adapter->netdev, "%016lx\n",
4247 netdev_dbg(adapter->netdev, "ipv4_chksum = %d\n", buf->ipv4_chksum);
4248 netdev_dbg(adapter->netdev, "ipv6_chksum = %d\n", buf->ipv6_chksum);
4249 netdev_dbg(adapter->netdev, "tcp_ipv4_chksum = %d\n",
4251 netdev_dbg(adapter->netdev, "tcp_ipv6_chksum = %d\n",
4253 netdev_dbg(adapter->netdev, "udp_ipv4_chksum = %d\n",
4255 netdev_dbg(adapter->netdev, "udp_ipv6_chksum = %d\n",
4257 netdev_dbg(adapter->netdev, "large_tx_ipv4 = %d\n",
4259 netdev_dbg(adapter->netdev, "large_tx_ipv6 = %d\n",
4261 netdev_dbg(adapter->netdev, "large_rx_ipv4 = %d\n",
4263 netdev_dbg(adapter->netdev, "large_rx_ipv6 = %d\n",
4265 netdev_dbg(adapter->netdev, "max_ipv4_hdr_sz = %d\n",
4267 netdev_dbg(adapter->netdev, "max_ipv6_hdr_sz = %d\n",
4269 netdev_dbg(adapter->netdev, "max_tcp_hdr_size = %d\n",
4271 netdev_dbg(adapter->netdev, "max_udp_hdr_size = %d\n",
4273 netdev_dbg(adapter->netdev, "max_large_tx_size = %d\n",
4275 netdev_dbg(adapter->netdev, "max_large_rx_size = %d\n",
4277 netdev_dbg(adapter->netdev, "ipv6_ext_hdr = %d\n",
4279 netdev_dbg(adapter->netdev, "tcp_pseudosum_req = %d\n",
4281 netdev_dbg(adapter->netdev, "num_ipv6_ext_hd = %d\n",
4283 netdev_dbg(adapter->netdev, "off_ipv6_ext_hd = %d\n",
4334 struct net_device *netdev = adapter->netdev;
4346 ether_addr_copy(netdev->dev_addr,
4363 netdev_dbg(adapter->netdev, "Outstanding request-caps: %d\n",
4438 struct net_device *netdev = adapter->netdev;
4453 netdev_warn(netdev, "Ignoring unexpected login response\n");
4470 netdev_dbg(netdev, "Failover pending, ignoring login response\n");
4476 netdev->mtu = adapter->req_mtu - ETH_HLEN;
4478 netdev_dbg(adapter->netdev, "Login Response Buffer:\n");
4480 netdev_dbg(adapter->netdev, "%016lx\n",
4554 struct net_device *netdev = adapter->netdev;
4563 netdev_dbg(netdev, "page_size = %d\ntot_pages = %d\nfree_pages = %d\n",
4571 struct net_device *netdev = adapter->netdev;
4576 netdev_dbg(netdev, "Outstanding queries: %d\n",
4588 netdev_dbg(netdev, "min_tx_queues = %lld\n",
4594 netdev_dbg(netdev, "min_rx_queues = %lld\n",
4600 netdev_dbg(netdev, "min_rx_add_queues = %lld\n",
4606 netdev_dbg(netdev, "max_tx_queues = %lld\n",
4612 netdev_dbg(netdev, "max_rx_queues = %lld\n",
4618 netdev_dbg(netdev, "max_rx_add_queues = %lld\n",
4624 netdev_dbg(netdev, "min_tx_entries_per_subcrq = %lld\n",
4630 netdev_dbg(netdev, "min_rx_add_entrs_per_subcrq = %lld\n",
4636 netdev_dbg(netdev, "max_tx_entries_per_subcrq = %lld\n",
4642 netdev_dbg(netdev, "max_rx_add_entrs_per_subcrq = %lld\n",
4648 netdev_dbg(netdev, "tcp_ip_offload = %lld\n",
4654 netdev_dbg(netdev, "promisc_supported = %lld\n",
4659 netdev->min_mtu = adapter->min_mtu - ETH_HLEN;
4660 netdev_dbg(netdev, "min_mtu = %lld\n", adapter->min_mtu);
4664 netdev->max_mtu = adapter->max_mtu - ETH_HLEN;
4665 netdev_dbg(netdev, "max_mtu = %lld\n", adapter->max_mtu);
4670 netdev_dbg(netdev, "max_multicast_filters = %lld\n",
4677 netdev->features |= NETIF_F_HW_VLAN_STAG_TX;
4678 netdev_dbg(netdev, "vlan_header_insertion = %lld\n",
4684 netdev_dbg(netdev, "rx_vlan_header_insertion = %lld\n",
4690 netdev_dbg(netdev, "max_tx_sg_entries = %lld\n",
4696 netdev_dbg(netdev, "rx_sg_supported = %lld\n",
4702 netdev_dbg(netdev, "opt_tx_comp_sub_queues = %lld\n",
4708 netdev_dbg(netdev, "opt_rx_comp_queues = %lld\n",
4714 netdev_dbg(netdev, "opt_rx_bufadd_q_per_rx_comp_q = %lld\n",
4720 netdev_dbg(netdev, "opt_tx_entries_per_subcrq = %lld\n",
4726 netdev_dbg(netdev, "opt_rxba_entries_per_subcrq = %lld\n",
4731 netdev_dbg(netdev, "tx_rx_desc_req = %llx\n",
4736 netdev_err(netdev, "Got invalid cap rsp %d\n",
4779 struct net_device *netdev = adapter->netdev;
4785 netdev_err(netdev, "Error %d in QUERY_PHYS_PARMS\n", rc);
4817 if (netif_carrier_ok(netdev))
4818 netdev_warn(netdev, "Unknown speed 0x%08x\n", rspeed);
4835 struct net_device *netdev = adapter->netdev;
4840 netdev_dbg(netdev, "Handling CRQ: %016lx %016lx\n",
4869 netdev_err(netdev,
4885 netif_carrier_off(netdev);
4956 netdev_dbg(netdev, "Got Login Response\n");
4960 netdev_dbg(netdev,
4970 netdev_dbg(netdev, "Got Logical Link State Indication\n");
4976 netif_carrier_on(netdev);
4978 netif_carrier_off(netdev);
4981 netdev_dbg(netdev, "Got MAC address change Response\n");
4985 netdev_dbg(netdev, "Got Error Indication\n");
4989 netdev_dbg(netdev, "Got Statistics Response\n");
4993 netdev_dbg(netdev, "Got Query IP offload Response\n");
4997 netdev_dbg(netdev, "Got multicast control Response\n");
5000 netdev_dbg(netdev, "Got Control IP offload Response\n");
5007 netdev_dbg(netdev, "Got Collect firmware trace Response\n");
5021 netdev_err(netdev, "Got an invalid cmd type 0x%02x\n",
5121 netdev_dbg(adapter->netdev, "Releasing CRQ\n");
5176 netdev_dbg(adapter->netdev, "registering irq 0x%x\n", vdev->irq);
5292 struct net_device *netdev;
5308 netdev = alloc_etherdev_mq(sizeof(struct ibmvnic_adapter),
5310 if (!netdev)
5313 adapter = netdev_priv(netdev);
5315 dev_set_drvdata(&dev->dev, netdev);
5317 adapter->netdev = netdev;
5321 ether_addr_copy(netdev->dev_addr, adapter->mac_addr);
5322 netdev->irq = dev->irq;
5323 netdev->netdev_ops = &ibmvnic_netdev_ops;
5324 netdev->ethtool_ops = &ibmvnic_ethtool_ops;
5325 SET_NETDEV_DEV(netdev, &dev->dev);
5363 netdev->mtu = adapter->req_mtu - ETH_HLEN;
5364 netdev->min_mtu = adapter->min_mtu - ETH_HLEN;
5365 netdev->max_mtu = adapter->max_mtu - ETH_HLEN;
5371 netif_carrier_off(netdev);
5378 rc = register_netdev(netdev);
5380 dev_err(&dev->dev, "failed to register netdev rc=%d\n", rc);
5400 free_netdev(netdev);
5407 struct net_device *netdev = dev_get_drvdata(&dev->dev);
5408 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
5430 unregister_netdevice(netdev);
5444 free_netdev(netdev);
5453 struct net_device *netdev = dev_get_drvdata(dev);
5454 struct ibmvnic_adapter *adapter = netdev_priv(netdev);
5465 netdev_err(netdev, "Couldn't retrieve session token, rc %ld\n",
5471 netdev_dbg(netdev, "Initiating client failover, session id %llx\n",
5476 netdev_err(netdev, "Client initiated failover failed, rc %ld\n",
5488 struct net_device *netdev = dev_get_drvdata(&vdev->dev);
5496 /* netdev inits at probe time along with the structures we need below*/
5497 if (!netdev)
5500 adapter = netdev_priv(netdev);
5517 struct net_device *netdev = dev_get_drvdata(dev);
5518 struct ibmvnic_adapter *adapter = netdev_priv(netdev);