phy_speed_down(9)
π phy_speed_down(9) π
okay so real talk, this is a page from the Kernel API Manual and it's genuinely not that deep, bestie, let me walk you through it π«Ά
β¨ NAME β¨
phy_speed_down β sets the speed to the lowest speed that both link partners support. that's it, that's the whole vibe πΈ
π SYNOPSIS π
int phy_speed_down (struct phy_device *phydev , bool sync );
like, it returns an int, and it takes two things. slay π
π¦ ARGUMENTS π¦
phydevβ thephy_devicestruct. literally the star of the show, the main character energy πsyncβ perform the action synchronously. yes, it matters, keep reading π
π DESCRIPTION π
so the typical use case here is saving energy while you're just sitting there waiting for a WoL packet to show up. lowkey energy-efficient icon behaviour β‘π
β οΈ WARNING, and I'm so serious rn: settingsynctofalsemay cause the system to be unable to suspend in case the PHY generates an interrupt when it finishes the autonegotiation π that interrupt may wake the system up immediately after suspend. so like, only usesync = falseif you're sure it's safe with the respective network chip. no cap, be careful fr fr π
π₯ SEE ALSO π₯
Kernel file ./drivers/net/phy/phy.c β and here's the whole squad, all of them, every single one, I'm not skipping anybody π
phy_print_status(9), phy_get_rate_matching(9), phy_config_interrupt(9), phy_restart_aneg(9), phy_aneg_done(9), phy_supported_speeds(9), phy_check_valid(9), phy_sanitize_settings(9), phy_mii_ioctl(9), phy_do_ioctl(9), phy_do_ioctl_running(9), __phy_hwtstamp_get(9), __phy_hwtstamp_set(9), phy_queue_state_machine(9), phy_trigger_machine(9), phy_ethtool_get_strings(9), phy_ethtool_get_sset_count(9), phy_ethtool_get_stats(9), __phy_ethtool_get_phy_stats(9), __phy_ethtool_get_link_ext_stats(9), phy_ethtool_get_plca_cfg(9), plca_check_valid(9), phy_ethtool_set_plca_cfg(9), phy_ethtool_get_plca_status(9), phy_start_cable_test(9), phy_start_cable_test_tdr(9), phy_check_link_status(9), phy_inband_caps(9), phy_config_inband(9), _phy_start_aneg(9), phy_start_aneg(9), phy_speed_up(9), phy_start_machine(9), phy_stop_machine(9), phy_error(9), phy_write_barrier(9), phy_disable_interrupts(9), phy_interrupt(9), phy_enable_interrupts(9), phy_update_stats(9), phy_request_interrupt(9), phy_free_interrupt(9), phy_get_next_update_time(9), phy_state_machine(9), phy_stop(9), phy_start(9), phy_mac_interrupt(9), phy_loopback(9), phy_eee_tx_clock_stop_capable(9), phy_eee_rx_clock_stop(9), phy_init_eee(9), phy_get_eee_err(9), phy_ethtool_get_eee(9), phy_ethtool_set_eee_noneg(9), phy_ethtool_set_eee(9), phy_ethtool_set_wol(9), phy_ethtool_get_wol(9), phy_ethtool_nway_reset(9) πβ¨
and that's the page!! this came out of./drivers/net/phy, dated October 2026, forphy_speed_down(9)β go read the others too, iykyk π§π π
π¦ 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