e1000_reset_hw(9)
π e1000_reset_hw(9) β reset the hardware completely
okay so this is a page from the Kernel API Manual, and bestie, it's a short one but it's mighty β it's literally the "turn it off and on again" of an entire network chip. no cap. let's get into it π«Ά
π NAME
e1000_reset_hw β reset the hardware completely β¨
like, completely completely. not a little vibe check. a full factory-reset moment.
β¨ SYNOPSIS
s32 e1000_reset_hw (struct e1000_hw *hw );
so you hand it a pointer and it hands you back an s32. simple as that π
π¦ ARGUMENTS
hwβ a struct containing the variables that get accessed by the shared code. it's giving "communal group-chat for the driver" β everyone passes this thing around and everyone reads from it π
π₯ DESCRIPTION
okay so here's the whole entire tea π: this function resets the transmit and receive units, then it masks and clears all interrupts.
that's it. that's the function. short, iconic, does exactly what it says on the tin. the way that it just does the thing with zero drama? main character energy fr fr π
so like β tx unit: reset. rx unit: reset. interrupts: masked and cleared, both, not one or the other. she's thorough πβ¨
π SEE ALSO
literally the entire extended friend group. every single one of these is in the Kernel file ./drivers/net/ethernet/intel/e1000/e1000_hw.c β go say hi π§
e1000_set_phy_type(9)e1000_phy_init_script(9)e1000_set_mac_type(9)e1000_set_media_type(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_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 whole page bestie, you ate that ππ
πΈ little sign-off moment: this cutie came from ./drivers/net/ethernet/intel/e... and it's dated October 2026 β so yeah, she's from the future and she's still out here resetting hardware. iconic. 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