ixgbe_aci_nvm_update_empr(9)
π
ixgbe_aci_nvm_update_empr(9) β Kernel API Manual, section 9, bestie β¨
okay so real talk, this is a page straight out of the Kernel API Manual (section 9, function page, you know the drill) and it's genuinely so fetch. Sit down, grab a lil snack π, and let me tell you about the one function that basically hits the "restart" button on your firmware. main character energy fr fr.
πΈ NAME πΈ
ixgbe_aci_nvm_update_empr β the girlie that updates NVM using EMPR π«
No cap, that's the whole vibe. It updates the NVM, and it does it by way of EMPR. Iconic.
π SYNOPSIS π
int ixgbe_aci_nvm_update_empr (struct ixgbe_hw *hw );
Returns an int, takes one struct ixgbe_hw *. Short, sweet, slay.
π¦ ARGUMENTS π¦
hwβ pointer to the HW struct π«Ά that's it, that's the whole list. One (1) argument. She's low maintenance.
β DESCRIPTION β
So basically this function forces an EMP reset using ACI command 0x0709. π
And likeβ¦ what does that mean? Literally this command is how the software side gets to request an EMPR, and the whole point of asking for that EMPR is to activate new FW π₯. New firmware, who dis. Gotta reset to make it real, iykyk.
Lowkey important: this is a force. Not a polite suggestion. Not a "maybe later." It's giving "we're doing this now." π
π RETURN π
Returns the exit code of the operation. That's it β whatever exit code the operation hands back, that's what you get. so if something went sideways, the exit code is your first text message to check π
π SEE ALSO π
okay this section is long and I'm obsessed. First up, the kernel file where the magic lives, no cap:
- Kernel file
./drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
and then the whole entire friend group π«Ά:
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_aci_update_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_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)
likeβ¦ ninety-six of them?? and every single one made the list, we don't skip anyone in this house π
π and that's the page!! mwah π«Ά this beauty comes to you from ./drivers/net/ethernet/intel/i... and she's dated October 2026 β save the date, bestie, put it in your calendar, we stan a timeless queen ππ
β¨
π¦ 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