e1000e_phy_...d_duplex_m88(9)
π e1000e_phy_force_speed_duplex_m88 β the manual page, but make it make sense π
okay so bestie, this is a page from the Kernel API Manual, and the star of the show is e1000e_phy_force_speed_duplex_m88. Yes the title's a whole mouthful, we're gonna get through it together π«Ά
β¨ NAME β¨
e1000e_phy_force_speed_duplex_m88 β literally the function that forces speed/duplex for the m88 PHY. no cap, that's the entire job description π
π¦ SYNOPSIS π¦
s32 e1000e_phy_force_speed_duplex_m88 (struct e1000_hw *hw );
it's giving "one argument, one return value, zero drama" β¨
πΈ ARGUMENTS πΈ
hwβ pointer to the HW structure. like, the whole hardware vibe check lives in here π
π₯ DESCRIPTION π₯
okay so here's the tea β β this function calls the PHY setup function to force speed and duplex. periodt.
it also clears the auto-crossover to force MDI manually (yes, manually, we're taking the wheel π), and then resets the PHY to commit the changes. gotta lock in your edits, yk? π₯
now, if time expires while waiting for link up, we reset the DSP. no link? no problem, we just do a little reset moment π§
after that reset, TX_CLK and CRS on Tx must be set β not optional, bestie, that's a must π
and finally: return successful upon successful completion, else return corresponding error code. so basically, slay if it works, and if it doesn't, you get the error code that matches. predictable. iconic. π
π SEE ALSO π
the main character file itself:
- Kernel file
./drivers/net/ethernet/intel/e1000e/phy.c
and now, the group chat β the full cast of related man pages, every single one, in order, no one left out π«Ά:
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_phy_setup_autoneg(9)e1000_copper_link_autoneg(9)e1000e_setup_copper_link(9)e1000e_phy_force_speed_duplex_igp(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)
like, that's a lot of friends and honestly? we love a well-connected function π
and that's the whole page, bestie π¦ this one came from the source file ./drivers/net/ethernet/intel/e... and it's dated October 2026 β so future-core of it, honestly. mwah, go force some speed and duplex responsibly π
β¨π
π¦ 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