phylink_decode_usgmii_word(9)
π
phylink_decode_usgmii_word β a Kernel API Manual moment β¨
okay so bestie, welcome to the Kernel API Manual page for phylink_decode_usgmii_word(9) β yes the function name is a whole mouthful, no we're not renaming it, it's iconic as is π
β¨ NAME β¨
phylink_decode_usgmii_word β decode the USGMII word from a MAC PCS π§
π¦ SYNOPSIS π¦
void phylink_decode_usgmii_word (struct phylink_link_state *state ,
uint16_t lpa );
πΈ ARGUMENTS πΈ
stateβ a pointer to astruct phylink_link_state. it's giving "here's where your results go" energy πlpaβ auint16_tvalue, and it stores the USGMII auto-negotiation word. sixteen bits of pure potential ngl β¨
π DESCRIPTION π
okay so this one is a helper for MAC PCS that supports the USGMII protocol and the auto-negotiation code word β highkey a little specialist, we love a niche queen π
what it does: it decodes the USGMII code word and populates the corresponding fields β that's speed and duplex β into the phylink_link_state structure. so like, in they go, popped, sorted π«Ά
the way the structure for this word works: it's the same as the USXGMII word, except it only supports speeds up to 1Gbps. so don't come at it expecting 10G, she said 1Gbps and she meant it π
π SEE ALSO π
like the whole friend group tbh, go say hi π
- Kernel file
./drivers/net/phy/phylink.c struct 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_mii_c22_pcs_decode_state(9)phylink_mii_c22_pcs_get_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)
π reminder bestie: same word structure as USXGMII, but 1Gbps max, periodt. don't @ me, @ the manpage.
and that's the whole vibe check π this page lives in ./drivers/net/phy, dated October 2026, and it's brought to you by the Kernel API Manual β mwah, go decode some words, ily ππ
π¦ 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