phylink_mii...cs_get_state(9)
π phylink_mii...cs_get_state(9) β Kernel API Manual β¨
okay so bestie, we're diving into the Kernel API Manual today and honestly? this one's a little gem π«Ά it's the phylink_mii_c22_pcs_get_state page, and yes it does exactly what it says on the tin (read the MAC PCS state, icon behavior only π
). let's gooo π
πΈ NAME πΈ
phylink_mii_c22_pcs_get_state β read the MAC PCS state π
β¨ SYNOPSIS β¨
void phylink_mii_c22_pcs_get_state (struct mdio_device *pcs , unsigned
int neg_mode , struct phylink_link_state *state );
π ARGUMENTS π
pcsβ literally just a pointer to astruct mdio_device. that's it, that's the whole vibe π¦neg_modeβ the link negotiation mode, aka thePHYLINK_PCS_NEG_xxxfam πstateβ a pointer to astruct phylink_link_state, where the good stuff lands β¨
π DESCRIPTION π
so this is a helper β a lil support-system main character β for a MAC PCS that supports the 802.3 clause 22 register set, for clause 37 negotiation and/or SGMII control π₯
what it does: reads the MAC PCS state from the MII device configured in config, then parses the Clause 37 or Cisco SGMII link partner negotiation word straight into the phylink state structure. no cap, that's the whole job π
and the best part? it's suitable to be directly plugged into the pcs_get_state member of the struct phylink_pcs_ops structure. plug-and-play energy fr fr π§β¨
π¦ SEE ALSO π¦
- Kernel file
./drivers/net/phy/phylink.candstruct phylink(9) phylink_set_port_modes(9)phylink_interface_max_speed(9)phylink_caps_to_link_caps(9)phylink_caps_to_linkmodes(9)phylink_limit_mac_speed(9)phylink_cap_from_speed_duplex(9)phylink_get_capabilities(9)phylink_validate_mask_caps(9)phylink_pcs_neg_mode(9)phylink_set_fixed_link(9)phylink_create(9)phylink_destroy(9)phylink_expects_phy(9)phylink_connect_phy(9)phylink_of_phy_connect(9)phylink_fwnode_phy_connect(9)phylink_disconnect_phy(9)phylink_mac_change(9)phylink_pcs_change(9)phylink_start(9)phylink_stop(9)phylink_rx_clk_stop_block(9)phylink_rx_clk_stop_unblock(9)phylink_suspend(9)phylink_prepare_resume(9)phylink_resume(9)phylink_ethtool_get_wol(9)phylink_ethtool_set_wol(9)phylink_ethtool_ksettings_get(9)phylink_ethtool_ksettings_set(9)phylink_ethtool_nway_reset(9)phylink_ethtool_get_pauseparam(9)phylink_ethtool_set_pauseparam(9)phylink_get_eee_err(9)phylink_ethtool_get_eee(9)phylink_ethtool_set_eee(9)phylink_mii_ioctl(9)phylink_speed_down(9)phylink_speed_up(9)phylink_decode_usxgmii_word(9)phylink_decode_usgmii_word(9)phylink_mii_c22_pcs_decode_state(9)phylink_mii_c22_pcs_encode_advertisement(9)phylink_mii_c22_pcs_config(9)phylink_mii_c22_pcs_an_restart(9)phylink_replay_link_begin(9)phylink_replay_link_end(9)
and that's the whole page bestie, we ate and left no crumbs ππ this lil cutie lives in ./drivers/net/phy, dated October 2026, and it's signed off by the Kernel API Manual itself β periodt ππβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms