e1000_get_cable_length(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 also E1000_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