e1000_read_nvm_ich8lan(9)
π e1000_read_nvm_ich8lan π
okay so bestie, gather round β this one lives in the Kernel API Manual, section 9, and it's honestly such a little icon. it's e1000_read_nvm_ich8lan, and yes the name is a mouthful but we're gonna get through it together π«Ά
β¨ NAME β¨
e1000_read_nvm_ich8lan β Read word(s) from the NVM π
likeβ¦ that's it. that's the whole job. it reads words out of the NVM. no cap. π
πΈ SYNOPSIS πΈ
s32 e1000_read_nvm_ich8lan (struct e1000_hw *hw , u16 offset , u16 words
, u16 *data );
look at her. four params, returns an s32. she's compact. she's focused. she's giving "i know exactly what i'm doing" main character energy π
π¦ ARGUMENTS π¦
hwβ pointer to the HW structure. this is your hardware bestie, the whole context of the party. you don't go anywhere withouthwπ«Άoffsetβ the offset (in bytes) of the word(s) to read. yes, bytes. yes, even though everything else here talks in words. iykyk πwordsβ size of data to read in words. how many words are we grabbing, bestie? that's this one.dataβ pointer to the word(s) to read at offset. this is where the good stuff lands.datais doing the heavy lifting of receiving π
β DESCRIPTION β
Reads a word(s) from the NVM using the flash access registers. β¨
that's the whole vibe fr fr β it goes through the flash access registers to pull your word(s) out of the NVM. no detours, no drama, just straight to the registers π₯
π SEE ALSO π
bestie. sit down. there are a lot of relatives. this function is part of one giant ich8lan/pchlan family and the whole guest list is here, no one left out π
and the kernel file itself: ./drivers/net/ethernet/intel/e1000e/ich8lan.c β that's home π
the iconic crew:
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_oem_bits_config_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_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. huge family. every single one of them is invited π§ββοΈ
ok and finally, the cute little sign-off moment π β this page is from the Kernel API Manual, dated October 2026, and it comes to you straight out of ./drivers/net/ethernet/intel/e... (the path gets a lil truncated in the footer, but she's still iconic). mwah π slay, go read some NVM words bestie ππ
π¦ 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