igb_wait_autoneg(9)
π igb_wait_autoneg(9) π
okay so this is a page straight out of the Kernel API Manual, and honestly? it's a little function with big "wait for meee" energy. bestie, let's get into it π
β¨ NAME β¨
igb_wait_autoneg β literally just waiting for auto-neg to finish, no cap
πΈ SYNOPSIS πΈ
s32 igb_wait_autoneg (struct e1000_hw *hw );
that's it. that's the whole vibe. one arg, returns an s32, we move π
π¦ ARGUMENTS π¦
hwβ pointer to the HW structure. yes bestie, pointer. the hardware struct. she's the main character here and she needs to know where she lives π
β DESCRIPTION β
so what does she do? she waits π
igb_wait_autoneg waits for auto-negotiation to complete, or for the auto-negotiation time limit to expire β whichever happens first. that's the whole lore. whoever gets there first wins, and it's giving race condition but make it intentional π
ngl this is the "are we there yet" of kernel functions and i respect it for that. the wait is bounded, which is the important part β she's not gonna sit there forever being dramatic π
π SEE ALSO π
y'all, the friend group is huge. gather round for the whole squad, they're all in Kernel file ./drivers/net/ethernet/intel/igb/e1000_phy.c and honestly this is a whole group chat:
igb_check_reset_block(9)igb_get_phy_id(9)igb_phy_reset_dsp(9)igb_read_phy_reg_mdic(9)igb_write_phy_reg_mdic(9)igb_read_phy_reg_i2c(9)igb_write_phy_reg_i2c(9)igb_read_sfp_data_byte(9)igb_read_phy_reg_igp(9)igb_write_phy_reg_igp(9)igb_copper_link_setup_82580(9)igb_copper_link_setup_m88(9)igb_copper_link_setup_m88_gen2(9)igb_copper_link_setup_igp(9)igb_copper_link_autoneg(9)igb_phy_setup_autoneg(9)igb_setup_copper_link(9)igb_phy_force_speed_duplex_igp(9)igb_phy_force_speed_duplex_m88(9)igb_phy_force_speed_duplex_setup(9)igb_set_d3_lplu_state(9)igb_check_downshift(9)igb_check_polarity_m88(9)igb_check_polarity_igp(9)igb_phy_has_link(9)igb_get_cable_length_m88(9)igb_get_cable_length_igp_2(9)igb_get_phy_info_m88(9)igb_get_phy_info_igp(9)igb_phy_sw_reset(9)igb_phy_hw_reset(9)igb_phy_init_script_igp3(9)igb_initialize_M88E1512_phy(9)igb_initialize_M88E1543_phy(9)igb_power_up_phy_copper(9)igb_power_down_phy_copper(9)igb_check_polarity_82580(9)igb_phy_force_speed_duplex_82580(9)igb_get_phy_info_82580(9)igb_get_cable_length_82580(9)igb_set_master_slave_mode(9)
like i said β the whole squad. iykyk π«Ά
and that's the page, bestie! this lil icon lives over in ./drivers/net/ethernet/intel/igb and the version stamp on her birth certificate says October 2026 β she's a kernel API Manual girlie through and through, and honestly? we're obsessed πβ¨πΈ
π¦ 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