e1000_oem_b...nfig_ich8lan(9)
π e1000_oem_bits_config_ich8lan β like, the whole manual, but make it make sense
okay bestie, so this is a page from the Kernel API Manual (e1000_oem_bits_config_ich8lan(9) if you're being formal) and honestly? it's giving niche-but-iconic. we're talking one little function deep in the Intel e1000e driver, and it has opinions about your OEM bits. buckle up π
β¨ NAME β¨
e1000_oem_bits_config_ich8lan β SW-based LCD Configuration
no fr, that's what it says, "LCD" and everything. we don't ask questions, we just relay the facts π«Ά
πΈ SYNOPSIS πΈ
s32 e1000_oem_bits_config_ich8lan (struct e1000_hw *hw , bool d0_state
);
returns an s32, takes a hardware pointer and a bool. that's it, that's the whole vibe check π
π¦ ARGUMENTS π¦
hwβ pointer to the HW structure. the main character, the hardware itself π₯d0_stateβ boolean if entering d0 or d3 device state. so<italic>true</italic>= d0,<italic>false</italic>= d3, roughly β it's literally just "which state are we entering" π
π DESCRIPTION π
so here's the tea β β SW will configure Gbe Disable and LPLU based on the NVM.
the four bits involved are collectively called OEM bits (yes, all four of them, they're a package deal π).
and then the important part, the part where the NVM gets to play gatekeeper: the OEM Write Enable bit and the SW Config bit in NVM determine whether HW should configure LPLU and Gbe Disable.
ngl, whether hardware actually does the thing is not up to this function alone β the NVM bits are the ones holding the aux cord π§
π SEE ALSO π
the Kernel file ./drivers/net/ethernet/intel/e1000e/ich8lan.c β that's the home base, the mothership, the main character's house π
and then, bestie... the friend group. the whole entire friend group. every single one of them:
e1000_phy_is_accessible_pchlan(9)e1000_toggle_lanphypc_pch_lpt(9)e1000_reconfigure_k1_params(9)e1000_init_phy_workarounds_pchlan(9)e1000_init_phy_params_pchlan(9)e1000_init_phy_params_ich8lan(9)e1000_init_nvm_params_ich8lan(9)e1000_init_mac_params_ich8lan(9)__e1000_access_emi_reg_locked(9)e1000_read_emi_reg_locked(9)e1000_write_emi_reg_locked(9)e1000_set_eee_pchlan(9)e1000_k1_workaround_lpt_lp(9)e1000_platform_pm_pch_lpt(9)e1000e_force_smbus(9)e1000_enable_ulp_lpt_lp(9)e1000_disable_ulp_lpt_lp(9)e1000_check_for_copper_link_ich8lan(9)e1000_acquire_nvm_ich8lan(9)e1000_release_nvm_ich8lan(9)e1000_acquire_swflag_ich8lan(9)e1000_release_swflag_ich8lan(9)e1000_check_mng_mode_ich8lan(9)e1000_check_mng_mode_pchlan(9)e1000_rar_set_pch2lan(9)e1000_rar_get_count_pch_lpt(9)e1000_rar_set_pch_lpt(9)e1000_check_reset_block_ich8lan(9)e1000_write_smbus_addr(9)e1000_sw_lcd_config_ich8lan(9)e1000_k1_gig_workaround_hv(9)e1000_configure_k1_ich8lan(9)e1000_set_mdio_slow_mode_hv(9)e1000_hv_phy_workarounds_ich8lan(9)e1000_copy_rx_addrs_to_phy_ich8lan(9)e1000_lv_jumbo_workaround_ich8lan(9)e1000_lv_phy_workarounds_ich8lan(9)e1000_k1_workaround_lv(9)e1000_gate_hw_phy_config_ich8lan(9)e1000_lan_init_done_ich8lan(9)e1000_post_phy_reset_ich8lan(9)e1000_phy_hw_reset_ich8lan(9)e1000_set_lplu_state_pchlan(9)e1000_set_d0_lplu_state_ich8lan(9)e1000_set_d3_lplu_state_ich8lan(9)e1000_valid_nvm_bank_detect_ich8lan(9)e1000_read_nvm_spt(9)e1000_read_nvm_ich8lan(9)e1000_flash_cycle_init_ich8lan(9)e1000_flash_cycle_ich8lan(9)e1000_read_flash_dword_ich8lan(9)e1000_read_flash_word_ich8lan(9)e1000_read_flash_byte_ich8lan(9)e1000_read_flash_data_ich8lan(9)e1000_read_flash_data32_ich8lan(9)e1000_write_nvm_ich8lan(9)e1000_update_nvm_checksum_spt(9)e1000_update_nvm_checksum_ich8lan(9)e1000_validate_nvm_checksum_ich8lan(9)e1000e_write_protect_nvm_ich8lan(9)e1000_write_flash_data_ich8lan(9)e1000_write_flash_data32_ich8lan(9)e1000_write_flash_byte_ich8lan(9)e1000_retry_write_flash_dword_ich8lan(9)e1000_retry_write_flash_byte_ich8lan(9)e1000_erase_flash_bank_ich8lan(9)e1000_valid_led_default_ich8lan(9)e1000_id_led_init_pchlan(9)e1000_get_bus_info_ich8lan(9)e1000_reset_hw_ich8lan(9)e1000_init_hw_ich8lan(9)e1000_initialize_hw_bits_ich8lan(9)e1000_setup_link_ich8lan(9)e1000_setup_copper_link_ich8lan(9)e1000_setup_copper_link_pch_lpt(9)e1000_get_link_up_info_ich8lan(9)e1000_kmrn_lock_loss_workaround_ich8lan(9)e1000e_set_kmrn_lock_loss_workaround_ich8lan(9)e1000e_igp3_phy_powerdown_workaround_ich8lan(9)e1000e_gig_downshift_workaround_ich8lan(9)e1000_suspend_workarounds_ich8lan(9)e1000_resume_workarounds_pchlan(9)e1000_cleanup_led_ich8lan(9)e1000_led_on_ich8lan(9)e1000_led_off_ich8lan(9)e1000_setup_led_pchlan(9)e1000_cleanup_led_pchlan(9)e1000_led_on_pchlan(9)e1000_led_off_pchlan(9)e1000_get_cfg_done_ich8lan(9)e1000_power_down_phy_copper_ich8lan(9)e1000_clear_hw_cntrs_ich8lan(9)
like I said. the whole friend group. every single one ate πβ¨
and that's the page, bestie π§ one last cute sign-off moment: this gem comes from the source ./drivers/net/ethernet/intel/e... and it's dated October 2026 β so mark your calendars, she's timeless ππ
π¦ 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