e1000_confi...fter_link_up(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay bestie, welcome to the Kernel API Manual ✨ this is the page for e1000_confi...fter_link_up(9) and yes the title is literally truncated like that, the manpage said so, we don't question it 🫢


🌸 NAME 🌸

e1000_config_fc_after_link_up β€” configure flow control after autoneg. that's it, that's the whole vibe check πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

s32 e1000_config_fc_after_link_up (struct e1000_hw *hw );

(and no, we are not "fixing" that space before the ). it's canon. periodt.)


πŸ’– ARGUMENTS πŸ’–

  • hw β€” a struct containing the variables that the shared code reaches into. so like, the whole personality of your NIC lives in there πŸ”₯

πŸ”₯ DESCRIPTION πŸ”₯

So here's the tea: this function configures your flow control settings after the link is established. girlypop does not do the linking, she does the after. 🌈

It should be called immediately after a valid link has been established. like, right after. not "in a bit". not "later when you remember". immediately, bestie 😭

If the link was forced, it forces the MAC flow control settings to match. no negotiation, no discussion, we're just committing πŸ’…

When you're in MII/GMII mode and autonegotiation is enabled, the MAC flow control settings get set based on the flow control negotiated by the PHY. so the PHY already did the talking and we're just matching its energy πŸ¦‹

In TBI mode, the TFCE and RFCE bits get automatically set to the negotiated flow control mode. no cap, it just happens ✨


πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/net/ethernet/intel/e1000/e1000_hw.c β€” that's the icon, the main character, the source of truth πŸ’€

and the whole squad, 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_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)

like I said. the whole squad. 🌟


and that's the page, bestie!! 🧚 this little gem came out of ./drivers/net/ethernet/intel/e... (yes, also truncated, also iconique) and it's dated October 2026 β€” so mark your calendar and don't @ me πŸ’œπŸ“

kisses, stay linked, call e1000_config_fc_after_link_up immediately after a valid link, mwah πŸ’‹πŸ‘‘

πŸ“¦ where this page comes from