STRUCT PHY_OATC14_SQI_CAPABILITY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct phy_oatc14_sqi_capability(9) πŸ’…

okay so bestie, welcome to section 9 of the Kernel API Manual. yes, the header up top literally reads struct phy_o...i_capability(9) because the terminal ran out of room and gave up πŸ’€ but the full name is struct phy_oatc14_sqi_capability and we're gonna get into it.


✨ NAME ✨

struct phy_oatc14_sqi_capability β€” the SQI capability info for the OATC14 10Base-T1S PHY. that's it, that's the whole vibe πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

struct phy_oatc14_sqi_capability {
    bool updated;
    int sqi_max;
    u8 sqiplus_bits;
};

three fields, no notes, she's compact and she slays πŸ’…


🌸 MEMBERS 🌸

  • updated β€” a lil boolean flag that tells you whether the SQI capability fields have actually been updated. it's giving "did we get the receipts yet" energy 🫢
  • sqi_max β€” the max Signal Quality Indicator (SQI) level the PHY can report. like, the ceiling, the top of the ladder, the main character number πŸ‘‘
  • sqiplus_bits β€” how many bits of SQI+ levels the PHY supports. ngl this one's the whole personality of the struct, so here's the full lore, no cap:
    • 0 β€” SQI+ is not supported (sad, tragic, we don't stan 😭)
    • 3 β€” SQI+ is supported, using 3 bits (8 levels)
    • 4 β€” SQI+ is supported, using 4 bits (16 levels)
    • 5 β€” SQI+ is supported, using 5 bits (32 levels)
    • 6 β€” SQI+ is supported, using 6 bits (64 levels)
    • 7 β€” SQI+ is supported, using 7 bits (128 levels)
    • 8 β€” SQI+ is supported, using 8 bits (256 levels) πŸ”₯

so like… it's a bit-count-to-levels pipeline and every single value is doing cardio. memorize them, iykyk πŸ’œ


🧚 DESCRIPTION 🧚

so the OATC14 10Base-T1S PHY driver uses this structure to store the SQI and SQI+ capability information it retrieved from the PHY. that's literally the whole job β€” it's a little storage container for capability info, holding it down so the driver knows what the PHY can do before it starts acting up. lowkey iconic of her 🌈


⭐ SEE ALSO ⭐

the whole friend group, and yes we're tagging everyone in the group chat, no one gets left on read πŸ’–

Kernel file ./include/linux/phy.h, enum phy_interface_t(9), phy_modes(9), rgmii_clock(9), struct mdio_bus_stats(9), struct mii_bus(9), mdiobus_alloc(9), enum phy_state(9), struct phy_c45_device_ids(9), struct phy_device(9), struct phy_tdr_config(9), enum link_inband_signalling(9), struct phy_plca_cfg(9), struct phy_plca_status(9), struct phy_led(9), struct phy_mse_capability(9), struct phy_mse_snapshot(9), struct phy_driver(9), phy_id_compare(9), phy_id_compare_vendor(9), phy_id_compare_model(9), phydev_id_compare(9), phy_is_started(9), phy_driver_is_genphy(9), phy_disable_eee_mode(9), phy_can_wakeup(9), phy_may_wakeup(9), phy_read(9), __phy_read(9), phy_write(9), __phy_write(9), __phy_modify_changed(9), phy_read_mmd_poll_timeout(9), __phy_set_bits(9), __phy_clear_bits(9), phy_set_bits(9), phy_clear_bits(9), __phy_set_bits_mmd(9), __phy_clear_bits_mmd(9), phy_set_bits_mmd(9), phy_clear_bits_mmd(9), phy_interrupt_is_valid(9), phy_polling_mode(9), phy_has_hwtstamp(9), phy_has_rxtstamp(9), phy_has_tsinfo(9), phy_has_txtstamp(9), phy_is_default_hwtstamp(9), phy_on_sfp(9), phy_interface_mode_is_rgmii(9), phy_interface_mode_is_8023z(9), phy_interface_is_rgmii(9), phy_is_pseudo_fixed_link(9), phy_module_driver(9)

fr fr that's the entire list, don't come for me about the length, she's thorough πŸ’€

πŸŽ€ sign-off πŸŽ€

and that's the page!! this one lives in ./include/linux, the version stamp says October 2026, and the footer echoes back our truncated queen struct phy_o...i_capability(9) one last time for the road. mwah, go read some PHY headers, ily, bye πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from