ixgbe_aci_update_nvm(9)
π ixgbe_aci_update_nvm β like, the Kernel API Manual page you didn't know you needed π
Ok so bestie, welcome to the glow-up of ixgbe_aci_update_nvm(9), straight out of the Kernel API Manual. This is the function that literally writes your NVM for you via ACI, and we're gonna go through it together, no cap π«Ά
β¨ NAME β¨
ixgbe_aci_update_nvm β update NVM. That's it, that's the whole vibe π
π SYNOPSIS π
int ixgbe_aci_update_nvm (struct ixgbe_hw *hw , u16 module_typeid , u32
offset , u16 length , void *data , bool last_command , u8 command_flags
);
Look at her. Seven args. Main character energy fr π
π¦ ARGUMENTS π¦
hwβ pointer to the HW struct. She's the hardware, she's the moment.module_typeidβ module pointer location in words from the NVM beginning. Words, bestie, not bytes. Don't get it twisted πoffsetβ byte offset from the module beginning. (This one is bytes. I know. I know.)lengthβ length of the section to be written, in bytes, counted from the offset. Slay, precise queen β¨dataβ the command buffer. Its size in bytes equalslength, so keep them matched or it's giving chaos πlast_commandβ tells if this is the last command in a series. The finale, the last episode, the periodt πcommand_flagsβ command parameters. Little flaggies. Cute.
πΈ DESCRIPTION πΈ
So what does she do? She updates the NVM using the ACI command, and that command is 0x0703. That's the whole description and honestly? Iconic. Short, sweet, gets to the point π
π RETURN π
She returns the exit code of the operation. That's your vibe check on whether it worked π«Ά
β SEE ALSO β
Buckle up babe, this list is long and every single one of them is a baddie:
- Kernel file
./drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c ixgbe_should_retry_aci_send_cmd_execute(9)ixgbe_aci_send_cmd_execute(9)ixgbe_aci_send_cmd(9)ixgbe_aci_check_event_pending(9)ixgbe_aci_get_event(9)ixgbe_fill_dflt_direct_cmd_desc(9)ixgbe_aci_get_fw_ver(9)ixgbe_aci_req_res(9)ixgbe_aci_release_res(9)ixgbe_acquire_res(9)ixgbe_release_res(9)ixgbe_parse_e610_caps(9)ixgbe_parse_valid_functions_cap(9)ixgbe_parse_vf_dev_caps(9)ixgbe_parse_vsi_dev_caps(9)ixgbe_parse_fdir_dev_caps(9)ixgbe_parse_dev_caps(9)ixgbe_parse_vf_func_caps(9)ixgbe_get_num_per_func(9)ixgbe_parse_vsi_func_caps(9)ixgbe_parse_func_caps(9)ixgbe_aci_list_caps(9)ixgbe_discover_dev_caps(9)ixgbe_discover_func_caps(9)ixgbe_get_caps(9)ixgbe_aci_disable_rxen(9)ixgbe_aci_get_phy_caps(9)ixgbe_copy_phy_caps_to_cfg(9)ixgbe_aci_set_phy_cfg(9)ixgbe_aci_set_link_restart_an(9)ixgbe_is_media_cage_present(9)ixgbe_get_media_type_from_phy_type(9)ixgbe_update_link_info(9)ixgbe_get_link_status(9)ixgbe_aci_get_link_info(9)ixgbe_aci_set_event_mask(9)ixgbe_configure_lse(9)ixgbe_start_hw_e610(9)ixgbe_aci_set_port_id_led(9)ixgbe_get_media_type_e610(9)ixgbe_setup_link_e610(9)ixgbe_check_link_e610(9)ixgbe_get_link_capabilities_e610(9)ixgbe_cfg_phy_fc(9)ixgbe_setup_fc_e610(9)ixgbe_fc_autoneg_e610(9)ixgbe_disable_rx_e610(9)ixgbe_fw_recovery_mode_e610(9)ixgbe_fw_rollback_mode_e610(9)ixgbe_init_phy_ops_e610(9)ixgbe_identify_phy_e610(9)ixgbe_setup_eee_e610(9)ixgbe_identify_module_e610(9)ixgbe_setup_phy_link_e610(9)ixgbe_set_phy_power_e610(9)ixgbe_enter_lplu_e610(9)ixgbe_init_eeprom_params_e610(9)ixgbe_aci_get_netlist_node(9)ixgbe_acquire_nvm(9)ixgbe_release_nvm(9)ixgbe_aci_read_nvm(9)ixgbe_aci_erase_nvm(9)ixgbe_nvm_write_activate(9)ixgbe_nvm_validate_checksum(9)ixgbe_discover_flash_size(9)ixgbe_read_sr_base_address(9)ixgbe_read_sr_area_size(9)ixgbe_determine_active_flash_banks(9)ixgbe_get_flash_bank_offset(9)ixgbe_read_flash_module(9)ixgbe_read_nvm_module(9)ixgbe_read_netlist_module(9)ixgbe_read_orom_module(9)ixgbe_get_nvm_css_hdr_len(9)ixgbe_read_nvm_sr_copy(9)ixgbe_get_nvm_srev(9)ixgbe_get_orom_civd_data(9)ixgbe_get_orom_srev(9)ixgbe_get_orom_ver_info(9)ixgbe_get_inactive_orom_ver(9)ixgbe_get_nvm_ver_info(9)ixgbe_get_inactive_nvm_ver(9)ixgbe_get_active_nvm_ver(9)ixgbe_get_netlist_info(9)ixgbe_get_inactive_netlist_ver(9)ixgbe_get_flash_data(9)ixgbe_aci_nvm_update_empr(9)ixgbe_read_sr_word_aci(9)ixgbe_read_flat_nvm(9)ixgbe_read_sr_buf_aci(9)ixgbe_read_ee_aci_e610(9)ixgbe_read_ee_aci_buffer_e610(9)ixgbe_validate_eeprom_checksum_e610(9)ixgbe_reset_hw_e610(9)ixgbe_get_pfa_module_tlv(9)ixgbe_read_pba_string_e610(9)
Lowkey a whole friend group, and they all live in ./drivers/net/ethernet/intel/i... β you'll find her there π
Ok that's the page bestie, ily, go update some NVM responsibly π§ββοΈπ
β xoxo, your girl, signing off with the source ./drivers/net/ethernet/intel/i... and the date October 2026, same as ixgbe_aci_update_nvm(9) β¨ππ
π¦ 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