Lines Matching refs:net_dev

49 	if (!(priv->net_dev->features & NETIF_F_RXCSUM))  in validate_rx_csum()
68 struct device *dev = priv->net_dev->dev.parent; in free_rx_fd()
128 struct device *dev = priv->net_dev->dev.parent; in build_frag_skb()
208 struct device *dev = priv->net_dev->dev.parent; in free_bufs()
326 trace_xdp_exception(priv->net_dev, xdp_prog, xdp_act); in run_xdp()
333 dma_unmap_page(priv->net_dev->dev.parent, addr, in run_xdp()
337 err = xdp_do_redirect(priv->net_dev, &xdp, xdp_prog); in run_xdp()
363 struct device *dev = priv->net_dev->dev.parent; in dpaa2_eth_rx()
370 trace_dpaa2_rx_fd(priv->net_dev, fd); in dpaa2_eth_rx()
432 skb->protocol = eth_type_trans(skb, priv->net_dev); in dpaa2_eth_rx()
523 struct device *dev = priv->net_dev->dev.parent; in build_sg_fd()
624 struct device *dev = priv->net_dev->dev.parent; in build_single_fd()
676 struct device *dev = priv->net_dev->dev.parent; in free_tx_fd()
714 netdev_dbg(priv->net_dev, "Invalid FD format\n"); in free_tx_fd()
749 static netdev_tx_t dpaa2_eth_tx(struct sk_buff *skb, struct net_device *net_dev) in dpaa2_eth_tx() argument
751 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in dpaa2_eth_tx()
811 trace_dpaa2_tx_fd(net_dev, &fd); in dpaa2_eth_tx()
819 if (net_dev->num_tc) { in dpaa2_eth_tx()
820 prio = netdev_txq_to_tc(net_dev, queue_mapping); in dpaa2_eth_tx()
824 prio = net_dev->num_tc - prio - 1; in dpaa2_eth_tx()
833 nq = netdev_get_tx_queue(net_dev, queue_mapping); in dpaa2_eth_tx()
876 trace_dpaa2_tx_conf_fd(priv->net_dev, fd); in dpaa2_eth_tx_conf()
890 netdev_dbg(priv->net_dev, "TX frame FD error: 0x%08x\n", in dpaa2_eth_tx_conf()
905 netdev_err(priv->net_dev, in set_rx_csum()
913 netdev_err(priv->net_dev, in set_rx_csum()
928 netdev_err(priv->net_dev, "dpni_set_offload(TX_L3_CSUM) failed\n"); in set_tx_csum()
935 netdev_err(priv->net_dev, "dpni_set_offload(TX_L4_CSUM) failed\n"); in set_tx_csum()
948 struct device *dev = priv->net_dev->dev.parent; in add_bufs()
974 trace_dpaa2_eth_buf_seed(priv->net_dev, in add_bufs()
1041 netdev_err(priv->net_dev, "dpaa2_io_service_acquire() failed\n"); in drain_bufs()
1176 nq = netdev_get_tx_queue(priv->net_dev, txc_fq->flowid); in dpaa2_eth_poll()
1229 netdev_err(priv->net_dev, in dpaa2_eth_set_rx_taildrop()
1248 netdev_err(priv->net_dev, in link_state_update()
1267 netif_carrier_on(priv->net_dev); in link_state_update()
1268 netif_tx_start_all_queues(priv->net_dev); in link_state_update()
1270 netif_tx_stop_all_queues(priv->net_dev); in link_state_update()
1271 netif_carrier_off(priv->net_dev); in link_state_update()
1274 netdev_info(priv->net_dev, "Link Event: state %s\n", in link_state_update()
1283 static int dpaa2_eth_open(struct net_device *net_dev) in dpaa2_eth_open() argument
1285 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in dpaa2_eth_open()
1294 netdev_err(net_dev, "Buffer seeding failed for DPBP %d (bpid=%d)\n", in dpaa2_eth_open()
1302 netif_tx_stop_all_queues(net_dev); in dpaa2_eth_open()
1308 netif_carrier_off(net_dev); in dpaa2_eth_open()
1312 netdev_err(net_dev, "dpni_enable() failed\n"); in dpaa2_eth_open()
1321 netdev_err(net_dev, "Can't update link state\n"); in dpaa2_eth_open()
1345 netdev_warn(priv->net_dev, "query_fq_count failed"); in ingress_fq_count()
1391 static int dpaa2_eth_stop(struct net_device *net_dev) in dpaa2_eth_stop() argument
1393 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in dpaa2_eth_stop()
1397 netif_tx_stop_all_queues(net_dev); in dpaa2_eth_stop()
1398 netif_carrier_off(net_dev); in dpaa2_eth_stop()
1420 netdev_warn(net_dev, "Retry count exceeded disabling DPNI\n"); in dpaa2_eth_stop()
1435 static int dpaa2_eth_set_addr(struct net_device *net_dev, void *addr) in dpaa2_eth_set_addr() argument
1437 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in dpaa2_eth_set_addr()
1438 struct device *dev = net_dev->dev.parent; in dpaa2_eth_set_addr()
1441 err = eth_mac_addr(net_dev, addr); in dpaa2_eth_set_addr()
1448 net_dev->dev_addr); in dpaa2_eth_set_addr()
1460 static void dpaa2_eth_get_stats(struct net_device *net_dev, in dpaa2_eth_get_stats() argument
1463 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in dpaa2_eth_get_stats()
1481 static void add_uc_hw_addr(const struct net_device *net_dev, in add_uc_hw_addr() argument
1487 netdev_for_each_uc_addr(ha, net_dev) { in add_uc_hw_addr()
1491 netdev_warn(priv->net_dev, in add_uc_hw_addr()
1500 static void add_mc_hw_addr(const struct net_device *net_dev, in add_mc_hw_addr() argument
1506 netdev_for_each_mc_addr(ha, net_dev) { in add_mc_hw_addr()
1510 netdev_warn(priv->net_dev, in add_mc_hw_addr()
1516 static void dpaa2_eth_set_rx_mode(struct net_device *net_dev) in dpaa2_eth_set_rx_mode() argument
1518 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in dpaa2_eth_set_rx_mode()
1519 int uc_count = netdev_uc_count(net_dev); in dpaa2_eth_set_rx_mode()
1520 int mc_count = netdev_mc_count(net_dev); in dpaa2_eth_set_rx_mode()
1529 netdev_info(net_dev, in dpaa2_eth_set_rx_mode()
1535 netdev_info(net_dev, in dpaa2_eth_set_rx_mode()
1541 netdev_info(net_dev, in dpaa2_eth_set_rx_mode()
1548 if (net_dev->flags & IFF_PROMISC) in dpaa2_eth_set_rx_mode()
1550 if (net_dev->flags & IFF_ALLMULTI) { in dpaa2_eth_set_rx_mode()
1560 netdev_warn(net_dev, "Can't set uc promisc\n"); in dpaa2_eth_set_rx_mode()
1565 netdev_warn(net_dev, "Can't clear uc filters\n"); in dpaa2_eth_set_rx_mode()
1566 add_uc_hw_addr(net_dev, priv); in dpaa2_eth_set_rx_mode()
1571 netdev_warn(net_dev, "Can't clear uc promisc\n"); in dpaa2_eth_set_rx_mode()
1580 netdev_warn(net_dev, "Can't set uc promisc (%d)\n", err); in dpaa2_eth_set_rx_mode()
1583 netdev_warn(net_dev, "Can't set mc promisc (%d)\n", err); in dpaa2_eth_set_rx_mode()
1588 netdev_warn(net_dev, "Can't clear mac filters\n"); in dpaa2_eth_set_rx_mode()
1589 add_mc_hw_addr(net_dev, priv); in dpaa2_eth_set_rx_mode()
1590 add_uc_hw_addr(net_dev, priv); in dpaa2_eth_set_rx_mode()
1597 netdev_warn(net_dev, "Can't clear ucast promisc\n"); in dpaa2_eth_set_rx_mode()
1600 netdev_warn(net_dev, "Can't clear mcast promisc\n"); in dpaa2_eth_set_rx_mode()
1607 netdev_warn(net_dev, "Can't set ucast promisc\n"); in dpaa2_eth_set_rx_mode()
1611 netdev_warn(net_dev, "Can't set mcast promisc\n"); in dpaa2_eth_set_rx_mode()
1614 static int dpaa2_eth_set_features(struct net_device *net_dev, in dpaa2_eth_set_features() argument
1617 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in dpaa2_eth_set_features()
1618 netdev_features_t changed = features ^ net_dev->features; in dpaa2_eth_set_features()
1687 netdev_warn(priv->net_dev, "Maximum MTU for XDP is %d\n", in xdp_mtu_valid()
1711 netdev_err(priv->net_dev, "dpni_set_max_frame_length failed\n"); in set_rx_mfl()
1746 netdev_err(priv->net_dev, "dpni_get_buffer_layout failed\n"); in update_rx_buffer_headroom()
1757 netdev_err(priv->net_dev, "dpni_set_buffer_layout failed\n"); in update_rx_buffer_headroom()
1846 static int dpaa2_eth_xdp_xmit_frame(struct net_device *net_dev, in dpaa2_eth_xdp_xmit_frame() argument
1849 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in dpaa2_eth_xdp_xmit_frame()
1850 struct device *dev = net_dev->dev.parent; in dpaa2_eth_xdp_xmit_frame()
1920 static int dpaa2_eth_xdp_xmit(struct net_device *net_dev, int n, in dpaa2_eth_xdp_xmit() argument
1929 if (!netif_running(net_dev)) in dpaa2_eth_xdp_xmit()
1935 err = dpaa2_eth_xdp_xmit_frame(net_dev, xdpf); in dpaa2_eth_xdp_xmit()
1947 struct net_device *net_dev = priv->net_dev; in update_xps() local
1954 netdev_queues = (net_dev->num_tc ? : 1) * num_queues; in update_xps()
1965 err = netif_set_xps_queue(net_dev, &xps_mask, i); in update_xps()
1967 netdev_warn_once(net_dev, "Error setting XPS queue\n"); in update_xps()
1975 static int dpaa2_eth_setup_tc(struct net_device *net_dev, in dpaa2_eth_setup_tc() argument
1978 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in dpaa2_eth_setup_tc()
1990 if (num_tc == net_dev->num_tc) in dpaa2_eth_setup_tc()
1994 netdev_err(net_dev, "Max %d traffic classes supported\n", in dpaa2_eth_setup_tc()
2000 netdev_reset_tc(net_dev); in dpaa2_eth_setup_tc()
2001 netif_set_real_num_tx_queues(net_dev, num_queues); in dpaa2_eth_setup_tc()
2005 netdev_set_num_tc(net_dev, num_tc); in dpaa2_eth_setup_tc()
2006 netif_set_real_num_tx_queues(net_dev, num_tc * num_queues); in dpaa2_eth_setup_tc()
2009 netdev_set_tc_queue(net_dev, i, num_queues, i * num_queues); in dpaa2_eth_setup_tc()
2048 struct device *dev = priv->net_dev->dev.parent; in setup_dpcon()
2109 struct device *dev = priv->net_dev->dev.parent; in alloc_channel()
2157 struct device *dev = priv->net_dev->dev.parent; in setup_dpio()
2259 struct device *dev = priv->net_dev->dev.parent; in free_dpio()
2274 struct device *dev = priv->net_dev->dev.parent; in get_affine_channel()
2291 struct device *dev = priv->net_dev->dev.parent; in set_fq_affinity()
2355 struct device *dev = priv->net_dev->dev.parent; in setup_dpbp()
2420 struct device *dev = priv->net_dev->dev.parent; in set_buffer_layout()
2522 struct device *dev = priv->net_dev->dev.parent; in set_pause()
2583 netdev_info(priv->net_dev, in update_tx_fqids()
2593 struct net_device *net_dev; in setup_dpni() local
2596 net_dev = dev_get_drvdata(dev); in setup_dpni()
2597 priv = netdev_priv(net_dev); in setup_dpni()
2669 netdev_warn(priv->net_dev, "dpni_reset() failed (err %d)\n", in free_dpni()
2678 struct device *dev = priv->net_dev->dev.parent; in setup_rx_flow()
2706 err = xdp_rxq_info_reg(&fq->channel->xdp_rxq, priv->net_dev, in setup_rx_flow()
2726 struct device *dev = priv->net_dev->dev.parent; in setup_tx_flow()
2841 struct device *dev = priv->net_dev->dev.parent; in config_legacy_hash_key()
2861 struct device *dev = priv->net_dev->dev.parent; in config_hash_key()
2881 struct device *dev = priv->net_dev->dev.parent; in config_cls_key()
2949 static int dpaa2_eth_set_dist_key(struct net_device *net_dev, in dpaa2_eth_set_dist_key() argument
2952 struct device *dev = net_dev->dev.parent; in dpaa2_eth_set_dist_key()
2953 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in dpaa2_eth_set_dist_key()
3025 int dpaa2_eth_set_hash(struct net_device *net_dev, u64 flags) in dpaa2_eth_set_hash() argument
3027 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in dpaa2_eth_set_hash()
3038 return dpaa2_eth_set_dist_key(net_dev, DPAA2_ETH_RX_DIST_HASH, key); in dpaa2_eth_set_hash()
3041 int dpaa2_eth_set_cls(struct net_device *net_dev, u64 flags) in dpaa2_eth_set_cls() argument
3043 return dpaa2_eth_set_dist_key(net_dev, DPAA2_ETH_RX_DIST_CLS, flags); in dpaa2_eth_set_cls()
3048 struct device *dev = priv->net_dev->dev.parent; in dpaa2_eth_set_default_cls()
3074 err = dpaa2_eth_set_cls(priv->net_dev, DPAA2_ETH_DIST_ALL); in dpaa2_eth_set_default_cls()
3089 struct net_device *net_dev = priv->net_dev; in bind_dpni() local
3090 struct device *dev = net_dev->dev.parent; in bind_dpni()
3109 err = dpaa2_eth_set_hash(net_dev, DPAA2_RXH_DEFAULT); in bind_dpni()
3161 struct net_device *net_dev = priv->net_dev; in alloc_rings() local
3162 struct device *dev = net_dev->dev.parent; in alloc_rings()
3169 netdev_err(net_dev, "dpaa2_io_store_create() failed\n"); in alloc_rings()
3196 struct net_device *net_dev = priv->net_dev; in set_mac_addr() local
3197 struct device *dev = net_dev->dev.parent; in set_mac_addr()
3228 memcpy(net_dev->dev_addr, mac_addr, net_dev->addr_len); in set_mac_addr()
3233 eth_hw_addr_random(net_dev); in set_mac_addr()
3237 net_dev->dev_addr); in set_mac_addr()
3248 net_dev->addr_assign_type = NET_ADDR_PERM; in set_mac_addr()
3253 memcpy(net_dev->dev_addr, dpni_mac_addr, net_dev->addr_len); in set_mac_addr()
3259 static int netdev_init(struct net_device *net_dev) in netdev_init() argument
3261 struct device *dev = net_dev->dev.parent; in netdev_init()
3262 struct dpaa2_eth_priv *priv = netdev_priv(net_dev); in netdev_init()
3269 net_dev->netdev_ops = &dpaa2_eth_ops; in netdev_init()
3270 net_dev->ethtool_ops = &dpaa2_ethtool_ops; in netdev_init()
3285 net_dev->max_mtu = DPAA2_ETH_MAX_MTU; in netdev_init()
3295 err = netif_set_real_num_tx_queues(net_dev, num_queues); in netdev_init()
3300 err = netif_set_real_num_rx_queues(net_dev, num_queues); in netdev_init()
3314 net_dev->priv_flags |= supported; in netdev_init()
3315 net_dev->priv_flags &= ~not_supported; in netdev_init()
3318 net_dev->features = NETIF_F_RXCSUM | in netdev_init()
3322 net_dev->hw_features = net_dev->features; in netdev_init()
3348 struct net_device *net_dev = dev_get_drvdata(dev); in dpni_irq0_handler_thread() local
3354 netdev_err(net_dev, "Can't get irq status (err %d)\n", err); in dpni_irq0_handler_thread()
3359 link_state_update(netdev_priv(net_dev)); in dpni_irq0_handler_thread()
3362 set_mac_addr(netdev_priv(net_dev)); in dpni_irq0_handler_thread()
3421 netif_napi_add(priv->net_dev, &ch->napi, dpaa2_eth_poll, in add_ch_napi()
3440 struct net_device *net_dev = NULL; in dpaa2_eth_probe() local
3447 net_dev = alloc_etherdev_mq(sizeof(*priv), DPAA2_ETH_MAX_NETDEV_QUEUES); in dpaa2_eth_probe()
3448 if (!net_dev) { in dpaa2_eth_probe()
3453 SET_NETDEV_DEV(net_dev, dev); in dpaa2_eth_probe()
3454 dev_set_drvdata(dev, net_dev); in dpaa2_eth_probe()
3456 priv = netdev_priv(net_dev); in dpaa2_eth_probe()
3457 priv->net_dev = net_dev; in dpaa2_eth_probe()
3508 err = netdev_init(net_dev); in dpaa2_eth_probe()
3513 err = set_rx_csum(priv, !!(net_dev->features & NETIF_F_RXCSUM)); in dpaa2_eth_probe()
3517 err = set_tx_csum(priv, !!(net_dev->features & in dpaa2_eth_probe()
3528 netdev_warn(net_dev, "Failed to set link interrupt, fall back to polling\n"); in dpaa2_eth_probe()
3530 "%s_poll_link", net_dev->name); in dpaa2_eth_probe()
3538 err = register_netdev(net_dev); in dpaa2_eth_probe()
3548 dev_info(dev, "Probed interface %s\n", net_dev->name); in dpaa2_eth_probe()
3576 free_netdev(net_dev); in dpaa2_eth_probe()
3584 struct net_device *net_dev; in dpaa2_eth_remove() local
3588 net_dev = dev_get_drvdata(dev); in dpaa2_eth_remove()
3589 priv = netdev_priv(net_dev); in dpaa2_eth_remove()
3594 unregister_netdev(net_dev); in dpaa2_eth_remove()
3612 free_netdev(net_dev); in dpaa2_eth_remove()
3614 dev_dbg(net_dev->dev.parent, "Removed interface %s\n", net_dev->name); in dpaa2_eth_remove()