igb_set_pci...tion_timeout(9)
π igb_set_pcie_completion_timeout β Kernel API Manual, section 9
okay so bestie, first things first: this page lives in the Kernel API Manual, section 9, and it's called igb_set_pcie_completion_timeout. yes the header got chopped in the file name (igb_set_pci...tion_timeout(9)) β that's just the man page being dramatic and abbreviating, the real function name is the full one up there π
β¨ NAME β¨
igb_set_pcie_completion_timeout β set pci-e completion timeout. that's it, that's the whole vibe. it sets the PCIe completion timeout. π
π¦ SYNOPSIS π¦
s32 igb_set_pcie_completion_timeout (struct e1000_hw *hw );
literally one argument, one return type, no drama. copy it exactly, she's precise. β¨
πΈ ARGUMENTS πΈ
hwβ pointer to the HW structure. that's your hardware struct bestie, hand her over and she'll do her thing.
π DESCRIPTION π
okay so the tea β β the defaults for 82575 and 82576 should be sitting in the range of 50us to 50ms, right? like that's the dream. but ngl the hardware default for these parts is actually 500us to 1ms, which is lowkey less than the 10ms recommended by the pci-e spec. π not the hardware being out here not meeting spec.
so to address this (to fix it, bestie, we're fixing it), we need to increase the value to either:
- 10ms to 200ms for capability version 1 config, or
- 16ms to 55ms for version 2.
that's the whole point of this function. she exists to drag the timeout up into spec-compliant territory. ate and left no crumbs π₯
π SEE ALSO π
kernel file, first and foremost:
./drivers/net/ethernet/intel/igb/e1000_82575.c
and then the entire friend group, all section 9, all iconic, no cap:
igb_write_vfta_i350(9)igb_sgmii_uses_mdio_82575(9)igb_check_for_link_media_swap(9)igb_init_phy_params_82575(9)igb_init_nvm_params_82575(9)igb_init_mac_params_82575(9)igb_set_sfp_media_type_82575(9)igb_acquire_phy_82575(9)igb_release_phy_82575(9)igb_read_phy_reg_sgmii_82575(9)igb_write_phy_reg_sgmii_82575(9)igb_get_phy_id_82575(9)igb_phy_hw_reset_sgmii_82575(9)igb_set_d0_lplu_state_82575(9)igb_set_d0_lplu_state_82580(9)igb_set_d3_lplu_state_82580(9)igb_acquire_nvm_82575(9)igb_release_nvm_82575(9)igb_acquire_swfw_sync_82575(9)igb_release_swfw_sync_82575(9)igb_get_cfg_done_82575(9)igb_get_link_up_info_82575(9)igb_check_for_link_82575(9)igb_power_up_serdes_link_82575(9)igb_get_pcs_speed_and_duplex_82575(9)igb_shutdown_serdes_link_82575(9)igb_reset_hw_82575(9)igb_init_hw_82575(9)igb_setup_copper_link_82575(9)igb_setup_serdes_link_82575(9)igb_sgmii_active_82575(9)igb_reset_init_script_82575(9)igb_read_mac_addr_82575(9)igb_power_down_phy_copper_82575(9)igb_clear_hw_cntrs_82575(9)igb_rx_fifo_flush_82575(9)igb_vmdq_set_anti_spoofing_pf(9)igb_vmdq_set_loopback_pf(9)igb_vmdq_set_replication_pf(9)igb_read_phy_reg_82580(9)igb_write_phy_reg_82580(9)igb_reset_mdicnfg_82580(9)igb_reset_hw_82580(9)igb_rxpbs_adjust_82580(9)igb_validate_nvm_checksum_with_offset(9)igb_update_nvm_checksum_with_offset(9)igb_validate_nvm_checksum_82580(9)igb_update_nvm_checksum_82580(9)igb_validate_nvm_checksum_i350(9)igb_update_nvm_checksum_i350(9)__igb_access_emi_reg(9)igb_read_emi_reg(9)igb_set_eee_i350(9)igb_set_eee_i354(9)igb_get_eee_status_i354(9)igb_get_thermal_sensor_data_generic(9)igb_init_thermal_sensor_thresh_generic(9)
that's fifty-eight entries bestie, and yes I listed every single one because we do not skip the boring parts in this house π«Άπ
okay that's the page!! mwah π this one came out of ./drivers/net/ethernet/intel/igb, dated October 2026, from the Kernel API Manual β go read the source, ily, bye πβ¨π¦
π¦ 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