Home
last modified time | relevance | path

Searched refs:phylink (Results 1 – 25 of 61) sorted by relevance

123

/linux/include/linux/
H A Dphylink.h14 struct phylink;
497 struct phylink *phylink; member
722 struct phylink *phylink_create(struct phylink_config *,
726 void phylink_destroy(struct phylink *);
727 bool phylink_expects_phy(struct phylink *pl);
729 int phylink_connect_phy(struct phylink *, struct phy_device *);
730 int phylink_of_phy_connect(struct phylink *, struct device_node *, u32 flags);
731 int phylink_fwnode_phy_connect(struct phylink *pl,
734 void phylink_disconnect_phy(struct phylink *);
735 int phylink_set_fixed_link(struct phylink *,
[all …]
H A Dpcs-rzn1-miic.h11 struct phylink;
/linux/drivers/net/ethernet/tehuti/
H A Dtn40_phy.c49 struct phylink *phylink; in tn40_phy_register() local
63 phylink = phylink_create(config, NULL, PHY_INTERFACE_MODE_XAUI, in tn40_phy_register()
65 if (IS_ERR(phylink)) in tn40_phy_register()
66 return PTR_ERR(phylink); in tn40_phy_register()
69 priv->phylink = phylink; in tn40_phy_register()
75 phylink_destroy(priv->phylink); in tn40_phy_unregister()
H A Dtn40.h179 struct phylink *phylink; member
/linux/Documentation/networking/
H A Dsfp-phylink.rst4 phylink title
10 phylink is a mechanism to support hot-pluggable networking modules
14 phylink supports conventional phylib-based setups, fixed link setups
20 phylink has several modes of operation, which depend on the firmware
69 Rough guide to converting a network driver to sfp/phylink
73 phylib to the sfp/phylink support. Please send patches to improve
98 #include <linux/phylink.h>
104 struct phylink *phylink;
121 - phylink_start(priv->phylink)
123 - phylink_stop(priv->phylink)
[all …]
/linux/drivers/net/phy/
H A Dphylink.c41 struct phylink { struct
515 static int phylink_validate_mac_and_pcs(struct phylink *pl, in phylink_validate_mac_and_pcs()
579 static void phylink_validate_one(struct phylink *pl, struct phy_device *phy, in phylink_validate_one()
609 static int phylink_validate_mask(struct phylink *pl, struct phy_device *phy, in phylink_validate_mask()
628 static int phylink_validate(struct phylink *pl, unsigned long *supported, in phylink_validate()
659 static int phylink_parse_fixedlink(struct phylink *pl, in phylink_parse_fixedlink()
773 static int phylink_parse_mode(struct phylink *pl, in phylink_parse_mode()
853 static void phylink_apply_manual_flow(struct phylink *pl, in phylink_apply_manual_flow()
958 static unsigned int phylink_inband_caps(struct phylink *pl, in phylink_inband_caps()
973 static void phylink_pcs_poll_stop(struct phylink *pl) in phylink_pcs_poll_stop()
[all …]
/linux/drivers/net/ethernet/wangxun/txgbe/
H A Dtxgbe_aml.c488 struct phylink *phylink; in txgbe_phylink_init_aml() local
513 phylink = phylink_create(config, NULL, phy_mode, &txgbe_mac_ops_aml); in txgbe_phylink_init_aml()
514 if (IS_ERR(phylink)) in txgbe_phylink_init_aml()
515 return PTR_ERR(phylink); in txgbe_phylink_init_aml()
517 err = phylink_set_fixed_link(phylink, &state); in txgbe_phylink_init_aml()
520 phylink_destroy(phylink); in txgbe_phylink_init_aml()
524 wx->phylink = phylink; in txgbe_phylink_init_aml()
H A Dtxgbe_main.c172 phylink_start(wx->phylink); in txgbe_up_complete()
178 phylink_start(wx->phylink); in txgbe_up_complete()
181 phylink_start(wx->phylink); in txgbe_up_complete()
294 phylink_stop(wx->phylink); in txgbe_down()
297 phylink_stop(wx->phylink); in txgbe_down()
302 phylink_stop(wx->phylink); in txgbe_down()
324 phylink_stop(wx->phylink); in txgbe_down_suspend()
/linux/drivers/net/usb/
H A Dasix_devices.c300 phylink_ethtool_get_pauseparam(priv->phylink, pause); in ax88772_ethtool_get_pauseparam()
309 return phylink_ethtool_set_pauseparam(priv->phylink, pause); in ax88772_ethtool_set_pauseparam()
354 phylink_start(priv->phylink); in ax88772_reset()
603 phylink_suspend(priv->phylink, false); in ax88772_suspend()
653 phylink_resume(priv->phylink); in ax88772_resume()
714 ret = phylink_connect_phy(priv->phylink, priv->phydev); in ax88772_init_phy()
735 phylink_disconnect_phy(priv->phylink); in ax88772_init_phy()
803 struct phylink *phylink; in ax88772_phylink_setup() local
820 phylink = phylink_create(&priv->phylink_config, dev->net->dev.fwnode, in ax88772_phylink_setup()
822 if (IS_ERR(phylink)) in ax88772_phylink_setup()
[all …]
H A Dlan78xx.c467 struct phylink *phylink; member
1820 return phylink_ethtool_get_eee(dev->phylink, edata); in lan78xx_get_eee()
1827 return phylink_ethtool_set_eee(dev->phylink, edata); in lan78xx_set_eee()
1858 return phylink_ethtool_ksettings_get(dev->phylink, cmd); in lan78xx_get_link_ksettings()
1866 return phylink_ethtool_ksettings_set(dev->phylink, cmd); in lan78xx_set_link_ksettings()
1874 phylink_ethtool_get_pauseparam(dev->phylink, pause); in lan78xx_get_pause()
1882 return phylink_ethtool_set_pauseparam(dev->phylink, pause); in lan78xx_set_pause()
2636 return phylink_set_fixed_link(dev->phylink, &state); in lan78xx_set_fixed_link()
2802 struct phylink *phylink; in lan78xx_phylink_setup() local
2839 phylink = phylink_create(pc, dev->net->dev.fwnode, in lan78xx_phylink_setup()
[all …]
/linux/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_main.c186 err = phylink_fwnode_phy_connect(port->phylink, port->fwnode, 0); in lan966x_port_open()
192 phylink_start(port->phylink); in lan966x_port_open()
202 phylink_stop(port->phylink); in lan966x_port_stop()
203 phylink_disconnect_phy(port->phylink); in lan966x_port_stop()
761 if (port->phylink) { in lan966x_cleanup_ports()
765 phylink_destroy(port->phylink); in lan966x_cleanup_ports()
766 port->phylink = NULL; in lan966x_cleanup_ports()
796 struct phylink *phylink; in lan966x_probe_port() local
856 phylink = phylink_create(&port->phylink_config, in lan966x_probe_port()
860 if (IS_ERR(phylink)) { in lan966x_probe_port()
[all …]
/linux/drivers/net/ethernet/
H A Djme.c388 u32 phylink, bmsr; in jme_linkstat_from_phy() local
390 phylink = jme_mdio_read(jme->dev, jme->mii_if.phy_id, 17); in jme_linkstat_from_phy()
393 phylink |= PHY_LINK_AUTONEG_COMPLETE; in jme_linkstat_from_phy()
395 return phylink; in jme_linkstat_from_phy()
414 u32 phylink, cnt = JME_SPDRSV_TIMEOUT, bmcr; in jme_check_link() local
421 phylink = jme_linkstat_from_phy(jme); in jme_check_link()
423 phylink = jread32(jme, JME_PHY_LINK); in jme_check_link()
425 if (phylink & PHY_LINK_UP) { in jme_check_link()
426 if (!(phylink & PHY_LINK_AUTONEG_COMPLETE)) { in jme_check_link()
431 phylink = PHY_LINK_UP; in jme_check_link()
[all …]
/linux/Documentation/networking/device_drivers/ethernet/freescale/dpaa2/
H A Dmac-phy-support.rst22 the help of phylink.
26 directly by the dpaa2-eth driver or by phylink.
34 | net_device | | phylink |--| +-----+ +-----+ +-----+ +-----+ |
66 phylink instance, the dpaa2-eth driver will not bind to the connected dpmac
71 phylink) and its attached net_device driver (dpaa2-eth, dpaa2-ethsw),
184 A phylink integration is necessary only when the partner DPMAC is not of
/linux/drivers/net/ethernet/freescale/enetc/
H A Denetc_pf_common.c425 struct phylink *phylink; in enetc_phylink_create() local
462 phylink = phylink_create(&pf->phylink_config, of_fwnode_handle(node), in enetc_phylink_create()
464 if (IS_ERR(phylink)) { in enetc_phylink_create()
465 err = PTR_ERR(phylink); in enetc_phylink_create()
469 priv->phylink = phylink; in enetc_phylink_create()
477 phylink_destroy(priv->phylink); in enetc_phylink_destroy()
/linux/drivers/net/ethernet/atheros/
H A Dag71xx.c371 struct phylink *phylink; member
451 return phylink_mii_ioctl(ag->phylink, ifr, cmd); in ag71xx_do_ioctl()
469 return phylink_ethtool_ksettings_get(ag->phylink, kset); in ag71xx_get_link_ksettings()
477 return phylink_ethtool_ksettings_set(ag->phylink, kset); in ag71xx_set_link_ksettings()
484 return phylink_ethtool_nway_reset(ag->phylink); in ag71xx_ethtool_nway_reset()
492 phylink_ethtool_get_pauseparam(ag->phylink, pause); in ag71xx_ethtool_get_pauseparam()
500 return phylink_ethtool_set_pauseparam(ag->phylink, pause); in ag71xx_ethtool_set_pauseparam()
1076 struct phylink *phylink; in ag71xx_phylink_setup() local
1109 phylink = phylink_create(&ag->phylink_config, ag->pdev->dev.fwnode, in ag71xx_phylink_setup()
1111 if (IS_ERR(phylink)) in ag71xx_phylink_setup()
[all …]
/linux/drivers/net/ethernet/wangxun/ngbe/
H A Dngbe_main.c55 phylink_stop(wx->phylink); in ngbe_down_suspend()
56 phylink_disconnect_phy(wx->phylink); in ngbe_down_suspend()
444 phylink_stop(wx->phylink); in ngbe_down()
471 phylink_start(wx->phylink); in ngbe_up_complete()
505 err = phylink_connect_phy(wx->phylink, wx->phydev); in ngbe_open()
523 phylink_disconnect_phy(wx->phylink); in ngbe_open()
561 phylink_disconnect_phy(wx->phylink); in ngbe_close()
888 phylink_destroy(wx->phylink); in ngbe_probe()
931 phylink_destroy(wx->phylink); in ngbe_remove()
/linux/drivers/net/ethernet/freescale/dpaa/
H A Ddpaa_ethtool.c62 return phylink_ethtool_ksettings_get(mac_dev->phylink, cmd); in dpaa_get_link_ksettings()
71 return phylink_ethtool_ksettings_set(mac_dev->phylink, cmd); in dpaa_set_link_ksettings()
99 return phylink_ethtool_nway_reset(mac_dev->phylink); in dpaa_nway_reset()
108 phylink_ethtool_get_pauseparam(mac_dev->phylink, epause); in dpaa_get_pauseparam()
117 return phylink_ethtool_set_pauseparam(mac_dev->phylink, epause); in dpaa_set_pauseparam()
/linux/drivers/net/ethernet/stmicro/stmmac/
H A Dstmmac_ethtool.c325 return phylink_ethtool_ksettings_get(priv->phylink, cmd); in stmmac_ethtool_get_link_ksettings()
334 return phylink_ethtool_ksettings_set(priv->phylink, cmd); in stmmac_ethtool_set_link_ksettings()
387 return phylink_ethtool_nway_reset(priv->phylink); in stmmac_nway_reset()
427 phylink_ethtool_get_pauseparam(priv->phylink, pause); in stmmac_get_pauseparam()
436 return phylink_ethtool_set_pauseparam(priv->phylink, pause); in stmmac_set_pauseparam()
551 int val = phylink_get_eee_err(priv->phylink); in stmmac_get_ethtool_stats()
726 return phylink_ethtool_get_wol(priv->phylink, wol); in stmmac_get_wol()
733 return phylink_ethtool_set_wol(priv->phylink, wol); in stmmac_set_wol()
741 return phylink_ethtool_get_eee(priv->phylink, edata); in stmmac_ethtool_op_get_eee()
749 return phylink_ethtool_set_eee(priv->phylink, edata); in stmmac_ethtool_op_set_eee()
H A Dstmmac_main.c1309 if (!phylink_expects_phy(priv->phylink)) in stmmac_init_phy()
1349 ret = phylink_connect_phy(priv->phylink, phydev); in stmmac_init_phy()
1352 ret = phylink_fwnode_phy_connect(priv->phylink, fwnode, dev_flags); in stmmac_init_phy()
1366 if (!phylink_ethtool_get_eee(priv->phylink, &eee)) { in stmmac_init_phy()
1368 phylink_ethtool_set_eee(priv->phylink, &eee); in stmmac_init_phy()
1378 struct phylink *phylink; in stmmac_phylink_setup() local
1466 phylink = phylink_create(config, dev_fwnode(priv->device), in stmmac_phylink_setup()
1469 if (IS_ERR(phylink)) in stmmac_phylink_setup()
1470 return PTR_ERR(phylink); in stmmac_phylink_setup()
1472 priv->phylink = phylink; in stmmac_phylink_setup()
[all …]
/linux/drivers/net/ethernet/ti/
H A Dam65-cpsw-nuss.h39 struct phylink *phylink; member
/linux/drivers/net/ethernet/xilinx/
H A Dxilinx_axienet_main.c1674 ret = phylink_of_phy_connect(lp->phylink, lp->dev->of_node, 0); in axienet_open()
1680 phylink_start(lp->phylink); in axienet_open()
1711 phylink_stop(lp->phylink); in axienet_open()
1712 phylink_disconnect_phy(lp->phylink); in axienet_open()
1742 phylink_stop(lp->phylink); in axienet_stop()
1743 phylink_disconnect_phy(lp->phylink); in axienet_stop()
1834 return phylink_mii_ioctl(lp->phylink, rq, cmd); in axienet_ioctl()
2061 phylink_ethtool_get_pauseparam(lp->phylink, epauseparm); in axienet_ethtools_get_pauseparam()
2082 return phylink_ethtool_set_pauseparam(lp->phylink, epauseparm); in axienet_ethtools_set_pauseparam()
2287 return phylink_ethtool_ksettings_get(lp->phylink, cmd); in axienet_ethtools_get_link_ksettings()
[all …]
/linux/drivers/net/ethernet/altera/
H A Daltera_tse_main.c952 ret = phylink_of_phy_connect(priv->phylink, priv->device->of_node, 0); in tse_open()
957 phylink_start(priv->phylink); in tse_open()
988 phylink_stop(priv->phylink); in tse_shutdown()
989 phylink_disconnect_phy(priv->phylink); in tse_shutdown()
1416 priv->phylink = phylink_create(&priv->phylink_config, in altera_tse_probe()
1419 if (IS_ERR(priv->phylink)) { in altera_tse_probe()
1421 ret = PTR_ERR(priv->phylink); in altera_tse_probe()
1445 phylink_destroy(priv->phylink); in altera_tse_probe()
1466 phylink_destroy(priv->phylink); in altera_tse_remove()
H A Daltera_tse_ethtool.c229 return phylink_ethtool_ksettings_set(priv->phylink, cmd); in tse_ethtool_set_link_ksettings()
237 return phylink_ethtool_ksettings_get(priv->phylink, cmd); in tse_ethtool_get_link_ksettings()
/linux/drivers/net/ethernet/freescale/fs_enet/
H A Dfs_enet.h144 struct phylink *phylink; member
/linux/drivers/net/ethernet/marvell/
H A Dmvneta.c538 struct phylink *phylink; member
3786 phylink_start(pp->phylink); in mvneta_start_dev()
3789 phylink_speed_up(pp->phylink); in mvneta_start_dev()
3803 phylink_speed_down(pp->phylink, false); in mvneta_stop_dev()
3805 phylink_stop(pp->phylink); in mvneta_stop_dev()
4354 int err = phylink_of_phy_connect(pp->phylink, pp->dn, 0); in mvneta_mdio_probe()
4359 phylink_ethtool_get_wol(pp->phylink, &wol); in mvneta_mdio_probe()
4371 phylink_disconnect_phy(pp->phylink); in mvneta_mdio_remove()
4650 return phylink_mii_ioctl(pp->phylink, ifr, cmd); in mvneta_ioctl()
4705 return phylink_ethtool_ksettings_set(pp->phylink, cmd); in mvneta_ethtool_set_link_ksettings()
[all …]

123