e1000_force_mac_fc(9)
π e1000_force_mac_fc(9) π
Okay bestie, this one is from the Kernel API Manual, and it's giving βtiny function, very specific jobβ energy. No cap, we're gonna keep every single detail intact π
β¨ NAME β¨
e1000_force_mac_fc β force flow control settings π
π¦ SYNOPSIS π¦
s32 e1000_force_mac_fc (struct e1000_hw *hw );
πΈ ARGUMENTS πΈ
hwβ Struct containing variables accessed by shared code. Literally the struct carrying the variables that shared code accesses π«Ά
π₯ DESCRIPTION π₯
Okay so this function forces the MAC's flow control settings. It sets the TFCE and RFCE bits in the device control register to reflect the adapter settings. Periodt.
The important caveat, bestie: TFCE and RFCE need to be explicitly set by software when a Copper PHY is used, because autonegotiation is managed by the PHY rather than the MAC. Software must also configure these bits when link is forced on a fiber connection. That's the whole vibe check β no extra lore, fr fr β¨
π SEE ALSO π
Kernel file: ./drivers/net/ethernet/intel/e1000/e1000_hw.c
The whole see-also squad, in original order π
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_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)
Cute little footer sign-off, bestie: source/version is ./drivers/net/ethernet/intel/e... π«Ά and the date is October 2026 π 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