• Home
  • Raw
  • Download

Lines Matching refs:mdev

196 		rc = mlx4_flow_detach(priv->mdev->dev, filter->reg_id);  in mlx4_en_filter_work()
201 rc = mlx4_flow_attach(priv->mdev->dev, &rule, &filter->reg_id); in mlx4_en_filter_work()
267 rc = mlx4_flow_detach(priv->mdev->dev, filter->reg_id); in mlx4_en_filter_free()
352 queue_work(priv->mdev->workqueue, &filter->work); in mlx4_en_filter_rfs()
418 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_vlan_rx_add_vid() local
427 mutex_lock(&mdev->state_lock); in mlx4_en_vlan_rx_add_vid()
428 if (mdev->device_up && priv->port_up) { in mlx4_en_vlan_rx_add_vid()
429 err = mlx4_SET_VLAN_FLTR(mdev->dev, priv); in mlx4_en_vlan_rx_add_vid()
435 err = mlx4_register_vlan(mdev->dev, priv->port, vid, &idx); in mlx4_en_vlan_rx_add_vid()
440 mutex_unlock(&mdev->state_lock); in mlx4_en_vlan_rx_add_vid()
448 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_vlan_rx_kill_vid() local
456 mutex_lock(&mdev->state_lock); in mlx4_en_vlan_rx_kill_vid()
457 mlx4_unregister_vlan(mdev->dev, priv->port, vid); in mlx4_en_vlan_rx_kill_vid()
459 if (mdev->device_up && priv->port_up) { in mlx4_en_vlan_rx_kill_vid()
460 err = mlx4_SET_VLAN_FLTR(mdev->dev, priv); in mlx4_en_vlan_rx_kill_vid()
464 mutex_unlock(&mdev->state_lock); in mlx4_en_vlan_rx_kill_vid()
485 if (priv->mdev->dev->caps.tunnel_offload_mode != MLX4_TUNNEL_OFFLOAD_MODE_VXLAN || in mlx4_en_tunnel_steer_add()
486 priv->mdev->dev->caps.dmfs_high_steer_mode == MLX4_STEERING_DMFS_A0_STATIC) in mlx4_en_tunnel_steer_add()
489 err = mlx4_tunnel_steer_add(priv->mdev->dev, addr, priv->port, qpn, in mlx4_en_tunnel_steer_add()
503 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_uc_steer_add() local
504 struct mlx4_dev *dev = mdev->dev; in mlx4_en_uc_steer_add()
555 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_uc_steer_release() local
556 struct mlx4_dev *dev = mdev->dev; in mlx4_en_uc_steer_release()
581 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_get_qp() local
582 struct mlx4_dev *dev = mdev->dev; in mlx4_en_get_qp()
617 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_put_qp() local
618 struct mlx4_dev *dev = mdev->dev; in mlx4_en_put_qp()
637 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_replace_mac() local
638 struct mlx4_dev *dev = mdev->dev; in mlx4_en_replace_mac()
670 mlx4_flow_detach(priv->mdev->dev, priv->tunnel_reg_id); in mlx4_en_replace_mac()
707 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_set_mac() local
715 mutex_lock(&mdev->state_lock); in mlx4_en_set_mac()
720 mutex_unlock(&mdev->state_lock); in mlx4_en_set_mac()
808 queue_work(priv->mdev->workqueue, &priv->rx_mode_task); in mlx4_en_set_rx_mode()
812 struct mlx4_en_dev *mdev) in mlx4_en_set_promisc_mode() argument
822 switch (mdev->dev->caps.steering_mode) { in mlx4_en_set_promisc_mode()
824 err = mlx4_flow_steer_promisc_add(mdev->dev, in mlx4_en_set_promisc_mode()
834 err = mlx4_unicast_promisc_add(mdev->dev, in mlx4_en_set_promisc_mode()
844 err = mlx4_multicast_promisc_add(mdev->dev, in mlx4_en_set_promisc_mode()
854 err = mlx4_SET_PORT_qpn_calc(mdev->dev, in mlx4_en_set_promisc_mode()
864 err = mlx4_SET_MCAST_FLTR(mdev->dev, priv->port, 0, in mlx4_en_set_promisc_mode()
872 struct mlx4_en_dev *mdev) in mlx4_en_clear_promisc_mode() argument
881 switch (mdev->dev->caps.steering_mode) { in mlx4_en_clear_promisc_mode()
883 err = mlx4_flow_steer_promisc_remove(mdev->dev, in mlx4_en_clear_promisc_mode()
892 err = mlx4_unicast_promisc_remove(mdev->dev, in mlx4_en_clear_promisc_mode()
899 err = mlx4_multicast_promisc_remove(mdev->dev, in mlx4_en_clear_promisc_mode()
909 err = mlx4_SET_PORT_qpn_calc(mdev->dev, in mlx4_en_clear_promisc_mode()
920 struct mlx4_en_dev *mdev) in mlx4_en_do_multicast() argument
929 err = mlx4_SET_MCAST_FLTR(mdev->dev, priv->port, 0, in mlx4_en_do_multicast()
936 switch (mdev->dev->caps.steering_mode) { in mlx4_en_do_multicast()
938 err = mlx4_flow_steer_promisc_add(mdev->dev, in mlx4_en_do_multicast()
945 err = mlx4_multicast_promisc_add(mdev->dev, in mlx4_en_do_multicast()
960 switch (mdev->dev->caps.steering_mode) { in mlx4_en_do_multicast()
962 err = mlx4_flow_steer_promisc_remove(mdev->dev, in mlx4_en_do_multicast()
968 err = mlx4_multicast_promisc_remove(mdev->dev, in mlx4_en_do_multicast()
981 err = mlx4_SET_MCAST_FLTR(mdev->dev, priv->port, 0, in mlx4_en_do_multicast()
987 mlx4_SET_MCAST_FLTR(mdev->dev, priv->port, ETH_BCAST, in mlx4_en_do_multicast()
997 mlx4_SET_MCAST_FLTR(mdev->dev, priv->port, in mlx4_en_do_multicast()
1000 err = mlx4_SET_MCAST_FLTR(mdev->dev, priv->port, 0, in mlx4_en_do_multicast()
1011 err = mlx4_multicast_detach(mdev->dev, in mlx4_en_do_multicast()
1020 err = mlx4_flow_detach(priv->mdev->dev, mclist->tunnel_reg_id); in mlx4_en_do_multicast()
1033 err = mlx4_multicast_attach(mdev->dev, in mlx4_en_do_multicast()
1053 struct mlx4_en_dev *mdev) in mlx4_en_do_uc_filter() argument
1093 mlx4_unregister_mac(mdev->dev, priv->port, mac); in mlx4_en_do_uc_filter()
1134 err = mlx4_register_mac(mdev->dev, priv->port, mac); in mlx4_en_do_uc_filter()
1148 mlx4_unregister_mac(mdev->dev, priv->port, mac); in mlx4_en_do_uc_filter()
1176 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_do_set_rx_mode() local
1179 mutex_lock(&mdev->state_lock); in mlx4_en_do_set_rx_mode()
1180 if (!mdev->device_up) { in mlx4_en_do_set_rx_mode()
1190 if (!mlx4_en_QUERY_PORT(mdev, priv->port)) { in mlx4_en_do_set_rx_mode()
1200 mlx4_en_do_uc_filter(priv, dev, mdev); in mlx4_en_do_set_rx_mode()
1205 mlx4_en_set_promisc_mode(priv, mdev); in mlx4_en_do_set_rx_mode()
1211 mlx4_en_clear_promisc_mode(priv, mdev); in mlx4_en_do_set_rx_mode()
1213 mlx4_en_do_multicast(priv, dev, mdev); in mlx4_en_do_set_rx_mode()
1215 mutex_unlock(&mdev->state_lock); in mlx4_en_do_set_rx_mode()
1264 mlx4_flow_detach(priv->mdev->dev, priv->tunnel_reg_id); in mlx4_en_set_rss_steer_rules()
1289 mlx4_unregister_mac(priv->mdev->dev, priv->port, mac); in mlx4_en_delete_rss_steer_rules()
1296 mlx4_flow_detach(priv->mdev->dev, priv->tunnel_reg_id); in mlx4_en_delete_rss_steer_rules()
1304 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_tx_timeout() local
1321 queue_work(mdev->workqueue, &priv->restart_task); in mlx4_en_tx_timeout()
1450 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_do_get_stats() local
1453 mutex_lock(&mdev->state_lock); in mlx4_en_do_get_stats()
1454 if (mdev->device_up) { in mlx4_en_do_get_stats()
1456 err = mlx4_en_DUMP_ETH_STATS(mdev, priv->port, 0); in mlx4_en_do_get_stats()
1463 queue_delayed_work(mdev->workqueue, &priv->stats_task, STATS_DELAY); in mlx4_en_do_get_stats()
1465 if (mdev->mac_removed[MLX4_MAX_PORTS + 1 - priv->port]) { in mlx4_en_do_get_stats()
1467 mdev->mac_removed[MLX4_MAX_PORTS + 1 - priv->port] = 0; in mlx4_en_do_get_stats()
1469 mutex_unlock(&mdev->state_lock); in mlx4_en_do_get_stats()
1480 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_service_task() local
1482 mutex_lock(&mdev->state_lock); in mlx4_en_service_task()
1483 if (mdev->device_up) { in mlx4_en_service_task()
1484 if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_TS) in mlx4_en_service_task()
1485 mlx4_en_ptp_overflow_check(mdev); in mlx4_en_service_task()
1488 queue_delayed_work(mdev->workqueue, &priv->service_task, in mlx4_en_service_task()
1491 mutex_unlock(&mdev->state_lock); in mlx4_en_service_task()
1498 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_linkstate() local
1501 mutex_lock(&mdev->state_lock); in mlx4_en_linkstate()
1514 mutex_unlock(&mdev->state_lock); in mlx4_en_linkstate()
1520 int numa_node = priv->mdev->dev->numa_node; in mlx4_en_init_affinity_hint()
1538 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_start_port() local
1615 mdev->mac_removed[priv->port] = 0; in mlx4_en_start_port()
1618 mlx4_get_default_counter_index(mdev->dev, priv->port); in mlx4_en_start_port()
1669 err = mlx4_SET_PORT_general(mdev->dev, priv->port, in mlx4_en_start_port()
1681 err = mlx4_SET_PORT_qpn_calc(mdev->dev, priv->port, priv->base_qpn, 0); in mlx4_en_start_port()
1687 if (mdev->dev->caps.tunnel_offload_mode == MLX4_TUNNEL_OFFLOAD_MODE_VXLAN) { in mlx4_en_start_port()
1688 err = mlx4_SET_PORT_VXLAN(mdev->dev, priv->port, VXLAN_STEER_BY_OUTER_MAC, 1); in mlx4_en_start_port()
1698 err = mlx4_INIT_PORT(mdev->dev, priv->port); in mlx4_en_start_port()
1705 if (mdev->dev->caps.steering_mode != MLX4_STEERING_MODE_A0 && in mlx4_en_start_port()
1707 mlx4_warn(mdev, "Failed setting steering rules\n"); in mlx4_en_start_port()
1712 if (mlx4_multicast_attach(mdev->dev, &priv->rss_map.indir_qp, mc_list, in mlx4_en_start_port()
1715 mlx4_warn(mdev, "Failed Attaching Broadcast\n"); in mlx4_en_start_port()
1721 queue_work(mdev->workqueue, &priv->rx_mode_task); in mlx4_en_start_port()
1724 if (priv->mdev->dev->caps.tunnel_offload_mode == MLX4_TUNNEL_OFFLOAD_MODE_VXLAN) in mlx4_en_start_port()
1769 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_stop_port() local
1781 mlx4_CLOSE_PORT(mdev->dev, priv->port); in mlx4_en_stop_port()
1794 priv->counter_index = MLX4_SINK_COUNTER_INDEX(mdev->dev); in mlx4_en_stop_port()
1797 if (mdev->dev->caps.steering_mode == in mlx4_en_stop_port()
1801 mlx4_flow_steer_promisc_remove(mdev->dev, in mlx4_en_stop_port()
1804 mlx4_flow_steer_promisc_remove(mdev->dev, in mlx4_en_stop_port()
1811 mlx4_unicast_promisc_remove(mdev->dev, priv->base_qpn, in mlx4_en_stop_port()
1816 mlx4_multicast_promisc_remove(mdev->dev, priv->base_qpn, in mlx4_en_stop_port()
1825 mlx4_multicast_detach(mdev->dev, &priv->rss_map.indir_qp, mc_list, in mlx4_en_stop_port()
1830 mlx4_multicast_detach(mdev->dev, &priv->rss_map.indir_qp, in mlx4_en_stop_port()
1833 mlx4_flow_detach(mdev->dev, mclist->tunnel_reg_id); in mlx4_en_stop_port()
1842 mlx4_SET_MCAST_FLTR(mdev->dev, priv->port, 0, 1, MLX4_MCAST_CONFIG); in mlx4_en_stop_port()
1845 if (mdev->dev->caps.steering_mode == in mlx4_en_stop_port()
1850 mlx4_flow_detach(mdev->dev, flow->id); in mlx4_en_stop_port()
1867 if (mdev->dev->caps.steering_mode != MLX4_STEERING_MODE_A0) in mlx4_en_stop_port()
1875 if (!(mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_REASSIGN_MAC_EN)) in mlx4_en_stop_port()
1876 mdev->mac_removed[priv->port] = 1; in mlx4_en_stop_port()
1901 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_restart() local
1906 mutex_lock(&mdev->state_lock); in mlx4_en_restart()
1912 mutex_unlock(&mdev->state_lock); in mlx4_en_restart()
1918 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_clear_stats() local
1921 if (mlx4_en_DUMP_ETH_STATS(mdev, priv->port, 1)) in mlx4_en_clear_stats()
1953 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_open() local
1956 mutex_lock(&mdev->state_lock); in mlx4_en_open()
1958 if (!mdev->device_up) { in mlx4_en_open()
1972 mutex_unlock(&mdev->state_lock); in mlx4_en_open()
1980 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_close() local
1984 mutex_lock(&mdev->state_lock); in mlx4_en_close()
1989 mutex_unlock(&mdev->state_lock); in mlx4_en_close()
2051 priv->dev->rx_cpu_rmap = mlx4_get_cpu_rmap(priv->mdev->dev, priv->port); in mlx4_en_alloc_resources()
2079 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_destroy_netdev() local
2088 mlx4_free_hwq_res(mdev->dev, &priv->res, MLX4_EN_PAGE_SIZE); in mlx4_en_destroy_netdev()
2093 flush_workqueue(mdev->workqueue); in mlx4_en_destroy_netdev()
2095 if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_TS) in mlx4_en_destroy_netdev()
2096 mlx4_en_remove_timestamp(mdev); in mlx4_en_destroy_netdev()
2099 mutex_lock(&mdev->state_lock); in mlx4_en_destroy_netdev()
2100 mdev->pndev[priv->port] = NULL; in mlx4_en_destroy_netdev()
2101 mdev->upper[priv->port] = NULL; in mlx4_en_destroy_netdev()
2102 mutex_unlock(&mdev->state_lock); in mlx4_en_destroy_netdev()
2115 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_change_mtu() local
2128 mutex_lock(&mdev->state_lock); in mlx4_en_change_mtu()
2129 if (!mdev->device_up) { in mlx4_en_change_mtu()
2141 queue_work(mdev->workqueue, &priv->restart_task); in mlx4_en_change_mtu()
2144 mutex_unlock(&mdev->state_lock); in mlx4_en_change_mtu()
2152 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_hwtstamp_set() local
2163 if (!(mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_TS)) in mlx4_en_hwtstamp_set()
2232 struct mlx4_en_dev *mdev = en_priv->mdev; in mlx4_en_fix_features() local
2239 !(mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_SKIP_OUTER_VLAN)) in mlx4_en_fix_features()
2265 ret = mlx4_SET_PORT_fcs_check(priv->mdev->dev, in mlx4_en_set_features()
2304 struct mlx4_en_dev *mdev = en_priv->mdev; in mlx4_en_set_vf_mac() local
2310 return mlx4_set_vf_mac(mdev->dev, en_priv->port, queue, mac_u64); in mlx4_en_set_vf_mac()
2316 struct mlx4_en_dev *mdev = en_priv->mdev; in mlx4_en_set_vf_vlan() local
2318 return mlx4_set_vf_vlan(mdev->dev, en_priv->port, vf, vlan, qos); in mlx4_en_set_vf_vlan()
2325 struct mlx4_en_dev *mdev = en_priv->mdev; in mlx4_en_set_vf_rate() local
2327 return mlx4_set_vf_rate(mdev->dev, en_priv->port, vf, min_tx_rate, in mlx4_en_set_vf_rate()
2334 struct mlx4_en_dev *mdev = en_priv->mdev; in mlx4_en_set_vf_spoofchk() local
2336 return mlx4_set_vf_spoofchk(mdev->dev, en_priv->port, vf, setting); in mlx4_en_set_vf_spoofchk()
2342 struct mlx4_en_dev *mdev = en_priv->mdev; in mlx4_en_get_vf_config() local
2344 return mlx4_get_vf_config(mdev->dev, en_priv->port, vf, ivf); in mlx4_en_get_vf_config()
2350 struct mlx4_en_dev *mdev = en_priv->mdev; in mlx4_en_set_vf_link_state() local
2352 return mlx4_set_vf_link_state(mdev->dev, en_priv->port, vf, link_state); in mlx4_en_set_vf_link_state()
2359 struct mlx4_en_dev *mdev = en_priv->mdev; in mlx4_en_get_vf_stats() local
2361 return mlx4_get_vf_stats(mdev->dev, en_priv->port, vf, vf_stats); in mlx4_en_get_vf_stats()
2369 struct mlx4_dev *mdev = priv->mdev->dev; in mlx4_en_get_phys_port_id() local
2371 u64 phys_port_id = mdev->caps.phys_port_id[priv->port]; in mlx4_en_get_phys_port_id()
2391 ret = mlx4_config_vxlan_port(priv->mdev->dev, priv->vxlan_port); in mlx4_en_add_vxlan_offloads()
2395 ret = mlx4_SET_PORT_VXLAN(priv->mdev->dev, priv->port, in mlx4_en_add_vxlan_offloads()
2417 ret = mlx4_SET_PORT_VXLAN(priv->mdev->dev, priv->port, in mlx4_en_del_vxlan_offloads()
2431 if (priv->mdev->dev->caps.tunnel_offload_mode != MLX4_TUNNEL_OFFLOAD_MODE_VXLAN) in mlx4_en_add_vxlan_port()
2445 queue_work(priv->mdev->workqueue, &priv->vxlan_add_task); in mlx4_en_add_vxlan_port()
2454 if (priv->mdev->dev->caps.tunnel_offload_mode != MLX4_TUNNEL_OFFLOAD_MODE_VXLAN) in mlx4_en_del_vxlan_port()
2466 queue_work(priv->mdev->workqueue, &priv->vxlan_del_task); in mlx4_en_del_vxlan_port()
2485 if (!(priv->mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_QP_RATE_LIMIT)) in mlx4_en_set_tx_maxrate()
2500 err = mlx4_update_qp(priv->mdev->dev, tx_ring->qpn, MLX4_UPDATE_QP_RATE_LIMIT, in mlx4_en_set_tx_maxrate()
2591 struct mlx4_dev *dev = bond->priv->mdev->dev; in mlx4_en_bond_work()
2631 queue_work(priv->mdev->workqueue, &bond->work); in mlx4_en_queue_bond_work()
2640 struct mlx4_en_dev *mdev; in mlx4_en_netdev_event() local
2651 mdev = container_of(this, struct mlx4_en_dev, nb); in mlx4_en_netdev_event()
2652 dev = mdev->dev; in mlx4_en_netdev_event()
2659 if (!port && (mdev->pndev[i] == ndev)) in mlx4_en_netdev_event()
2661 mdev->upper[i] = mdev->pndev[i] ? in mlx4_en_netdev_event()
2662 netdev_master_upper_dev_get(mdev->pndev[i]) : NULL; in mlx4_en_netdev_event()
2664 if (!mdev->upper[i]) in mlx4_en_netdev_event()
2669 if (mdev->upper[i] != mdev->upper[i-1]) in mlx4_en_netdev_event()
2833 int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, in mlx4_en_init_netdev() argument
2849 SET_NETDEV_DEV(dev, &mdev->dev->persist->pdev->dev); in mlx4_en_init_netdev()
2858 priv->counter_index = MLX4_SINK_COUNTER_INDEX(mdev->dev); in mlx4_en_init_netdev()
2875 priv->mdev = mdev; in mlx4_en_init_netdev()
2876 priv->ddev = &mdev->pdev->dev; in mlx4_en_init_netdev()
2884 priv->num_tx_rings_p_up = mdev->profile.num_tx_rings_p_up; in mlx4_en_init_netdev()
2902 priv->cqe_factor = (mdev->dev->caps.cqe_size == 64) ? 1 : 0; in mlx4_en_init_netdev()
2903 priv->cqe_size = mdev->dev->caps.cqe_size; in mlx4_en_init_netdev()
2907 if (!mlx4_is_slave(priv->mdev->dev)) { in mlx4_en_init_netdev()
2908 if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_ETS_CFG) { in mlx4_en_init_netdev()
2921 priv->max_mtu = mdev->dev->caps.eth_mtu_cap[priv->port]; in mlx4_en_init_netdev()
2923 if (mdev->dev->caps.rx_checksum_flags_port[priv->port] & in mlx4_en_init_netdev()
2929 mlx4_en_u64_to_mac(dev->dev_addr, mdev->dev->caps.def_mac[priv->port]); in mlx4_en_init_netdev()
2935 } else if (mlx4_is_slave(priv->mdev->dev) && in mlx4_en_init_netdev()
2936 (priv->mdev->dev->port_random_macs & 1 << priv->port)) { in mlx4_en_init_netdev()
2958 err = mlx4_alloc_hwq_res(mdev->dev, &priv->res, in mlx4_en_init_netdev()
2969 if (mlx4_is_master(priv->mdev->dev)) in mlx4_en_init_netdev()
2983 if (mdev->LSO_support) in mlx4_en_init_netdev()
2995 if (!(mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_SKIP_OUTER_VLAN)) { in mlx4_en_init_netdev()
3001 if (mlx4_is_slave(mdev->dev)) { in mlx4_en_init_netdev()
3004 err = get_phv_bit(mdev->dev, port, &phv); in mlx4_en_init_netdev()
3010 if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_PHV_EN && in mlx4_en_init_netdev()
3011 !(mdev->dev->caps.flags2 & in mlx4_en_init_netdev()
3016 if (mdev->dev->caps.flags & MLX4_DEV_CAP_FLAG_FCS_KEEP) in mlx4_en_init_netdev()
3019 if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_IGNORE_FCS) in mlx4_en_init_netdev()
3022 if (mdev->dev->caps.steering_mode == in mlx4_en_init_netdev()
3024 mdev->dev->caps.dmfs_high_steer_mode != MLX4_STEERING_DMFS_A0_STATIC) in mlx4_en_init_netdev()
3027 if (mdev->dev->caps.steering_mode != MLX4_STEERING_MODE_A0) in mlx4_en_init_netdev()
3031 if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_RSS_TOP) { in mlx4_en_init_netdev()
3033 } else if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_RSS_XOR) { in mlx4_en_init_netdev()
3041 if (mdev->dev->caps.tunnel_offload_mode == MLX4_TUNNEL_OFFLOAD_MODE_VXLAN) { in mlx4_en_init_netdev()
3046 mdev->pndev[port] = dev; in mlx4_en_init_netdev()
3047 mdev->upper[port] = NULL; in mlx4_en_init_netdev()
3059 err = mlx4_SET_PORT_general(mdev->dev, priv->port, in mlx4_en_init_netdev()
3069 if (mdev->dev->caps.tunnel_offload_mode == MLX4_TUNNEL_OFFLOAD_MODE_VXLAN) { in mlx4_en_init_netdev()
3070 err = mlx4_SET_PORT_VXLAN(mdev->dev, priv->port, VXLAN_STEER_BY_OUTER_MAC, 1); in mlx4_en_init_netdev()
3080 err = mlx4_INIT_PORT(mdev->dev, priv->port); in mlx4_en_init_netdev()
3085 queue_delayed_work(mdev->workqueue, &priv->stats_task, STATS_DELAY); in mlx4_en_init_netdev()
3088 if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_TS) in mlx4_en_init_netdev()
3089 mlx4_en_init_timestamp(mdev); in mlx4_en_init_netdev()
3091 queue_delayed_work(mdev->workqueue, &priv->service_task, in mlx4_en_init_netdev()
3094 mlx4_en_set_stats_bitmap(mdev->dev, &priv->stats_bitmap, in mlx4_en_init_netdev()
3095 mdev->profile.prof[priv->port].rx_ppp, in mlx4_en_init_netdev()
3096 mdev->profile.prof[priv->port].rx_pause, in mlx4_en_init_netdev()
3097 mdev->profile.prof[priv->port].tx_ppp, in mlx4_en_init_netdev()
3098 mdev->profile.prof[priv->port].tx_pause); in mlx4_en_init_netdev()
3120 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_reset_config() local
3137 mutex_lock(&mdev->state_lock); in mlx4_en_reset_config()
3197 mutex_unlock(&mdev->state_lock); in mlx4_en_reset_config()