igb_write_nvm_srwr(9)
π igb_write_nvm_srwr(9) β like, the whole glow-up
okay so bestie, welcome to the Kernel API Manual entry for igb_write_nvm_srwr(9), aka the little function that could, whose whole personality is writing to Shadow Ram using EEWR. yes queen, we're doing hardware-level NVM writes today and we're gonna understand every crumb. π«Ά
β¨ NAME β¨
igb_write_nvm_srwr β Write to Shadow Ram using EEWR πΈ
β¨ SYNOPSIS β¨
s32 igb_write_nvm_srwr (struct e1000_hw *hw , u16 offset , u16 words ,
u16 *data );
π ARGUMENTS π
hwβ pointer to the HW structure. it's giving main character energy: everything else comes through here πoffsetβ offset within the Shadow Ram to be written to. lowkey where the magic happens, fr frwordsβ number of words to write. so not one, not two, exactly as many as you say πdataβ 16 bit word(s) to be written to the Shadow Ram. the actual payload, the icon, the moment β
π DESCRIPTION π
Writes data to Shadow Ram at offset using the EEWR register. that's it, that's the whole vibe β no cap. β¨
π¨ okay so listen: if igb_update_nvm_checksum is not called after this function, the Shadow Ram will most likely contain an invalid checksum. i'm literally not being dramatic, it's right there in the doc π so call it. please. for me. π₯Ί
π¦ SEE ALSO π¦
kernel file: ./drivers/net/ethernet/intel/igb/e1000_i210.c β the homeland, the source, the origin story π
and the whole friend group, ok i'm obsessed with how many of them there are, every single one gets their flowers π:
igb_get_hw_semaphore_i210(9)igb_acquire_nvm_i210(9)igb_release_nvm_i210(9)igb_acquire_swfw_sync_i210(9)igb_release_swfw_sync_i210(9)igb_read_nvm_srrd_i210(9)igb_write_nvm_srwr_i210(9)igb_read_invm_word_i210(9)igb_read_invm_i210(9)igb_read_invm_version(9)igb_validate_nvm_checksum_i210(9)igb_update_nvm_checksum_i210(9)igb_pool_flash_update_done_i210(9)igb_get_flash_presence_i210(9)igb_update_flash_i210(9)igb_valid_led_default_i210(9)__igb_access_xmdio_reg(9)igb_read_xmdio_reg(9)igb_write_xmdio_reg(9)igb_init_nvm_params_i210(9)igb_pll_workaround_i210(9)igb_get_cfg_done_i210(9)
aaaand that's the whole page, periodt. π
this little masterpiece lives in ./drivers/net/ethernet/intel/igb, dates all the way back to October 2026, and it's filed under igb_write_nvm_srwr(9) in the Kernel API Manual β go read it again, iykyk, bye bestie, mwah ππ
π¦ 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