e1000_get_cable_length(9)
π e1000_get_cable_length(9) β Kernel API Manual β¨
okay so bestie, welcome to the e1000_get_cable_length(9) page β it's a kernel API manual situation and honestly it's giving "small function, big friend group" energy π«Ά
πΈ NAME πΈ
e1000_get_cable_length β literally just estimates the cable length. that's the whole vibe π
β¨ SYNOPSIS β¨
s32 e1000_get_cable_length (struct e1000_hw *hw , u16 *min_length , u16
*max_length );
π ARGUMENTS π
hwβ the struct holding all the variables that the shared code pokes at π (struct containing variables accessed by shared code)min_lengthβ the estimated minimum length, i.e. the low end of the range πmax_lengthβ the estimated maximum length, the high end of the range π
β RETURN β
E1000_ERR_XXX, and alsoE1000_SUCCESSπ
π¦ DESCRIPTION π¦
so here's the tea: this function always returns a ranged length, meaning a minimum AND a maximum βοΈ it never gives you just one lonely number.
for M88 phy's, the function takes that one single value coming back from the register and interprets it into the minimum and maximum range β like translating one text into a whole group chat convo, iykyk π§
for IGP phy's, it's a different slay entirely: the function calculates the range using the AGC registers πβ¨
π SEE ALSO π
kernel file ./drivers/net/ethernet/intel/e1000/e1000_hw.c β go read it bestie, no cap π
and the whole extended friend group, fr fr:
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_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_set_vco_speed(9), e1000_enable_mng_pass_thru(9), e1000_get_auto_rd_done(9), e1000_get_phy_cfg_done(9)
and that's the page!! mwah π before you go β tiny sign-off: this lil beauty lives at ./drivers/net/ethernet/intel/e... and it's dated October 2026, so yeah, future vibes only πΈπ¦ periodt β¨
π¦ 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