Lines Matching full:pcs

48 	struct phylink_pcs *pcs;  member
388 /* Check if MAC/PCS also supports Autoneg. */ in phylink_parse_mode()
444 pl->pcs_ops->pcs_an_restart(pl->pcs); in phylink_mac_pcs_an_restart()
470 err = pl->pcs_ops->pcs_config(pl->pcs, pl->cur_link_an_mode, in phylink_major_config()
495 * If we have a separate PCS, we only need to call its pcs_config() method,
519 /* Modern PCS-based method; update the advert at the PCS, and in phylink_change_inband_advert()
523 ret = pl->pcs_ops->pcs_config(pl->pcs, pl->cur_link_an_mode, in phylink_change_inband_advert()
550 pl->pcs_ops->pcs_get_state(pl->pcs, state); in phylink_mac_pcs_get_state()
623 pl->pcs_ops->pcs_link_up(pl->pcs, pl->cur_link_an_mode, in phylink_link_up()
724 * old mac_config() method to configure the MAC/PCS in phylink_resolve()
725 * only if we do not have a PCS installed (an in phylink_resolve()
885 * phylink_set_pcs() - set the current PCS for phylink to use
887 * @pcs: a pointer to the &struct phylink_pcs
889 * Bind the MAC PCS to phylink. This may be called after phylink_create(),
891 * change the PCS.
894 * callback if a PCS is present (denoting a newer setup) so removing a PCS
895 * is not supported, and if a PCS is going to be used, it must be registered
898 void phylink_set_pcs(struct phylink *pl, struct phylink_pcs *pcs) in phylink_set_pcs() argument
900 pl->pcs = pcs; in phylink_set_pcs()
901 pl->pcs_ops = pcs->ops; in phylink_set_pcs()
1265 if (pl->pcs) in phylink_start()
1266 poll |= pl->pcs->poll; in phylink_start()
1495 /* The MAC is reporting the link results from its own PCS in phylink_ethtool_ksettings_get()
2466 * phylink_decode_usxgmii_word() - decode the USXGMII word from a MAC PCS
2470 * Helper for MAC PCS supporting the USXGMII protocol and the auto-negotiation
2509 * phylink_mii_c22_pcs_get_state() - read the MAC PCS state
2510 * @pcs: a pointer to a &struct mdio_device.
2513 * Helper for MAC PCS supporting the 802.3 clause 22 register set for
2516 * Read the MAC PCS state from the MII device configured in @config and
2522 void phylink_mii_c22_pcs_get_state(struct mdio_device *pcs, in phylink_mii_c22_pcs_get_state() argument
2525 struct mii_bus *bus = pcs->bus; in phylink_mii_c22_pcs_get_state()
2526 int addr = pcs->addr; in phylink_mii_c22_pcs_get_state()
2563 * phylink_mii_c22_pcs_set_advertisement() - configure the clause 37 PCS
2565 * @pcs: a pointer to a &struct mdio_device.
2569 * Helper for MAC PCS supporting the 802.3 clause 22 register set for
2572 * Configure the clause 37 PCS advertisement as specified by @state. This
2579 int phylink_mii_c22_pcs_set_advertisement(struct mdio_device *pcs, in phylink_mii_c22_pcs_set_advertisement() argument
2583 struct mii_bus *bus = pcs->bus; in phylink_mii_c22_pcs_set_advertisement()
2584 int addr = pcs->addr; in phylink_mii_c22_pcs_set_advertisement()
2634 * phylink_mii_c22_pcs_config() - configure clause 22 PCS
2635 * @pcs: a pointer to a &struct mdio_device.
2640 * Configure a Clause 22 PCS PHY with the appropriate negotiation
2645 int phylink_mii_c22_pcs_config(struct mdio_device *pcs, unsigned int mode, in phylink_mii_c22_pcs_config() argument
2653 ret = phylink_mii_c22_pcs_set_advertisement(pcs, interface, in phylink_mii_c22_pcs_config()
2662 ret = mdiobus_modify(pcs->bus, pcs->addr, MII_BMCR, in phylink_mii_c22_pcs_config()
2673 * @pcs: a pointer to a &struct mdio_device.
2675 * Helper for MAC PCS supporting the 802.3 clause 22 register set for
2682 void phylink_mii_c22_pcs_an_restart(struct mdio_device *pcs) in phylink_mii_c22_pcs_an_restart() argument
2684 struct mii_bus *bus = pcs->bus; in phylink_mii_c22_pcs_an_restart()
2685 int val, addr = pcs->addr; in phylink_mii_c22_pcs_an_restart()
2696 void phylink_mii_c45_pcs_get_state(struct mdio_device *pcs, in phylink_mii_c45_pcs_get_state() argument
2699 struct mii_bus *bus = pcs->bus; in phylink_mii_c45_pcs_get_state()
2700 int addr = pcs->addr; in phylink_mii_c45_pcs_get_state()