Lines Matching refs:ndev
67 static void set_multicast_list(struct net_device *ndev);
68 static void fec_enet_itr_coal_init(struct net_device *ndev);
320 static void fec_dump(struct net_device *ndev) in fec_dump() argument
322 struct fec_enet_private *fep = netdev_priv(ndev); in fec_dump()
327 netdev_info(ndev, "TX ring dump\n"); in fec_dump()
351 fec_enet_clear_csum(struct sk_buff *skb, struct net_device *ndev) in fec_enet_clear_csum() argument
370 struct net_device *ndev) in fec_enet_txq_submit_frag_skb() argument
372 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_txq_submit_frag_skb()
433 netdev_err(ndev, "Tx DMA memory map failed\n"); in fec_enet_txq_submit_frag_skb()
454 struct sk_buff *skb, struct net_device *ndev) in fec_enet_txq_submit_skb() argument
456 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_txq_submit_skb()
472 netdev_err(ndev, "NOT enough BD for SG!\n"); in fec_enet_txq_submit_skb()
477 if (fec_enet_clear_csum(skb, ndev)) { in fec_enet_txq_submit_skb()
508 netdev_err(ndev, "Tx DMA memory map failed\n"); in fec_enet_txq_submit_skb()
513 last_bdp = fec_enet_txq_submit_frag_skb(txq, skb, ndev); in fec_enet_txq_submit_skb()
576 struct net_device *ndev, in fec_enet_txq_put_data_tso() argument
580 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_txq_put_data_tso()
605 netdev_err(ndev, "Tx DMA memory map failed\n"); in fec_enet_txq_put_data_tso()
637 struct sk_buff *skb, struct net_device *ndev, in fec_enet_txq_put_hdr_tso() argument
640 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_txq_put_hdr_tso()
668 netdev_err(ndev, "Tx DMA memory map failed\n"); in fec_enet_txq_put_hdr_tso()
692 struct net_device *ndev) in fec_enet_txq_submit_tso() argument
694 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_txq_submit_tso()
706 netdev_err(ndev, "NOT enough BD for TSO!\n"); in fec_enet_txq_submit_tso()
711 if (fec_enet_clear_csum(skb, ndev)) { in fec_enet_txq_submit_tso()
730 ret = fec_enet_txq_put_hdr_tso(txq, skb, ndev, bdp, index); in fec_enet_txq_submit_tso()
741 ret = fec_enet_txq_put_data_tso(txq, skb, ndev, in fec_enet_txq_submit_tso()
778 fec_enet_start_xmit(struct sk_buff *skb, struct net_device *ndev) in fec_enet_start_xmit() argument
780 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_start_xmit()
789 nq = netdev_get_tx_queue(ndev, queue); in fec_enet_start_xmit()
792 ret = fec_enet_txq_submit_tso(txq, skb, ndev); in fec_enet_start_xmit()
794 ret = fec_enet_txq_submit_skb(txq, skb, ndev); in fec_enet_start_xmit()
862 static void fec_enet_active_rxring(struct net_device *ndev) in fec_enet_active_rxring() argument
864 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_active_rxring()
871 static void fec_enet_enable_ring(struct net_device *ndev) in fec_enet_enable_ring() argument
873 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_enable_ring()
900 static void fec_enet_reset_skb(struct net_device *ndev) in fec_enet_reset_skb() argument
902 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_reset_skb()
924 fec_restart(struct net_device *ndev) in fec_restart() argument
926 struct fec_enet_private *fep = netdev_priv(ndev); in fec_restart()
948 memcpy(&temp_mac, ndev->dev_addr, ETH_ALEN); in fec_restart()
956 fec_enet_bd_init(ndev); in fec_restart()
958 fec_enet_enable_ring(ndev); in fec_restart()
961 fec_enet_reset_skb(ndev); in fec_restart()
1065 set_multicast_list(ndev); in fec_restart()
1088 fec_enet_active_rxring(ndev); in fec_restart()
1091 fec_ptp_start_cyclecounter(ndev); in fec_restart()
1100 fec_enet_itr_coal_init(ndev); in fec_restart()
1105 fec_stop(struct net_device *ndev) in fec_stop() argument
1107 struct fec_enet_private *fep = netdev_priv(ndev); in fec_stop()
1117 netdev_err(ndev, "Graceful transmit stop did not complete!\n"); in fec_stop()
1153 fec_timeout(struct net_device *ndev) in fec_timeout() argument
1155 struct fec_enet_private *fep = netdev_priv(ndev); in fec_timeout()
1157 fec_dump(ndev); in fec_timeout()
1159 ndev->stats.tx_errors++; in fec_timeout()
1168 struct net_device *ndev = fep->netdev; in fec_enet_timeout_work() local
1171 if (netif_device_present(ndev) || netif_running(ndev)) { in fec_enet_timeout_work()
1173 netif_tx_lock_bh(ndev); in fec_enet_timeout_work()
1174 fec_restart(ndev); in fec_enet_timeout_work()
1175 netif_wake_queue(ndev); in fec_enet_timeout_work()
1176 netif_tx_unlock_bh(ndev); in fec_enet_timeout_work()
1198 fec_enet_tx_queue(struct net_device *ndev, u16 queue_id) in fec_enet_tx_queue() argument
1209 fep = netdev_priv(ndev); in fec_enet_tx_queue()
1215 nq = netdev_get_tx_queue(ndev, queue_id); in fec_enet_tx_queue()
1245 ndev->stats.tx_errors++; in fec_enet_tx_queue()
1247 ndev->stats.tx_heartbeat_errors++; in fec_enet_tx_queue()
1249 ndev->stats.tx_window_errors++; in fec_enet_tx_queue()
1251 ndev->stats.tx_aborted_errors++; in fec_enet_tx_queue()
1253 ndev->stats.tx_fifo_errors++; in fec_enet_tx_queue()
1255 ndev->stats.tx_carrier_errors++; in fec_enet_tx_queue()
1257 ndev->stats.tx_packets++; in fec_enet_tx_queue()
1258 ndev->stats.tx_bytes += skb->len; in fec_enet_tx_queue()
1274 ndev->stats.collisions++; in fec_enet_tx_queue()
1290 if (netif_queue_stopped(ndev)) { in fec_enet_tx_queue()
1304 fec_enet_tx(struct net_device *ndev) in fec_enet_tx() argument
1306 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_tx()
1311 fec_enet_tx_queue(ndev, queue_id); in fec_enet_tx()
1317 fec_enet_new_rxbdp(struct net_device *ndev, struct bufdesc *bdp, struct sk_buff *skb) in fec_enet_new_rxbdp() argument
1319 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_new_rxbdp()
1331 netdev_err(ndev, "Rx DMA memory map failed\n"); in fec_enet_new_rxbdp()
1338 static bool fec_enet_copybreak(struct net_device *ndev, struct sk_buff **skb, in fec_enet_copybreak() argument
1341 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_copybreak()
1347 new_skb = netdev_alloc_skb(ndev, length); in fec_enet_copybreak()
1369 fec_enet_rx_queue(struct net_device *ndev, int budget, u16 queue_id) in fec_enet_rx_queue() argument
1371 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_rx_queue()
1408 netdev_err(ndev, "rcv is not +last\n"); in fec_enet_rx_queue()
1415 ndev->stats.rx_errors++; in fec_enet_rx_queue()
1418 ndev->stats.rx_length_errors++; in fec_enet_rx_queue()
1421 ndev->stats.rx_frame_errors++; in fec_enet_rx_queue()
1423 ndev->stats.rx_crc_errors++; in fec_enet_rx_queue()
1425 ndev->stats.rx_fifo_errors++; in fec_enet_rx_queue()
1433 ndev->stats.rx_errors++; in fec_enet_rx_queue()
1434 ndev->stats.rx_frame_errors++; in fec_enet_rx_queue()
1439 ndev->stats.rx_packets++; in fec_enet_rx_queue()
1441 ndev->stats.rx_bytes += pkt_len; in fec_enet_rx_queue()
1450 is_copybreak = fec_enet_copybreak(ndev, &skb, bdp, pkt_len - 4, in fec_enet_rx_queue()
1453 skb_new = netdev_alloc_skb(ndev, FEC_ENET_RX_FRSIZE); in fec_enet_rx_queue()
1455 ndev->stats.rx_dropped++; in fec_enet_rx_queue()
1476 if ((ndev->features & NETIF_F_HW_VLAN_CTAG_RX) && in fec_enet_rx_queue()
1489 skb->protocol = eth_type_trans(skb, ndev); in fec_enet_rx_queue()
1520 fec_enet_new_rxbdp(ndev, bdp, skb_new); in fec_enet_rx_queue()
1553 fec_enet_rx(struct net_device *ndev, int budget) in fec_enet_rx() argument
1557 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_rx()
1562 ret = fec_enet_rx_queue(ndev, in fec_enet_rx()
1599 struct net_device *ndev = dev_id; in fec_enet_interrupt() local
1600 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_interrupt()
1631 struct net_device *ndev = napi->dev; in fec_enet_rx_napi() local
1632 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_rx_napi()
1635 pkts = fec_enet_rx(ndev, budget); in fec_enet_rx_napi()
1637 fec_enet_tx(ndev); in fec_enet_rx_napi()
1647 static void fec_get_mac(struct net_device *ndev) in fec_get_mac() argument
1649 struct fec_enet_private *fep = netdev_priv(ndev); in fec_get_mac()
1702 netdev_err(ndev, "Invalid MAC address: %pM\n", iap); in fec_get_mac()
1703 eth_hw_addr_random(ndev); in fec_get_mac()
1704 netdev_info(ndev, "Using random MAC address: %pM\n", in fec_get_mac()
1705 ndev->dev_addr); in fec_get_mac()
1709 memcpy(ndev->dev_addr, iap, ETH_ALEN); in fec_get_mac()
1713 ndev->dev_addr[ETH_ALEN-1] = macaddr[ETH_ALEN-1] + fep->dev_id; in fec_get_mac()
1721 static void fec_enet_adjust_link(struct net_device *ndev) in fec_enet_adjust_link() argument
1723 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_adjust_link()
1738 if (!netif_running(ndev) || !netif_device_present(ndev)) { in fec_enet_adjust_link()
1759 netif_tx_lock_bh(ndev); in fec_enet_adjust_link()
1760 fec_restart(ndev); in fec_enet_adjust_link()
1761 netif_wake_queue(ndev); in fec_enet_adjust_link()
1762 netif_tx_unlock_bh(ndev); in fec_enet_adjust_link()
1768 netif_tx_lock_bh(ndev); in fec_enet_adjust_link()
1769 fec_stop(ndev); in fec_enet_adjust_link()
1770 netif_tx_unlock_bh(ndev); in fec_enet_adjust_link()
1857 static int fec_enet_clk_enable(struct net_device *ndev, bool enable) in fec_enet_clk_enable() argument
1859 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_clk_enable()
1915 static int fec_enet_mii_probe(struct net_device *ndev) in fec_enet_mii_probe() argument
1917 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_mii_probe()
1927 phy_dev = of_phy_connect(ndev, fep->phy_node, in fec_enet_mii_probe()
1948 netdev_info(ndev, "no PHY, assuming direct connection to switch\n"); in fec_enet_mii_probe()
1955 phy_dev = phy_connect(ndev, phy_name, &fec_enet_adjust_link, in fec_enet_mii_probe()
1960 netdev_err(ndev, "could not attach to PHY\n"); in fec_enet_mii_probe()
1981 netdev_info(ndev, "Freescale FEC PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n", in fec_enet_mii_probe()
1991 struct net_device *ndev = platform_get_drvdata(pdev); in fec_enet_mii_init() local
1992 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_mii_init()
2121 static int fec_enet_get_settings(struct net_device *ndev, in fec_enet_get_settings() argument
2124 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_get_settings()
2133 static int fec_enet_set_settings(struct net_device *ndev, in fec_enet_set_settings() argument
2136 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_set_settings()
2145 static void fec_enet_get_drvinfo(struct net_device *ndev, in fec_enet_get_drvinfo() argument
2148 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_get_drvinfo()
2153 strlcpy(info->bus_info, dev_name(&ndev->dev), sizeof(info->bus_info)); in fec_enet_get_drvinfo()
2156 static int fec_enet_get_regs_len(struct net_device *ndev) in fec_enet_get_regs_len() argument
2158 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_get_regs_len()
2216 static void fec_enet_get_regs(struct net_device *ndev, in fec_enet_get_regs() argument
2219 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_get_regs()
2232 static int fec_enet_get_ts_info(struct net_device *ndev, in fec_enet_get_ts_info() argument
2235 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_get_ts_info()
2257 return ethtool_op_get_ts_info(ndev, info); in fec_enet_get_ts_info()
2263 static void fec_enet_get_pauseparam(struct net_device *ndev, in fec_enet_get_pauseparam() argument
2266 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_get_pauseparam()
2273 static int fec_enet_set_pauseparam(struct net_device *ndev, in fec_enet_set_pauseparam() argument
2276 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_set_pauseparam()
2282 netdev_info(ndev, in fec_enet_set_pauseparam()
2302 if (netif_running(ndev)) in fec_enet_set_pauseparam()
2303 fec_stop(ndev); in fec_enet_set_pauseparam()
2306 if (netif_running(ndev)) { in fec_enet_set_pauseparam()
2308 netif_tx_lock_bh(ndev); in fec_enet_set_pauseparam()
2309 fec_restart(ndev); in fec_enet_set_pauseparam()
2310 netif_wake_queue(ndev); in fec_enet_set_pauseparam()
2311 netif_tx_unlock_bh(ndev); in fec_enet_set_pauseparam()
2433 static int fec_enet_us_to_itr_clock(struct net_device *ndev, int us) in fec_enet_us_to_itr_clock() argument
2435 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_us_to_itr_clock()
2441 static void fec_enet_itr_coal_set(struct net_device *ndev) in fec_enet_itr_coal_set() argument
2443 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_itr_coal_set()
2462 rx_itr |= FEC_ITR_ICTT(fec_enet_us_to_itr_clock(ndev, fep->rx_time_itr)); in fec_enet_itr_coal_set()
2464 tx_itr |= FEC_ITR_ICTT(fec_enet_us_to_itr_clock(ndev, fep->tx_time_itr)); in fec_enet_itr_coal_set()
2478 fec_enet_get_coalesce(struct net_device *ndev, struct ethtool_coalesce *ec) in fec_enet_get_coalesce() argument
2480 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_get_coalesce()
2495 fec_enet_set_coalesce(struct net_device *ndev, struct ethtool_coalesce *ec) in fec_enet_set_coalesce() argument
2497 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_set_coalesce()
2513 cycle = fec_enet_us_to_itr_clock(ndev, fep->rx_time_itr); in fec_enet_set_coalesce()
2519 cycle = fec_enet_us_to_itr_clock(ndev, fep->tx_time_itr); in fec_enet_set_coalesce()
2531 fec_enet_itr_coal_set(ndev); in fec_enet_set_coalesce()
2536 static void fec_enet_itr_coal_init(struct net_device *ndev) in fec_enet_itr_coal_init() argument
2546 fec_enet_set_coalesce(ndev, &ec); in fec_enet_itr_coal_init()
2588 fec_enet_get_wol(struct net_device *ndev, struct ethtool_wolinfo *wol) in fec_enet_get_wol() argument
2590 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_get_wol()
2601 fec_enet_set_wol(struct net_device *ndev, struct ethtool_wolinfo *wol) in fec_enet_set_wol() argument
2603 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_set_wol()
2611 device_set_wakeup_enable(&ndev->dev, wol->wolopts & WAKE_MAGIC); in fec_enet_set_wol()
2612 if (device_may_wakeup(&ndev->dev)) { in fec_enet_set_wol()
2649 static int fec_enet_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd) in fec_enet_ioctl() argument
2651 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_ioctl()
2654 if (!netif_running(ndev)) in fec_enet_ioctl()
2662 return fec_ptp_set(ndev, rq); in fec_enet_ioctl()
2664 return fec_ptp_get(ndev, rq); in fec_enet_ioctl()
2670 static void fec_enet_free_buffers(struct net_device *ndev) in fec_enet_free_buffers() argument
2672 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_free_buffers()
2710 static void fec_enet_free_queue(struct net_device *ndev) in fec_enet_free_queue() argument
2712 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_free_queue()
2731 static int fec_enet_alloc_queue(struct net_device *ndev) in fec_enet_alloc_queue() argument
2733 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_alloc_queue()
2777 fec_enet_free_queue(ndev); in fec_enet_alloc_queue()
2782 fec_enet_alloc_rxq_buffers(struct net_device *ndev, unsigned int queue) in fec_enet_alloc_rxq_buffers() argument
2784 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_alloc_rxq_buffers()
2793 skb = netdev_alloc_skb(ndev, FEC_ENET_RX_FRSIZE); in fec_enet_alloc_rxq_buffers()
2797 if (fec_enet_new_rxbdp(ndev, bdp, skb)) { in fec_enet_alloc_rxq_buffers()
2819 fec_enet_free_buffers(ndev); in fec_enet_alloc_rxq_buffers()
2824 fec_enet_alloc_txq_buffers(struct net_device *ndev, unsigned int queue) in fec_enet_alloc_txq_buffers() argument
2826 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_alloc_txq_buffers()
2856 fec_enet_free_buffers(ndev); in fec_enet_alloc_txq_buffers()
2860 static int fec_enet_alloc_buffers(struct net_device *ndev) in fec_enet_alloc_buffers() argument
2862 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_alloc_buffers()
2866 if (fec_enet_alloc_rxq_buffers(ndev, i)) in fec_enet_alloc_buffers()
2870 if (fec_enet_alloc_txq_buffers(ndev, i)) in fec_enet_alloc_buffers()
2876 fec_enet_open(struct net_device *ndev) in fec_enet_open() argument
2878 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_open()
2886 ret = fec_enet_clk_enable(ndev, true); in fec_enet_open()
2894 ret = fec_enet_alloc_buffers(ndev); in fec_enet_open()
2899 fec_restart(ndev); in fec_enet_open()
2902 ret = fec_enet_mii_probe(ndev); in fec_enet_open()
2908 netif_tx_start_all_queues(ndev); in fec_enet_open()
2910 device_set_wakeup_enable(&ndev->dev, fep->wol_flag & in fec_enet_open()
2916 fec_enet_free_buffers(ndev); in fec_enet_open()
2918 fec_enet_clk_enable(ndev, false); in fec_enet_open()
2927 fec_enet_close(struct net_device *ndev) in fec_enet_close() argument
2929 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_close()
2933 if (netif_device_present(ndev)) { in fec_enet_close()
2935 netif_tx_disable(ndev); in fec_enet_close()
2936 fec_stop(ndev); in fec_enet_close()
2942 fec_enet_clk_enable(ndev, false); in fec_enet_close()
2947 fec_enet_free_buffers(ndev); in fec_enet_close()
2965 static void set_multicast_list(struct net_device *ndev) in set_multicast_list() argument
2967 struct fec_enet_private *fep = netdev_priv(ndev); in set_multicast_list()
2972 if (ndev->flags & IFF_PROMISC) { in set_multicast_list()
2983 if (ndev->flags & IFF_ALLMULTI) { in set_multicast_list()
2998 netdev_for_each_mc_addr(ha, ndev) { in set_multicast_list()
3002 for (i = 0; i < ndev->addr_len; i++) { in set_multicast_list()
3029 fec_set_mac_address(struct net_device *ndev, void *p) in fec_set_mac_address() argument
3031 struct fec_enet_private *fep = netdev_priv(ndev); in fec_set_mac_address()
3037 memcpy(ndev->dev_addr, addr->sa_data, ndev->addr_len); in fec_set_mac_address()
3045 if (!netif_running(ndev)) in fec_set_mac_address()
3048 writel(ndev->dev_addr[3] | (ndev->dev_addr[2] << 8) | in fec_set_mac_address()
3049 (ndev->dev_addr[1] << 16) | (ndev->dev_addr[0] << 24), in fec_set_mac_address()
3051 writel((ndev->dev_addr[5] << 16) | (ndev->dev_addr[4] << 24), in fec_set_mac_address()
3138 static int fec_enet_init(struct net_device *ndev) in fec_enet_init() argument
3140 struct fec_enet_private *fep = netdev_priv(ndev); in fec_enet_init()
3156 fec_enet_alloc_queue(ndev); in fec_enet_init()
3175 fec_get_mac(ndev); in fec_enet_init()
3177 fec_set_mac_address(ndev, NULL); in fec_enet_init()
3212 ndev->watchdog_timeo = TX_TIMEOUT; in fec_enet_init()
3213 ndev->netdev_ops = &fec_netdev_ops; in fec_enet_init()
3214 ndev->ethtool_ops = &fec_enet_ethtool_ops; in fec_enet_init()
3217 netif_napi_add(ndev, &fep->napi, fec_enet_rx_napi, NAPI_POLL_WEIGHT); in fec_enet_init()
3221 ndev->features |= NETIF_F_HW_VLAN_CTAG_RX; in fec_enet_init()
3224 ndev->gso_max_segs = FEC_MAX_TSO_SEGS; in fec_enet_init()
3227 ndev->features |= (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM in fec_enet_init()
3237 ndev->hw_features = ndev->features; in fec_enet_init()
3239 fec_restart(ndev); in fec_enet_init()
3323 struct net_device *ndev; in fec_probe() local
3335 ndev = alloc_etherdev_mqs(sizeof(struct fec_enet_private), in fec_probe()
3337 if (!ndev) in fec_probe()
3340 SET_NETDEV_DEV(ndev, &pdev->dev); in fec_probe()
3343 fep = netdev_priv(ndev); in fec_probe()
3350 fep->netdev = ndev; in fec_probe()
3373 platform_set_drvdata(pdev, ndev); in fec_probe()
3435 ret = fec_enet_clk_enable(ndev, true); in fec_probe()
3466 ret = fec_enet_init(ndev); in fec_probe()
3479 0, pdev->name, ndev); in fec_probe()
3492 netif_carrier_off(ndev); in fec_probe()
3493 fec_enet_clk_enable(ndev, false); in fec_probe()
3496 ret = register_netdev(ndev); in fec_probe()
3500 device_init_wakeup(&ndev->dev, fep->wol_flag & in fec_probe()
3504 netdev_info(ndev, "registered PHC device %d\n", fep->dev_id); in fec_probe()
3525 fec_enet_clk_enable(ndev, false); in fec_probe()
3530 free_netdev(ndev); in fec_probe()
3538 struct net_device *ndev = platform_get_drvdata(pdev); in fec_drv_remove() local
3539 struct fec_enet_private *fep = netdev_priv(ndev); in fec_drv_remove()
3543 unregister_netdev(ndev); in fec_drv_remove()
3548 free_netdev(ndev); in fec_drv_remove()
3555 struct net_device *ndev = dev_get_drvdata(dev); in fec_suspend() local
3556 struct fec_enet_private *fep = netdev_priv(ndev); in fec_suspend()
3559 if (netif_running(ndev)) { in fec_suspend()
3564 netif_tx_lock_bh(ndev); in fec_suspend()
3565 netif_device_detach(ndev); in fec_suspend()
3566 netif_tx_unlock_bh(ndev); in fec_suspend()
3567 fec_stop(ndev); in fec_suspend()
3568 fec_enet_clk_enable(ndev, false); in fec_suspend()
3588 struct net_device *ndev = dev_get_drvdata(dev); in fec_resume() local
3589 struct fec_enet_private *fep = netdev_priv(ndev); in fec_resume()
3601 if (netif_running(ndev)) { in fec_resume()
3602 ret = fec_enet_clk_enable(ndev, true); in fec_resume()
3617 fec_restart(ndev); in fec_resume()
3618 netif_tx_lock_bh(ndev); in fec_resume()
3619 netif_device_attach(ndev); in fec_resume()
3620 netif_tx_unlock_bh(ndev); in fec_resume()
3636 struct net_device *ndev = dev_get_drvdata(dev); in fec_runtime_suspend() local
3637 struct fec_enet_private *fep = netdev_priv(ndev); in fec_runtime_suspend()
3646 struct net_device *ndev = dev_get_drvdata(dev); in fec_runtime_resume() local
3647 struct fec_enet_private *fep = netdev_priv(ndev); in fec_runtime_resume()