ixgbe_setup_...peed_generic(9)
π ixgbe_setup_phy_link_speed_generic π
okay bestie, so this is a page straight out of the Kernel API Manual β the man page header literally reads ixgbe_setup_...peed_generic(9) (yes the abbreviation is doing the absolute most, we love a main character with a truncated name π
). Today's episode: one little function from the Intel ixgbe PHY corner of the kernel, and we're gonna get into it.
β¨ NAME β¨
ixgbe_setup_phy_link_speed_generic β sets the auto advertised capabilities π«Ά
like, that's the whole gig. that's what she does.
πΈ SYNOPSIS πΈ
int ixgbe_setup_phy_link_speed_generic (struct ixgbe_hw *hw ,
ixgbe_link_speed speed , bool autoneg_wait_to_complete );
keeping it exactly like that, spacing and all, because code is sacred and we do not edit the queen's fit π
π ARGUMENTS π
three lil parameters, and honestly? one of them is just vibing.
hwβ pointer to hardware structure. that's your actual NIC hardware situation, the whole reason we're here β¨speedβ new link speed. this is the speed you want, the one being set up π₯autoneg_wait_to_completeβ unused. bestie. it is literally unused. it's giving extra in the group chat who never says anything π don't read into it, there's nothing to read. it's just there.
π¦ SEE ALSO π¦
okay so this is the part where the man page goes feral and lists what feels like the entire ixgbe PHY family tree. no cap, every single one of these is real and every single one is listed. deep breath, here we go π
first up, the home base β Kernel file ./drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c β and then:
ixgbe_out_i2c_byte_ack(9)ixgbe_in_i2c_byte_ack(9)ixgbe_ones_comp_byte_add(9)ixgbe_read_i2c_combined_generic_int(9)ixgbe_write_i2c_combined_generic_int(9)ixgbe_probe_phy(9)ixgbe_identify_phy_generic(9)ixgbe_check_reset_blocked(9)ixgbe_get_phy_id(9)ixgbe_get_phy_type_from_id(9)ixgbe_reset_phy_generic(9)ixgbe_read_phy_reg_mdi(9)ixgbe_read_phy_reg_generic(9)ixgbe_write_phy_reg_mdi(9)ixgbe_write_phy_reg_generic(9)ixgbe_msca_cmd(9)ixgbe_mii_bus_read_generic_c22(9)ixgbe_mii_bus_read_generic_c45(9)ixgbe_mii_bus_write_generic_c22(9)ixgbe_mii_bus_write_generic_c45(9)ixgbe_mii_bus_read_c22(9)ixgbe_mii_bus_read_c45(9)ixgbe_mii_bus_write_c22(9)ixgbe_mii_bus_write_c45(9)ixgbe_x550em_a_mii_bus_read_c22(9)ixgbe_x550em_a_mii_bus_read_c45(9)ixgbe_x550em_a_mii_bus_write_c22(9)ixgbe_x550em_a_mii_bus_write_c45(9)ixgbe_get_first_secondary_devfn(9)ixgbe_x550em_a_has_mii(9)ixgbe_mii_bus_init(9)ixgbe_setup_phy_link_generic(9)ixgbe_get_copper_speeds_supported(9)ixgbe_get_copper_link_capabilities_generic(9)ixgbe_check_phy_link_tnx(9)ixgbe_setup_phy_link_tnx(9)ixgbe_reset_phy_nl(9)ixgbe_identify_module_generic(9)ixgbe_identify_sfp_module_generic(9)ixgbe_identify_qsfp_module_generic(9)ixgbe_get_sfp_init_sequence_offsets(9)ixgbe_read_i2c_eeprom_generic(9)ixgbe_read_i2c_sff8472_generic(9)ixgbe_write_i2c_eeprom_generic(9)ixgbe_is_sfp_probe(9)ixgbe_read_i2c_byte_generic_int(9)ixgbe_read_i2c_byte_generic(9)ixgbe_read_i2c_byte_generic_unlocked(9)ixgbe_write_i2c_byte_generic_int(9)ixgbe_write_i2c_byte_generic(9)ixgbe_write_i2c_byte_generic_unlocked(9)ixgbe_i2c_start(9)ixgbe_i2c_stop(9)ixgbe_clock_in_i2c_byte(9)ixgbe_clock_out_i2c_byte(9)ixgbe_get_i2c_ack(9)ixgbe_clock_in_i2c_bit(9)ixgbe_clock_out_i2c_bit(9)ixgbe_raise_i2c_clk(9)ixgbe_lower_i2c_clk(9)ixgbe_set_i2c_data(9)ixgbe_get_i2c_data(9)ixgbe_i2c_bus_clear(9)ixgbe_tn_check_overtemp(9)
likeβ¦ that's the whole extended universe right there π every _c22, every _c45, every _unlocked variant, all accounted for. go read them if you're curious, i'm not the one to stop you π§
and that's the page!! source is ./drivers/net/ethernet/intel/i... (yes it's truncated in the footer too, the man page said what it said π) and it's dated October 2026, filed under ixgbe_setup_...peed_generic(9).
that's it, that's the lore. go set those auto advertised capabilities, bestie, and slay β¨ππ
π¦ 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