__i40e_read_nvm_buffer(9)
π __i40e_read_nvm_buffer(9) π
okay so real talk, this is a page straight out of the Kernel API Manual, and it's all about reading the NVM buffer... except it does NOT grab the lock for you, bestie. That's your job. Let's get into it π«Ά
β¨ SYNOPSIS β¨
int __i40e_read_nvm_buffer (struct i40e_hw *hw , u16 offset , u16 *words
, u16 *data );
πΈ ARGUMENTS πΈ
hwβ pointer to the HW structure π like, the whole hardware vibe lives hereoffsetβ offset of the Shadow RAM word to read. range is0x000000β0x001FFF, no capwordsβ this one's doing double duty π (in) number of words to read; (out) number of words actually read. she contains multitudesdataβ the words read from the Shadow RAM. the actual payload, the main character
π¦ DESCRIPTION π¦
So what does it do? It reads 16 bit words (that's the data buffer, babes) from the SR using the i40e_read_nvm_srrd method. That's it. That's the whole thing. β¨
π the big warning, fr fr: the caller must acquire the lock. this function does NOT do it for you. it's the double-underscore version for a reason, iykyk. go call your lock-acquiring bestie first or things get cursed π
π SEE ALSO π
- the kernel file itself, go read it, it's giving lore:
./drivers/net/ethernet/intel/i40e/i40e_nvm.c
and the entire i40e NVM friend group π (they all showed up to the group chat):
i40e_init_nvm(9), i40e_acquire_nvm(9), i40e_release_nvm(9), i40e_poll_sr_srctl_done_bit(9), i40e_read_nvm_word_srctl(9), i40e_read_nvm_aq(9), i40e_read_nvm_word_aq(9), __i40e_read_nvm_word(9), i40e_read_nvm_word(9), i40e_read_nvm_module_data(9), i40e_read_nvm_buffer_srctl(9), i40e_read_nvm_buffer_aq(9), i40e_read_nvm_buffer(9), i40e_write_nvm_aq(9), i40e_calc_nvm_checksum(9), i40e_update_nvm_checksum(9), i40e_validate_nvm_checksum(9), i40e_nvmupd_validate_command(9), i40e_nvmupd_nvm_erase(9), i40e_nvmupd_nvm_write(9), i40e_nvmupd_nvm_read(9), i40e_nvmupd_exec_aq(9), i40e_nvmupd_get_aq_result(9), i40e_nvmupd_get_aq_event(9), i40e_nvmupd_state_init(9), i40e_nvmupd_state_reading(9), i40e_nvmupd_state_writing(9), i40e_nvmupd_command(9), i40e_nvmupd_clear_wait_state(9), i40e_nvmupd_check_wait_event(9)
anyway that's the page, mwah π this one came from ./drivers/net/ethernet/intel/i40e, dated October 2026, and it's filed under __i40e_read_nvm_buffer(9) β go read the source, it ate, no cap πβ
π¦ 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