STRUCT IWL_LARI_CONFIG_EXTENSION_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct iwl_lari_config_extension_cmd(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” yes we're reading kernel API docs together, this is our life now and honestly? iconic. today's main character is a struct that extends the LARI configuration. ngl it's a whole vibe. πŸ¦‹


✨ NAME ✨

struct iwl_lari_config_extension_cmd β€” extend LARI configuration. that's it, that's the tweet. πŸ’…


🌸 SYNOPSIS 🌸

struct iwl_lari_config_extension_cmd {
    struct iwl_bios_config_hdr dsm_table_hdr;
    __le32 oem_uhb_allow_extension_bitmap;
    __le32 reserved[10];
 };

look at her. three fields. clean. minimal. she understood the assignment. πŸŽ€


πŸ’œ Members πŸ’œ

  • dsm_table_hdr β€” the BIOS DSM table source and revision, like it's showing up with its full ID at the door. who is she? where does she come from? this field knows. 🌈
  • oem_uhb_allow_extension_bitmap β€” the extension bitmap for the OEM UHB config. yes it's a whole mouthful, yes it's important, no we're not skipping it. πŸ”₯
  • reserved β€” reserved. that's it. it's reserved. it's sitting there being reserved. do not touch, do not perceive, do not speak to her. πŸ™ˆ

🧚 Description 🧚

okay so here's the tea, and it's actually kind of serious so listen up.

LARI_CONFIG_CHANGE's version must remain stable for frozen firmware. like, must. no cap. 🫢

here's the problem tho: the driver might not know this version, but it still loads that frozen FW and then sends some default old version of LARI β€” and that makes the FW assert about the bad size of it. yeah. 😭 a whole firmware assertion. not the vibe.

to handle this, we do the following:

  1. For newer firmware: increase the LARI_CONFIG_CHANGE version to support the new firmware API with extra UHB bits. slay, moving forward, growing, evolving. ✨
  2. For frozen firmware: add a special alternative API that doesn't require modifying the frozen LARI_CONFIG_CHANGE's version. because we do not disturb the frozen ones. they're chilling. let them chill. 🧊
bestie this is literally the whole reason this struct exists β€” two paths, one for the new hotness, one for the frozen firmware that we are absolutely not allowed to poke. the way that firmware version stability is sacred… πŸ‘‘

⭐ SEE ALSO ⭐

the whole friend group showed up, and we're listing every single one of them because nobody gets left out:

  • Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h
  • enum iwl_regulatory_and_nvm_subcmd_ids(9)
  • enum iwl_nvm_access_op(9)
  • enum iwl_nvm_access_target(9)
  • enum iwl_nvm_section_type(9)
  • struct iwl_nvm_access_cmd(9)
  • struct iwl_nvm_access_resp(9)
  • enum iwl_nvm_info_general_flags(9)
  • struct iwl_nvm_get_info_general(9)
  • enum iwl_nvm_mac_sku_flags(9)
  • struct iwl_nvm_get_info_sku(9)
  • struct iwl_nvm_get_info_phy(9)
  • struct iwl_nvm_get_info_regulatory_v1(9)
  • struct iwl_nvm_get_info_regulatory_v2(9)
  • struct iwl_nvm_get_info_rsp_v3(9)
  • struct iwl_nvm_get_info_rsp_v4(9)
  • struct iwl_nvm_get_info_regulatory(9)
  • struct iwl_nvm_get_info_rsp(9)
  • struct iwl_nvm_access_complete_cmd(9)
  • struct iwl_mcc_update_cmd(9)
  • enum iwl_geo_information(9)
  • struct iwl_mcc_update_resp_v3(9)
  • struct iwl_mcc_update_resp_v4(9)
  • struct iwl_mcc_update_resp_v8(9)
  • struct iwl_mcc_chub_notif(9)
  • struct iwl_tas_config_cmd_common(9)
  • struct iwl_tas_config_cmd_v3(9)
  • enum iwl_tas_uhb_allowed_flags(9)
  • struct iwl_tas_config_cmd_v4(9)
  • enum bios_source(9)
  • struct iwl_bios_config_hdr(9)
  • struct bios_value_u32(9)
  • struct iwl_tas_config_cmd(9)
  • enum iwl_lari_config_masks(9)
  • struct iwl_lari_config_change_cmd_v1(9)
  • struct iwl_lari_config_change_cmd_v6(9)
  • struct iwl_lari_config_change_cmd_v8(9)
  • struct iwl_lari_config_change_cmd(9)
  • struct iwl_pnvm_init_complete_ntfy(9)
  • struct iwl_mcc_allowed_ap_type_cmd_v1(9)
  • struct iwl_mcc_allowed_ap_type_cmd(9)

like I said. whole friend group. 41 of them. we counted. πŸ’€


and that's the page bestie!! 🌸 source on this one is ./drivers/net/wireless/intel/i... (yes it's abbreviated in the original, don't come for me) and it's dated October 2026 β€” so mark your calendars, this manual page is from the future, she's a time traveler, we stan. πŸ•°οΈβœ¨ bye bestie, go read some more kernel headers, ily, mwah πŸ’‹πŸ’–

πŸ“¦ where this page comes from