ice_get_flash_bank_offset(9)
π ice_get_flash_bank_offset β bestie's guide to flash bank offsets π
okay so this is a page from the Kernel API Manual (section 9, kernel internals, very main-character energy) and honestly? it's a little one, but it's important, so let's go π«Ά
β¨ NAME β¨
ice_get_flash_bank_offset β literally just: get the offset into whichever flash bank you asked for π
πΈ SYNOPSIS πΈ
u32 ice_get_flash_bank_offset (struct ice_hw *hw , enum ice_bank_select
bank , u16 module );
yes that's the whole signature, no cap β it hands you back a u32 π₯
π ARGUMENTS π
hwβ pointer to the HW structure. the whole vibe check starts here β¨bankβ tells us whether we're reading from the active flash bank or the inactive one πmoduleβ the module you wanna read from π¦
π DESCRIPTION π
so based on the module you pass in, it looks up that module's offset from the beginning of the flash. that's the whole job, and it ate π
it returns the flash offset. but β and this is the important part, so listen up β a return value of zero is invalid and you must treat it as an error. like, zero ain't a real offset here, it's a red flag π©π
bestie please. if you get 0 back, don't just keep going like nothing happened. that's an error. handle it. periodt π
π§ SEE ALSO π§
some required reading, iykyk π β kernel file:
Kernel file ./drivers/net/ethernet/intel/ice/ice_nvm.c
and the whole friend group of related calls:
ice_aq_read_nvm(9)ice_read_flat_nvm(9)ice_aq_update_nvm(9)ice_aq_erase_nvm(9)ice_read_sr_word(9)ice_acquire_nvm(9)ice_release_nvm(9)ice_read_flash_module(9)ice_read_nvm_module(9)ice_read_nvm_sr_copy(9)ice_read_netlist_module(9)ice_get_pfa_module_tlv(9)ice_read_pba_string(9)ice_get_nvm_ver_info(9)ice_get_inactive_nvm_ver(9)ice_get_orom_civd_data(9)ice_get_orom_ver_info(9)ice_get_inactive_orom_ver(9)ice_get_netlist_info(9)ice_get_inactive_netlist_ver(9)ice_discover_flash_size(9)ice_read_sr_pointer(9)ice_read_sr_area_size(9)ice_determine_active_flash_banks(9)ice_get_nvm_css_hdr_len(9)ice_determine_css_hdr_len(9)ice_init_nvm(9)ice_nvm_validate_checksum(9)ice_nvm_write_activate(9)ice_aq_nvm_update_empr(9)
that's the page!! sourced from ./drivers/net/ethernet/intel/ice, dated October 2026, and it's ice_get_flash_bank_offset(9) all the way down ππ mwah, go read your flash offsets responsibly π
π¦ 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