e1000_set_vco_speed(9)
π e1000_set_vco_speed β a Kernel API Manual moment
okay so first things first, bestie: this page lives in the Kernel API Manual (that's the manual name, we're folding it in here so it doesn't get lost π«Ά). It's e1000_set_vco_speed(9) and it's short, sweet, and does exactly one iconic little thing. Let's get into it β¨
β¨ SYNOPSIS β¨
s32 e1000_set_vco_speed (struct e1000_hw *hw );
That's the whole signature, no notes π
π ARGUMENTS π
hwβ the struct that's holding all the variables our shared code needs to reach. Struct containing variables accessed by shared code. That's the vibe, that's the whole job of this parameter.
πΈ DESCRIPTION πΈ
so the actual tea here is: this function changes the VCO speed register ποΈ and the reason is genuinely cute β it's to improve Bit Error Rate performance of SERDES π like, it's just out here making the signal less messy. no cap, that's it, that's the function π
π¦ SEE ALSO π¦
the friend group π«Ά (and yes, it's a big friend group, we love a full guest list):
- Kernel file
./drivers/net/ethernet/intel/e1000/e1000_hw.c
and all of these lovelies:
e1000_set_phy_type(9)e1000_phy_init_script(9)e1000_set_mac_type(9)e1000_set_media_type(9)e1000_reset_hw(9)e1000_init_hw(9)e1000_adjust_serdes_amplitude(9)e1000_setup_link(9)e1000_setup_fiber_serdes_link(9)e1000_copper_link_rtl_setup(9)e1000_copper_link_preconfig(9)e1000_copper_link_igp_setup(9)e1000_copper_link_mgp_setup(9)e1000_copper_link_autoneg(9)e1000_copper_link_postconfig(9)e1000_setup_copper_link(9)e1000_phy_setup_autoneg(9)e1000_phy_force_speed_duplex(9)e1000_config_collision_dist(9)e1000_config_mac_to_phy(9)e1000_force_mac_fc(9)e1000_config_fc_after_link_up(9)e1000_check_for_serdes_link_generic(9)e1000_check_for_link(9)e1000_get_speed_and_duplex(9)e1000_wait_autoneg(9)e1000_raise_mdi_clk(9)e1000_lower_mdi_clk(9)e1000_shift_out_mdi_bits(9)e1000_shift_in_mdi_bits(9)e1000_read_phy_reg(9)e1000_write_phy_reg(9)e1000_phy_hw_reset(9)e1000_phy_reset(9)e1000_detect_gig_phy(9)e1000_phy_reset_dsp(9)e1000_phy_igp_get_info(9)e1000_phy_m88_get_info(9)e1000_phy_get_info(9)e1000_init_eeprom_params(9)e1000_raise_ee_clk(9)e1000_lower_ee_clk(9)e1000_shift_out_ee_bits(9)e1000_shift_in_ee_bits(9)e1000_acquire_eeprom(9)e1000_standby_eeprom(9)e1000_release_eeprom(9)e1000_spi_eeprom_ready(9)e1000_read_eeprom(9)e1000_validate_eeprom_checksum(9)e1000_update_eeprom_checksum(9)e1000_write_eeprom(9)e1000_write_eeprom_spi(9)e1000_write_eeprom_microwire(9)e1000_read_mac_addr(9)e1000_init_rx_addrs(9)e1000_hash_mc_addr(9)e1000_rar_set(9)e1000_write_vfta(9)e1000_clear_vfta(9)e1000_setup_led(9)e1000_cleanup_led(9)e1000_led_on(9)e1000_led_off(9)e1000_clear_hw_cntrs(9)e1000_reset_adaptive(9)e1000_update_adaptive(9)e1000_get_bus_info(9)e1000_write_reg_io(9)e1000_get_cable_length(9)e1000_check_polarity(9)e1000_check_downshift(9)e1000_config_dsp_after_link_change(9)e1000_set_phy_mode(9)e1000_set_d3_lplu_state(9)e1000_enable_mng_pass_thru(9)e1000_get_auto_rd_done(9)e1000_get_phy_cfg_done(9)
ngl the NAME section on the original page literally had nothing after the dash, so there's no one-line summary to hand you here β the description above is the whole story, and honestly? she ate π
okay that's the page!! tysm for reading, ily π«Ά the source/version on this one is ./drivers/net/ethernet/intel/e... (yes it's truncated like that, we don't gatekeep, we report faithfully πΈ) and it's dated October 2026 if you can believe it β see u in the next manpage bestie, 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