e1000_phy_setup_autoneg(9)
π e1000_phy_setup_autoneg(9) π
okay so bestie, welcome to the Kernel API Manual page for e1000_phy_setup_autoneg β yes it's a mouthful, no you're not gonna say it out loud, just vibe with it β¨
πΈ NAME πΈ
e1000_phy_setup_autoneg β configure the PHY for auto-negotiation, periodt π
π¦ SYNOPSIS π¦
s32 e1000_phy_setup_autoneg (struct e1000_hw *hw );
π ARGUMENTS π
hwβ pointer to theHWstructure. that's it, that's the whole argument list, she's low-maintenance π
β¨ DESCRIPTION β¨
okay so here's the tea π β this function reads the MII auto-neg advertisement register and/or the 1000T control register, and if the PHY is already set up for auto-negotiation, then it just returns successful. slay, no work needed, we love an early return π
otherwise (iykyk), it sets up the advertisement and flow control to the appropriate values for the auto-negotiation you actually wanted. so it's giving "fix it up so it matches the vibe" energy π₯
π SEE ALSO π
the kernel file lives at ./drivers/net/ethernet/intel/e1000e/phy.c β go read it if you're feeling brave π«Ά and here's the whole friend group, no cap, all of them:
e1000e_check_reset_block_generic(9),e1000e_get_phy_id(9),e1000e_phy_reset_dsp(9),e1000e_read_phy_reg_mdic(9),e1000e_write_phy_reg_mdic(9),e1000e_read_phy_reg_m88(9),e1000e_write_phy_reg_m88(9),e1000_set_page_igp(9),__e1000e_read_phy_reg_igp(9),e1000e_read_phy_reg_igp(9),e1000e_read_phy_reg_igp_locked(9),__e1000e_write_phy_reg_igp(9),e1000e_write_phy_reg_igp(9),e1000e_write_phy_reg_igp_locked(9),__e1000_read_kmrn_reg(9),e1000e_read_kmrn_reg(9),e1000e_read_kmrn_reg_locked(9),__e1000_write_kmrn_reg(9),e1000e_write_kmrn_reg(9),e1000e_write_kmrn_reg_locked(9),e1000_set_master_slave_mode(9),e1000_copper_link_setup_82577(9),e1000e_copper_link_setup_m88(9),e1000e_copper_link_setup_igp(9),e1000_copper_link_autoneg(9),e1000e_setup_copper_link(9),e1000e_phy_force_speed_duplex_igp(9),e1000e_phy_force_speed_duplex_m88(9),e1000_phy_force_speed_duplex_ife(9),e1000e_phy_force_speed_duplex_setup(9),e1000e_set_d3_lplu_state(9),e1000e_check_downshift(9),e1000_check_polarity_m88(9),e1000_check_polarity_igp(9),e1000_check_polarity_ife(9),e1000_wait_autoneg(9),e1000e_phy_has_link_generic(9),e1000e_get_cable_length_m88(9),e1000e_get_cable_length_igp_2(9),e1000e_get_phy_info_m88(9),e1000e_get_phy_info_igp(9),e1000_get_phy_info_ife(9),e1000e_phy_sw_reset(9),e1000e_phy_hw_reset_generic(9),e1000e_get_cfg_done_generic(9),e1000e_phy_init_script_igp3(9),e1000e_get_phy_type_from_id(9),e1000e_determine_phy_address(9),e1000_get_phy_addr_for_bm_page(9),e1000e_write_phy_reg_bm(9),e1000e_read_phy_reg_bm(9),e1000e_read_phy_reg_bm2(9),e1000e_write_phy_reg_bm2(9),e1000_enable_phy_wakeup_reg_access_bm(9),e1000_disable_phy_wakeup_reg_access_bm(9),e1000_access_phy_wakeup_reg_bm(9),e1000_power_up_phy_copper(9),e1000_power_down_phy_copper(9),__e1000_read_phy_reg_hv(9),e1000_read_phy_reg_hv(9),e1000_read_phy_reg_hv_locked(9),e1000_read_phy_reg_page_hv(9),__e1000_write_phy_reg_hv(9),e1000_write_phy_reg_hv(9),e1000_write_phy_reg_hv_locked(9),e1000_write_phy_reg_page_hv(9),e1000_get_phy_addr_for_hv_page(9),e1000_access_phy_debug_regs_hv(9),e1000_link_stall_workaround_hv(9),e1000_check_polarity_82577(9),e1000_phy_force_speed_duplex_82577(9),e1000_get_phy_info_82577(9),e1000_get_cable_length_82577(9)
and that's the whole page, bestie π§ you ate π okay so the cute little sign-off: this page came from the source path ./drivers/net/ethernet/intel/e... (they really said "we're not typing the rest of that"), dated October 2026, and it's the e1000_phy_setup_autoneg(9) page from the Kernel API Manual. mwah ππΈ
π¦ 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