Lines Matching refs:netdev

86 		phy_mac_interrupt(adapter->netdev->phydev);  in tsnep_irq()
201 static void tsnep_phy_link_status_change(struct net_device *netdev) in tsnep_phy_link_status_change() argument
203 struct tsnep_adapter *adapter = netdev_priv(netdev); in tsnep_phy_link_status_change()
204 struct phy_device *phydev = netdev->phydev; in tsnep_phy_link_status_change()
209 phy_print_status(netdev->phydev); in tsnep_phy_link_status_change()
234 retval = phy_connect_direct(adapter->netdev, adapter->phydev, in tsnep_phy_open()
239 phydev = adapter->netdev->phydev; in tsnep_phy_open()
261 phy_stop(adapter->netdev->phydev); in tsnep_phy_close()
262 phy_disconnect(adapter->netdev->phydev); in tsnep_phy_close()
338 nq = netdev_get_tx_queue(tx->adapter->netdev, tx->queue_index); in tsnep_tx_enable()
350 nq = netdev_get_tx_queue(tx->adapter->netdev, tx->queue_index); in tsnep_tx_disable()
522 netif_stop_subqueue(tx->adapter->netdev, tx->queue_index); in tsnep_xmit_frame_ring()
559 netif_stop_subqueue(tx->adapter->netdev, tx->queue_index); in tsnep_xmit_frame_ring()
767 nq = netdev_get_tx_queue(tx->adapter->netdev, tx->queue_index); in tsnep_tx_poll()
857 nq = netdev_get_tx_queue(tx->adapter->netdev, tx->queue_index); in tsnep_tx_pending()
1238 if (xdp_do_redirect(rx->adapter->netdev, xdp, prog) < 0) in tsnep_xdp_run_prog()
1243 bpf_warn_invalid_xdp_action(rx->adapter->netdev, prog, act); in tsnep_xdp_run_prog()
1247 trace_xdp_exception(rx->adapter->netdev, prog, act); in tsnep_xdp_run_prog()
1273 if (xdp_do_redirect(rx->adapter->netdev, xdp, prog) < 0) in tsnep_xdp_run_prog_zc()
1288 bpf_warn_invalid_xdp_action(rx->adapter->netdev, prog, act); in tsnep_xdp_run_prog_zc()
1292 trace_xdp_exception(rx->adapter->netdev, prog, act); in tsnep_xdp_run_prog_zc()
1339 skb->protocol = eth_type_trans(skb, rx->adapter->netdev); in tsnep_build_skb()
1385 tx_nq = netdev_get_tx_queue(rx->adapter->netdev, in tsnep_rx_poll()
1488 tx_nq = netdev_get_tx_queue(rx->adapter->netdev, in tsnep_rx_poll_zc()
1792 const char *name = netdev_name(queue->adapter->netdev); in tsnep_request_irq()
1863 netif_napi_add(adapter->netdev, &queue->napi, tsnep_poll); in tsnep_queue_open()
1878 retval = xdp_rxq_info_reg(&rx->xdp_rxq, adapter->netdev, in tsnep_queue_open()
1887 retval = xdp_rxq_info_reg(&rx->xdp_rxq_zc, adapter->netdev, in tsnep_queue_open()
1902 netif_err(adapter, drv, adapter->netdev, in tsnep_queue_open()
1942 static int tsnep_netdev_open(struct net_device *netdev) in tsnep_netdev_open() argument
1944 struct tsnep_adapter *adapter = netdev_priv(netdev); in tsnep_netdev_open()
1964 retval = netif_set_real_num_tx_queues(adapter->netdev, in tsnep_netdev_open()
1968 retval = netif_set_real_num_rx_queues(adapter->netdev, in tsnep_netdev_open()
1997 static int tsnep_netdev_close(struct net_device *netdev) in tsnep_netdev_close() argument
1999 struct tsnep_adapter *adapter = netdev_priv(netdev); in tsnep_netdev_close()
2021 bool running = netif_running(queue->adapter->netdev); in tsnep_enable_xsk()
2061 bool running = netif_running(queue->adapter->netdev); in tsnep_disable_xsk()
2083 struct net_device *netdev) in tsnep_netdev_xmit_frame() argument
2085 struct tsnep_adapter *adapter = netdev_priv(netdev); in tsnep_netdev_xmit_frame()
2094 static int tsnep_netdev_ioctl(struct net_device *netdev, struct ifreq *ifr, in tsnep_netdev_ioctl() argument
2097 if (!netif_running(netdev)) in tsnep_netdev_ioctl()
2100 return tsnep_ptp_ioctl(netdev, ifr, cmd); in tsnep_netdev_ioctl()
2101 return phy_mii_ioctl(netdev->phydev, ifr, cmd); in tsnep_netdev_ioctl()
2104 static void tsnep_netdev_set_multicast(struct net_device *netdev) in tsnep_netdev_set_multicast() argument
2106 struct tsnep_adapter *adapter = netdev_priv(netdev); in tsnep_netdev_set_multicast()
2111 if (netdev->flags & IFF_PROMISC) { in tsnep_netdev_set_multicast()
2114 } else if (!netdev_mc_empty(netdev) || (netdev->flags & IFF_ALLMULTI)) { in tsnep_netdev_set_multicast()
2120 static void tsnep_netdev_get_stats64(struct net_device *netdev, in tsnep_netdev_get_stats64() argument
2123 struct tsnep_adapter *adapter = netdev_priv(netdev); in tsnep_netdev_get_stats64()
2174 netif_info(adapter, drv, adapter->netdev, "MAC address set to %pM\n", in tsnep_mac_set_address()
2178 static int tsnep_netdev_set_mac_address(struct net_device *netdev, void *addr) in tsnep_netdev_set_mac_address() argument
2180 struct tsnep_adapter *adapter = netdev_priv(netdev); in tsnep_netdev_set_mac_address()
2184 retval = eth_prepare_mac_addr_change(netdev, sock_addr); in tsnep_netdev_set_mac_address()
2187 eth_hw_addr_set(netdev, sock_addr->sa_data); in tsnep_netdev_set_mac_address()
2193 static int tsnep_netdev_set_features(struct net_device *netdev, in tsnep_netdev_set_features() argument
2196 struct tsnep_adapter *adapter = netdev_priv(netdev); in tsnep_netdev_set_features()
2197 netdev_features_t changed = netdev->features ^ features; in tsnep_netdev_set_features()
2209 static ktime_t tsnep_netdev_get_tstamp(struct net_device *netdev, in tsnep_netdev_get_tstamp() argument
2264 nq = netdev_get_tx_queue(adapter->netdev, tx->queue_index); in tsnep_netdev_xdp_xmit()
2351 eth_hw_addr_set(adapter->netdev, adapter->mac_address); in tsnep_mac_init()
2452 adapter->netdev->irq = adapter->queue[0].irq; in tsnep_queue_init()
2492 struct net_device *netdev; in tsnep_probe() local
2500 netdev = devm_alloc_etherdev_mqs(&pdev->dev, in tsnep_probe()
2503 if (!netdev) in tsnep_probe()
2505 SET_NETDEV_DEV(netdev, &pdev->dev); in tsnep_probe()
2506 adapter = netdev_priv(netdev); in tsnep_probe()
2510 adapter->netdev = netdev; in tsnep_probe()
2515 netdev->min_mtu = ETH_MIN_MTU; in tsnep_probe()
2516 netdev->max_mtu = TSNEP_MAX_FRAME_SIZE; in tsnep_probe()
2526 netdev->mem_start = io->start; in tsnep_probe()
2527 netdev->mem_end = io->end; in tsnep_probe()
2573 netdev->netdev_ops = &tsnep_netdev_ops; in tsnep_probe()
2574 netdev->ethtool_ops = &tsnep_ethtool_ops; in tsnep_probe()
2575 netdev->features = NETIF_F_SG; in tsnep_probe()
2576 netdev->hw_features = netdev->features | NETIF_F_LOOPBACK; in tsnep_probe()
2578 netdev->xdp_features = NETDEV_XDP_ACT_BASIC | NETDEV_XDP_ACT_REDIRECT | in tsnep_probe()
2584 netif_carrier_off(netdev); in tsnep_probe()
2586 retval = register_netdev(netdev); in tsnep_probe()
2615 unregister_netdev(adapter->netdev); in tsnep_remove()