STRUCT MXL862XX_XPCS_PCS_LINK_UP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

struct mxl862xx_xpcs_pcs_link_up β€” literally just the PCS link-up parameters, bestie πŸ’…

(also hi, welcome to the Kernel API Manual, you're gonna do great 🫢)


🌸 SYNOPSIS 🌸

struct mxl862xx_xpcs_pcs_link_up {
    __le16 mode;
    __le16 speed;
    __le16 result;
 };

okay so that's the whole struct, it's giving tiny but mighty ✨


πŸŽ€ Members πŸŽ€

  • mode β€” the packed input parameters, and you're gonna wanna look at MXL862XX_XPCS_LU_* for the deets. Inside it: port_id is the XPCS port index, and it's 0-3 (no cap, that's the range fr). interface is the PCS interface mode (MXL862XX_XPCS_IF_*). duplex is the duplex mode (MXL862XX_XPCS_DUPLEX_*). usx_lane_mode is the USX lane mode β€” USXGMII only, ignored otherwise, and it's MXL862XX_XPCS_USX_*. And usx_subport (0-3) selects the sub-port for QUSXGMII and QSGMII (yes, despite the name πŸ‘€) and is ignored otherwise, periodt.
  • speed β€” the resolved speed, in Mbit/s 🏎️
  • result β€” the firmware result. 0 on success, <0 is errno. simple as that πŸ’–

πŸ¦‹ Description πŸ¦‹

So this bad boy gets called once per link-up event, right β€” but only after the host has already resolved the line-side speed/duplex. And where does that come from? One of three places, iykyk:

  • from the PHY's read_status
  • from a preceding PCS get-state
  • or from a fixed-link description

main character energy for real πŸ‘‘


🌈 SEE ALSO 🌈

The kernel file is ./drivers/net/dsa/mxl862xx/mxl862xx-api.h β€” that's the home base 🏠 and here's the whole friend group:

  • struct mdio_relay_data(9)
  • struct mxl862xx_register_mod(9)
  • enum mxl862xx_mac_table_filter(9)
  • struct mxl862xx_mac_table_add(9)
  • struct mxl862xx_mac_table_remove(9)
  • struct mxl862xx_mac_table_read(9)
  • struct mxl862xx_mac_table_query(9)
  • enum mxl862xx_mac_clear_type(9)
  • struct mxl862xx_mac_table_clear(9)
  • enum mxl862xx_age_timer(9)
  • struct mxl862xx_bridge_alloc(9)
  • enum mxl862xx_bridge_config_mask(9)
  • enum mxl862xx_bridge_port_egress_meter(9)
  • struct mxl862xx_qos_meter_cfg(9)
  • enum mxl862xx_bridge_forward_mode(9)
  • struct mxl862xx_bridge_config(9)
  • struct mxl862xx_bridge_port_alloc(9)
  • enum mxl862xx_bridge_port_config_mask(9)
  • enum mxl862xx_color_marking_mode(9)
  • enum mxl862xx_color_remarking_mode(9)
  • enum mxl862xx_pmapper_mapping_mode(9)
  • struct mxl862xx_pmapper(9)
  • struct mxl862xx_bridge_port_config(9)
  • struct mxl862xx_cfg(9)
  • enum mxl862xx_extended_vlan_filter_type(9)
  • enum mxl862xx_extended_vlan_filter_tpid(9)
  • enum mxl862xx_extended_vlan_filter_dei(9)
  • enum mxl862xx_extended_vlan_treatment_remove_tag(9)
  • enum mxl862xx_extended_vlan_treatment_priority(9)
  • enum mxl862xx_extended_vlan_treatment_vid(9)
  • enum mxl862xx_extended_vlan_treatment_tpid(9)
  • enum mxl862xx_extended_vlan_treatment_dei(9)
  • enum mxl862xx_extended_vlan_4_tpid_mode(9)
  • enum mxl862xx_extended_vlan_filter_ethertype(9)
  • struct mxl862xx_extendedvlan_filter_vlan(9)
  • struct mxl862xx_extendedvlan_filter(9)
  • struct mxl862xx_extendedvlan_treatment_vlan(9)
  • struct mxl862xx_extendedvlan_treatment(9)
  • struct mxl862xx_extendedvlan_alloc(9)
  • struct mxl862xx_extendedvlan_config(9)
  • enum mxl862xx_vlan_filter_tci_mask(9)
  • struct mxl862xx_vlanfilter_alloc(9)
  • struct mxl862xx_vlanfilter_config(9)
  • enum mxl862xx_ss_sp_tag_mask(9)
  • enum mxl862xx_ss_sp_tag_rx(9)
  • enum mxl862xx_ss_sp_tag_tx(9)
  • enum mxl862xx_ss_sp_tag_rx_pen(9)
  • struct mxl862xx_ss_sp_tag(9)
  • enum mxl862xx_logical_port_mode(9)
  • struct mxl862xx_ctp_port_assignment(9)
  • enum mxl862xx_stp_port_state(9)
  • struct mxl862xx_stp_port_cfg(9)
  • struct mxl862xx_sys_fw_image_version(9)
  • enum mxl862xx_port_type(9)
  • enum mxl862xx_rmon_port_type(9)
  • struct mxl862xx_rmon_port_cnt(9)
  • union mxl862xx_xpcs_an_word(9)
  • enum mxl862xx_xpcs_loopback_mode(9)
  • struct mxl862xx_xpcs_pcs_cfg(9)
  • struct mxl862xx_xpcs_pcs_state(9)
  • struct mxl862xx_xpcs_pcs_disable(9)
  • struct mxl862xx_xpcs_an_restart(9)

okay that's the whole page, go forth and slay πŸ’–βœ¨

sign-off szn: this one lives at ./drivers/net/dsa/mxl862xx πŸ“, dated October 2026 🌸, and it's the struct mxl86..._pcs_link_up(9) page β€” mwah, catch you on the next one bestie πŸ‘‘πŸ’…

πŸ“¦ where this page comes from