Lines Matching refs:pcs

51 	struct phylink_pcs *pcs;
655 struct phylink_pcs *pcs;
660 pcs = pl->mac_ops->mac_select_pcs(pl->config, state->interface);
661 if (IS_ERR(pcs))
662 return PTR_ERR(pcs);
664 pcs = pl->pcs;
667 if (pcs) {
672 if (!pcs->ops) {
680 if (pcs->ops->pcs_validate) {
681 ret = pcs->ops->pcs_validate(pcs, supported, state);
980 static void phylink_pcs_pre_config(struct phylink_pcs *pcs,
983 if (pcs && pcs->ops->pcs_pre_config)
984 pcs->ops->pcs_pre_config(pcs, interface);
987 static int phylink_pcs_post_config(struct phylink_pcs *pcs,
992 if (pcs && pcs->ops->pcs_post_config)
993 err = pcs->ops->pcs_post_config(pcs, interface);
998 static void phylink_pcs_disable(struct phylink_pcs *pcs)
1000 if (pcs && pcs->ops->pcs_disable)
1001 pcs->ops->pcs_disable(pcs);
1004 static int phylink_pcs_enable(struct phylink_pcs *pcs)
1008 if (pcs && pcs->ops->pcs_enable)
1009 err = pcs->ops->pcs_enable(pcs);
1014 static int phylink_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
1018 if (!pcs)
1021 return pcs->ops->pcs_config(pcs, neg_mode, state->interface,
1025 static void phylink_pcs_link_up(struct phylink_pcs *pcs, unsigned int neg_mode,
1029 if (pcs && pcs->ops->pcs_link_up)
1030 pcs->ops->pcs_link_up(pcs, neg_mode, interface, speed, duplex);
1041 if (pl->pcs && pl->pcs->poll && pl->cfg_link_an_mode == MLO_AN_INBAND)
1070 if (pl->pcs && linkmode_test_bit(ETHTOOL_LINK_MODE_Autoneg_BIT,
1074 pl->pcs->ops->pcs_an_restart(pl->pcs);
1146 struct phylink_pcs *pcs = NULL;
1159 pcs = pl->mac_ops->mac_select_pcs(pl->config, state->interface);
1160 if (IS_ERR(pcs)) {
1163 pcs);
1167 pcs_changed = pcs && pl->pcs != pcs;
1186 phylink_pcs_disable(pl->pcs);
1188 if (pl->pcs)
1189 pl->pcs->phylink = NULL;
1191 pcs->phylink = pl;
1193 pl->pcs = pcs;
1196 if (pl->pcs)
1197 phylink_pcs_pre_config(pl->pcs, state->interface);
1201 if (pl->pcs)
1202 phylink_pcs_post_config(pl->pcs, state->interface);
1205 phylink_pcs_enable(pl->pcs);
1208 if (pl->pcs && pl->pcs->neg_mode)
1211 err = phylink_pcs_config(pl->pcs, neg_mode, state,
1265 if (pl->pcs->neg_mode)
1272 ret = phylink_pcs_config(pl->pcs, neg_mode, &pl->link_config,
1303 if (pl->pcs)
1304 pl->pcs->ops->pcs_get_state(pl->pcs, state);
1404 if (pl->pcs && pl->pcs->neg_mode)
1407 phylink_pcs_link_up(pl->pcs, neg_mode, pl->cur_interface, speed,
2102 * @pcs: pointer to &struct phylink_pcs
2111 void phylink_pcs_change(struct phylink_pcs *pcs, bool up)
2113 struct phylink *pl = pcs->phylink;
2116 phylink_link_changed(pl, up, "pcs");
2225 phylink_pcs_disable(pl->pcs);
3628 * @pcs: a pointer to a &struct mdio_device.
3640 void phylink_mii_c22_pcs_get_state(struct mdio_device *pcs,
3645 bmsr = mdiodev_read(pcs, MII_BMSR);
3646 lpa = mdiodev_read(pcs, MII_LPA);
3698 * @pcs: a pointer to a &struct mdio_device.
3708 int phylink_mii_c22_pcs_config(struct mdio_device *pcs,
3719 ret = mdiobus_modify_changed(pcs->bus, pcs->addr,
3732 ret = mdiodev_modify(pcs, MII_BMCR, BMCR_ANENABLE | BMCR_ISOLATE, bmcr);
3742 * @pcs: a pointer to a &struct mdio_device.
3751 void phylink_mii_c22_pcs_an_restart(struct mdio_device *pcs)
3753 int val = mdiodev_read(pcs, MII_BMCR);
3758 mdiodev_write(pcs, MII_BMCR, val);
3763 void phylink_mii_c45_pcs_get_state(struct mdio_device *pcs,
3766 struct mii_bus *bus = pcs->bus;
3767 int addr = pcs->addr;