Lines Matching full:pcs

3  * Marvell 88E6352 family SERDES PCS support
130 static struct mv88e639x_pcs *sgmii_pcs_to_mv88e639x_pcs(struct phylink_pcs *pcs) in sgmii_pcs_to_mv88e639x_pcs() argument
132 return container_of(pcs, struct mv88e639x_pcs, sgmii_pcs); in sgmii_pcs_to_mv88e639x_pcs()
184 static int mv88e639x_sgmii_pcs_enable(struct phylink_pcs *pcs) in mv88e639x_sgmii_pcs_enable() argument
186 struct mv88e639x_pcs *mpcs = sgmii_pcs_to_mv88e639x_pcs(pcs); in mv88e639x_sgmii_pcs_enable()
194 static void mv88e639x_sgmii_pcs_disable(struct phylink_pcs *pcs) in mv88e639x_sgmii_pcs_disable() argument
196 struct mv88e639x_pcs *mpcs = sgmii_pcs_to_mv88e639x_pcs(pcs); in mv88e639x_sgmii_pcs_disable()
202 static void mv88e639x_sgmii_pcs_pre_config(struct phylink_pcs *pcs, in mv88e639x_sgmii_pcs_pre_config() argument
205 struct mv88e639x_pcs *mpcs = sgmii_pcs_to_mv88e639x_pcs(pcs); in mv88e639x_sgmii_pcs_pre_config()
241 static int mv88e639x_sgmii_pcs_post_config(struct phylink_pcs *pcs, in mv88e639x_sgmii_pcs_post_config() argument
244 struct mv88e639x_pcs *mpcs = sgmii_pcs_to_mv88e639x_pcs(pcs); in mv88e639x_sgmii_pcs_post_config()
260 static void mv88e639x_sgmii_pcs_get_state(struct phylink_pcs *pcs, in mv88e639x_sgmii_pcs_get_state() argument
264 struct mv88e639x_pcs *mpcs = sgmii_pcs_to_mv88e639x_pcs(pcs); in mv88e639x_sgmii_pcs_get_state()
299 static int mv88e639x_sgmii_pcs_config(struct phylink_pcs *pcs, in mv88e639x_sgmii_pcs_config() argument
305 struct mv88e639x_pcs *mpcs = sgmii_pcs_to_mv88e639x_pcs(pcs); in mv88e639x_sgmii_pcs_config()
339 static void mv88e639x_sgmii_pcs_an_restart(struct phylink_pcs *pcs) in mv88e639x_sgmii_pcs_an_restart() argument
341 struct mv88e639x_pcs *mpcs = sgmii_pcs_to_mv88e639x_pcs(pcs); in mv88e639x_sgmii_pcs_an_restart()
347 static void mv88e639x_sgmii_pcs_link_up(struct phylink_pcs *pcs, in mv88e639x_sgmii_pcs_link_up() argument
352 struct mv88e639x_pcs *mpcs = sgmii_pcs_to_mv88e639x_pcs(pcs); in mv88e639x_sgmii_pcs_link_up()
381 static struct mv88e639x_pcs *xg_pcs_to_mv88e639x_pcs(struct phylink_pcs *pcs) in xg_pcs_to_mv88e639x_pcs() argument
383 return container_of(pcs, struct mv88e639x_pcs, xg_pcs); in xg_pcs_to_mv88e639x_pcs()
399 static void mv88e639x_xg_pcs_get_state(struct phylink_pcs *pcs, in mv88e639x_xg_pcs_get_state() argument
403 struct mv88e639x_pcs *mpcs = xg_pcs_to_mv88e639x_pcs(pcs); in mv88e639x_xg_pcs_get_state()
439 static int mv88e639x_xg_pcs_config(struct phylink_pcs *pcs, in mv88e639x_xg_pcs_config() argument
513 static int mv88e6390_xg_pcs_enable(struct phylink_pcs *pcs) in mv88e6390_xg_pcs_enable() argument
515 struct mv88e639x_pcs *mpcs = xg_pcs_to_mv88e639x_pcs(pcs); in mv88e6390_xg_pcs_enable()
527 static void mv88e6390_xg_pcs_disable(struct phylink_pcs *pcs) in mv88e6390_xg_pcs_disable() argument
529 struct mv88e639x_pcs *mpcs = xg_pcs_to_mv88e639x_pcs(pcs); in mv88e6390_xg_pcs_disable()
704 * We can get around this by configuring the PCS mode to 1000base-x and then
709 * PCS mode to 1000base-x and frequency to 3.125 GHz from 1.25 GHz) and then
713 * To avoid this, change PCS mode back to 2500base-x when disabling SerDes from
757 static void mv88e6393x_sgmii_pcs_disable(struct phylink_pcs *pcs) in mv88e6393x_sgmii_pcs_disable() argument
759 struct mv88e639x_pcs *mpcs = sgmii_pcs_to_mv88e639x_pcs(pcs); in mv88e6393x_sgmii_pcs_disable()
761 mv88e639x_sgmii_pcs_disable(pcs); in mv88e6393x_sgmii_pcs_disable()
766 static void mv88e6393x_sgmii_pcs_pre_config(struct phylink_pcs *pcs, in mv88e6393x_sgmii_pcs_pre_config() argument
769 struct mv88e639x_pcs *mpcs = sgmii_pcs_to_mv88e639x_pcs(pcs); in mv88e6393x_sgmii_pcs_pre_config()
771 mv88e639x_sgmii_pcs_pre_config(pcs, interface); in mv88e6393x_sgmii_pcs_pre_config()
776 static int mv88e6393x_sgmii_pcs_post_config(struct phylink_pcs *pcs, in mv88e6393x_sgmii_pcs_post_config() argument
779 struct mv88e639x_pcs *mpcs = sgmii_pcs_to_mv88e639x_pcs(pcs); in mv88e6393x_sgmii_pcs_post_config()
794 return mv88e639x_sgmii_pcs_post_config(pcs, interface); in mv88e6393x_sgmii_pcs_post_config()
844 static int mv88e6393x_xg_pcs_enable(struct phylink_pcs *pcs) in mv88e6393x_xg_pcs_enable() argument
846 struct mv88e639x_pcs *mpcs = xg_pcs_to_mv88e639x_pcs(pcs); in mv88e6393x_xg_pcs_enable()
853 static void mv88e6393x_xg_pcs_disable(struct phylink_pcs *pcs) in mv88e6393x_xg_pcs_disable() argument
855 struct mv88e639x_pcs *mpcs = xg_pcs_to_mv88e639x_pcs(pcs); in mv88e6393x_xg_pcs_disable()
862 /* The PCS has to be powered down while CMODE is changed */
863 static void mv88e6393x_xg_pcs_pre_config(struct phylink_pcs *pcs, in mv88e6393x_xg_pcs_pre_config() argument
866 struct mv88e639x_pcs *mpcs = xg_pcs_to_mv88e639x_pcs(pcs); in mv88e6393x_xg_pcs_pre_config()
872 static int mv88e6393x_xg_pcs_post_config(struct phylink_pcs *pcs, in mv88e6393x_xg_pcs_post_config() argument
875 struct mv88e639x_pcs *mpcs = xg_pcs_to_mv88e639x_pcs(pcs); in mv88e6393x_xg_pcs_post_config()
892 static void mv88e6393x_xg_pcs_get_state(struct phylink_pcs *pcs, in mv88e6393x_xg_pcs_get_state() argument
896 struct mv88e639x_pcs *mpcs = xg_pcs_to_mv88e639x_pcs(pcs); in mv88e6393x_xg_pcs_get_state()
901 return mv88e639x_xg_pcs_get_state(pcs, neg_mode, state); in mv88e6393x_xg_pcs_get_state()