STRUCT PHY_TDR_CONFIG(9)
π struct phy_tdr_config(9) β like, the Kernel API Manual, but make it make sense π
okay so bestie, we're in the Kernel API Manual today and the vibe is very specific: this is all about one lil struct that configures a TDR raw test. lowkey iconic, highkey niche. let's get into it β¨
πΈ NAME πΈ
struct phy_tdr_config β the configuration of a TDR raw test, periodt.
β¨ SYNOPSIS β¨
struct phy_tdr_config {
u32 first;
u32 last;
u32 step;
s8 pair;
};
no cap, that's the whole shape of it. four lil fields, all business π«Ά
π¦ Members π¦
firstβ the distance for the first data collection point πlastβ the distance for the last data collection point πstepβ the step between data collection points, like the spacing between them πpairβ a bitmap of the cable pairs to collect data for π§΅ (yes, bitmap, she's bitmasking, iykyk)
π Description π
so basically, this struct holds all the possible configuration parameters for a TDR cable test. it's giving "options menu" energy, honestly π
the driver does not need to implement all the parameters β that's the slay part, no pressure β but it should report what is actually used. like, be honest about what you're running, bestie π
and the important little detail: all distances are in centimeters π literally all of them. do not come in here with inches, I'm begging π
π₯ SEE ALSO π₯
- the 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_oatc14_sqi_capability(9)struct phy_device(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)
like, that's the whole friend group right there π every single one of them made the list, no one got left on read π«Ά
and that's the page, bestie! π this lil gem lives in ./include/linux, dated October 2026, and it's filed under struct phy_tdr_config(9) β go forth and configure your TDR raw test with main character energy πβ¨π
π¦ 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