Lines Matching full:pcs
46 struct phylink_pcs *pcs; member
375 /* Check if MAC/PCS also supports Autoneg. */ in phylink_parse_mode()
431 pl->pcs_ops->pcs_an_restart(pl->pcs); in phylink_mac_pcs_an_restart()
457 err = pl->pcs_ops->pcs_config(pl->pcs, pl->cur_link_an_mode, in phylink_major_config()
482 * If we have a separate PCS, we only need to call its pcs_config() method,
506 /* Modern PCS-based method; update the advert at the PCS, and in phylink_change_inband_advert()
510 ret = pl->pcs_ops->pcs_config(pl->pcs, pl->cur_link_an_mode, in phylink_change_inband_advert()
537 pl->pcs_ops->pcs_get_state(pl->pcs, state); in phylink_mac_pcs_get_state()
610 pl->pcs_ops->pcs_link_up(pl->pcs, pl->cur_link_an_mode, in phylink_link_up()
709 * old mac_config() method to configure the MAC/PCS in phylink_resolve()
710 * only if we do not have a PCS installed (an in phylink_resolve()
870 * phylink_set_pcs() - set the current PCS for phylink to use
872 * @pcs: a pointer to the &struct phylink_pcs
874 * Bind the MAC PCS to phylink. This may be called after phylink_create(),
876 * change the PCS.
879 * callback if a PCS is present (denoting a newer setup) so removing a PCS
880 * is not supported, and if a PCS is going to be used, it must be registered
883 void phylink_set_pcs(struct phylink *pl, struct phylink_pcs *pcs) in phylink_set_pcs() argument
885 pl->pcs = pcs; in phylink_set_pcs()
886 pl->pcs_ops = pcs->ops; in phylink_set_pcs()
1233 if (pl->pcs) in phylink_start()
1234 poll |= pl->pcs->poll; in phylink_start()
1383 /* The MAC is reporting the link results from its own PCS in phylink_ethtool_ksettings_get()
2324 * phylink_decode_usxgmii_word() - decode the USXGMII word from a MAC PCS
2328 * Helper for MAC PCS supporting the USXGMII protocol and the auto-negotiation
2367 * phylink_mii_c22_pcs_get_state() - read the MAC PCS state
2368 * @pcs: a pointer to a &struct mdio_device.
2371 * Helper for MAC PCS supporting the 802.3 clause 22 register set for
2374 * Read the MAC PCS state from the MII device configured in @config and
2380 void phylink_mii_c22_pcs_get_state(struct mdio_device *pcs, in phylink_mii_c22_pcs_get_state() argument
2383 struct mii_bus *bus = pcs->bus; in phylink_mii_c22_pcs_get_state()
2384 int addr = pcs->addr; in phylink_mii_c22_pcs_get_state()
2421 * phylink_mii_c22_pcs_set_advertisement() - configure the clause 37 PCS
2423 * @pcs: a pointer to a &struct mdio_device.
2427 * Helper for MAC PCS supporting the 802.3 clause 22 register set for
2430 * Configure the clause 37 PCS advertisement as specified by @state. This
2437 int phylink_mii_c22_pcs_set_advertisement(struct mdio_device *pcs, in phylink_mii_c22_pcs_set_advertisement() argument
2441 struct mii_bus *bus = pcs->bus; in phylink_mii_c22_pcs_set_advertisement()
2442 int addr = pcs->addr; in phylink_mii_c22_pcs_set_advertisement()
2492 * phylink_mii_c22_pcs_config() - configure clause 22 PCS
2493 * @pcs: a pointer to a &struct mdio_device.
2498 * Configure a Clause 22 PCS PHY with the appropriate negotiation
2503 int phylink_mii_c22_pcs_config(struct mdio_device *pcs, unsigned int mode, in phylink_mii_c22_pcs_config() argument
2511 ret = phylink_mii_c22_pcs_set_advertisement(pcs, interface, in phylink_mii_c22_pcs_config()
2519 ret = mdiobus_modify(pcs->bus, pcs->addr, MII_BMCR, in phylink_mii_c22_pcs_config()
2530 * @pcs: a pointer to a &struct mdio_device.
2532 * Helper for MAC PCS supporting the 802.3 clause 22 register set for
2539 void phylink_mii_c22_pcs_an_restart(struct mdio_device *pcs) in phylink_mii_c22_pcs_an_restart() argument
2541 struct mii_bus *bus = pcs->bus; in phylink_mii_c22_pcs_an_restart()
2542 int val, addr = pcs->addr; in phylink_mii_c22_pcs_an_restart()
2553 void phylink_mii_c45_pcs_get_state(struct mdio_device *pcs, in phylink_mii_c45_pcs_get_state() argument
2556 struct mii_bus *bus = pcs->bus; in phylink_mii_c45_pcs_get_state()
2557 int addr = pcs->addr; in phylink_mii_c45_pcs_get_state()