Lines Matching refs:pcs
51 struct phylink_pcs *pcs;
660 struct phylink_pcs *pcs;
665 pcs = pl->mac_ops->mac_select_pcs(pl->config, state->interface);
666 if (IS_ERR(pcs))
667 return PTR_ERR(pcs);
669 pcs = pl->pcs;
672 if (pcs) {
677 if (!pcs->ops) {
685 if (pcs->ops->pcs_validate) {
686 ret = pcs->ops->pcs_validate(pcs, supported, state);
1022 static void phylink_pcs_pre_config(struct phylink_pcs *pcs,
1025 if (pcs && pcs->ops->pcs_pre_config)
1026 pcs->ops->pcs_pre_config(pcs, interface);
1029 static int phylink_pcs_post_config(struct phylink_pcs *pcs,
1034 if (pcs && pcs->ops->pcs_post_config)
1035 err = pcs->ops->pcs_post_config(pcs, interface);
1040 static void phylink_pcs_disable(struct phylink_pcs *pcs)
1042 if (pcs && pcs->ops->pcs_disable)
1043 pcs->ops->pcs_disable(pcs);
1046 static int phylink_pcs_enable(struct phylink_pcs *pcs)
1050 if (pcs && pcs->ops->pcs_enable)
1051 err = pcs->ops->pcs_enable(pcs);
1056 static int phylink_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
1060 if (!pcs)
1063 return pcs->ops->pcs_config(pcs, neg_mode, state->interface,
1067 static void phylink_pcs_link_up(struct phylink_pcs *pcs, unsigned int neg_mode,
1071 if (pcs && pcs->ops->pcs_link_up)
1072 pcs->ops->pcs_link_up(pcs, neg_mode, interface, speed, duplex);
1083 if (pl->pcs && pl->pcs->poll && pl->cfg_link_an_mode == MLO_AN_INBAND)
1112 if (pl->pcs && linkmode_test_bit(ETHTOOL_LINK_MODE_Autoneg_BIT,
1116 pl->pcs->ops->pcs_an_restart(pl->pcs);
1122 struct phylink_pcs *pcs = NULL;
1135 pcs = pl->mac_ops->mac_select_pcs(pl->config, state->interface);
1136 if (IS_ERR(pcs)) {
1139 pcs);
1143 pcs_changed = pcs && pl->pcs != pcs;
1162 phylink_pcs_disable(pl->pcs);
1164 if (pl->pcs)
1165 pl->pcs->phylink = NULL;
1167 pcs->phylink = pl;
1169 pl->pcs = pcs;
1172 if (pl->pcs)
1173 phylink_pcs_pre_config(pl->pcs, state->interface);
1177 if (pl->pcs)
1178 phylink_pcs_post_config(pl->pcs, state->interface);
1181 phylink_pcs_enable(pl->pcs);
1184 if (pl->pcs && pl->pcs->neg_mode)
1187 err = phylink_pcs_config(pl->pcs, neg_mode, state,
1241 if (pl->pcs->neg_mode)
1248 ret = phylink_pcs_config(pl->pcs, neg_mode, &pl->link_config,
1279 if (pl->pcs)
1280 pl->pcs->ops->pcs_get_state(pl->pcs, state);
1380 if (pl->pcs && pl->pcs->neg_mode)
1383 phylink_pcs_link_up(pl->pcs, neg_mode, pl->cur_interface, speed,
2031 * @pcs: pointer to &struct phylink_pcs
2040 void phylink_pcs_change(struct phylink_pcs *pcs, bool up)
2042 struct phylink *pl = pcs->phylink;
2045 phylink_link_changed(pl, up, "pcs");
2154 phylink_pcs_disable(pl->pcs);
3569 * @pcs: a pointer to a &struct mdio_device.
3581 void phylink_mii_c22_pcs_get_state(struct mdio_device *pcs,
3586 bmsr = mdiodev_read(pcs, MII_BMSR);
3587 lpa = mdiodev_read(pcs, MII_LPA);
3639 * @pcs: a pointer to a &struct mdio_device.
3649 int phylink_mii_c22_pcs_config(struct mdio_device *pcs,
3660 ret = mdiobus_modify_changed(pcs->bus, pcs->addr,
3673 ret = mdiodev_modify(pcs, MII_BMCR, BMCR_ANENABLE | BMCR_ISOLATE, bmcr);
3683 * @pcs: a pointer to a &struct mdio_device.
3692 void phylink_mii_c22_pcs_an_restart(struct mdio_device *pcs)
3694 int val = mdiodev_read(pcs, MII_BMCR);
3699 mdiodev_write(pcs, MII_BMCR, val);
3704 void phylink_mii_c45_pcs_get_state(struct mdio_device *pcs,
3707 struct mii_bus *bus = pcs->bus;
3708 int addr = pcs->addr;