ENUM IWL_FW_INI_REGION_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ enum iwl_fw_ini_region_type(9) β€” the Kernel API Manual glow-up πŸ¦‹

okay bestie sit down because we're looking at enum iwl_fw_ini_region_type(9) from the Kernel API Manual, and honestly? it's giving "backstage pass to the wifi firmware." this is the enum that labels what kind of region each debug region actually is. every region gets a type tag, and you're about to know all of them by heart. no cap. πŸ’…


✨ NAME ✨

enum iwl_fw_ini_region_type β€” region type πŸŽ€

like, the type of a region. that's the whole vibe. short, sweet, iconic.


🌸 SYNOPSIS 🌸

enum iwl_fw_ini_region_type {
    IWL_FW_INI_REGION_INVALID ,
    IWL_FW_INI_REGION_TLV ,
    IWL_FW_INI_REGION_INTERNAL_BUFFER ,
    IWL_FW_INI_REGION_DRAM_BUFFER ,
    IWL_FW_INI_REGION_TXF ,
    IWL_FW_INI_REGION_RXF ,
    IWL_FW_INI_REGION_LMAC_ERROR_TABLE ,
    IWL_FW_INI_REGION_UMAC_ERROR_TABLE ,
    IWL_FW_INI_REGION_RSP_OR_NOTIF ,
    IWL_FW_INI_REGION_DEVICE_MEMORY ,
    IWL_FW_INI_REGION_PERIPHERY_MAC ,
    IWL_FW_INI_REGION_PERIPHERY_PHY ,
    IWL_FW_INI_REGION_PERIPHERY_AUX ,
    IWL_FW_INI_REGION_PAGING ,
    IWL_FW_INI_REGION_CSR ,
    IWL_FW_INI_REGION_DRAM_IMR ,
    IWL_FW_INI_REGION_PCI_IOSF_CONFIG ,
    IWL_FW_INI_REGION_SPECIAL_DEVICE_MEMORY ,
    IWL_FW_INI_REGION_DBGI_SRAM ,
    IWL_FW_INI_REGION_PERIPHERY_MAC_RANGE ,
    IWL_FW_INI_REGION_PERIPHERY_PHY_RANGE ,
    IWL_FW_INI_REGION_PERIPHERY_SNPS_DPHYIP ,
    IWL_FW_INI_REGION_NUM

};

twenty-three constants. yes we're doing all of them. grab a snack πŸ“


πŸ‘‘ CONSTANTS πŸ‘‘

okay so here's the cast of characters, member by member, and yes every single one is here because we do NOT skip anyone in this group chat:

  • IWL_FW_INI_REGION_INVALID β€” invalid. the "this seat is taken but also nobody's in it" of region types πŸ™ˆ
  • IWL_FW_INI_REGION_TLV β€” uCode and debug TLVs. the ✨main character✨ TLVs.
  • IWL_FW_INI_REGION_INTERNAL_BUFFER β€” monitor SMEM buffer. smol but mighty.
  • IWL_FW_INI_REGION_DRAM_BUFFER β€” monitor DRAM buffer. the bigger sibling.
  • IWL_FW_INI_REGION_TXF β€” TX fifos. plural, because we contain multitudes πŸ’…
  • IWL_FW_INI_REGION_RXF β€” RX fifo. singular. she's lowkey humble about it.
  • IWL_FW_INI_REGION_LMAC_ERROR_TABLE β€” lmac error table. when things go wrong, she's got receipts.
  • IWL_FW_INI_REGION_UMAC_ERROR_TABLE β€” umac error table. same energy, different co-processor πŸ’€
  • IWL_FW_INI_REGION_RSP_OR_NOTIF β€” FW response or notification data. it's giving "read or unread, you decide."
  • IWL_FW_INI_REGION_DEVICE_MEMORY β€” device internal memory. inside thoughts, but for the device.
  • IWL_FW_INI_REGION_PERIPHERY_MAC β€” periphery registers of MAC. MAC said "these are my registers."
  • IWL_FW_INI_REGION_PERIPHERY_PHY β€” periphery registers of PHY. PHY said "same, but mine."
  • IWL_FW_INI_REGION_PERIPHERY_AUX β€” periphery registers of AUX. AUX is here too, don't forget AUX 🫢
  • IWL_FW_INI_REGION_PAGING β€” paging memory. she's doing the paging so you don't have to.
  • IWL_FW_INI_REGION_CSR β€” CSR registers. absolute classic. ate.
  • IWL_FW_INI_REGION_DRAM_IMR β€” IMR memory. not to be confused with the other DRAM one up there, iykyk.
  • IWL_FW_INI_REGION_PCI_IOSF_CONFIG β€” PCI/IOSF config. config queen πŸ”₯
  • IWL_FW_INI_REGION_SPECIAL_DEVICE_MEMORY β€” special device memory. she has "special" in her name and honestly she earned it ⭐
  • IWL_FW_INI_REGION_DBGI_SRAM β€” periphery registers of DBGI SRAM. specific and unbothered.
  • IWL_FW_INI_REGION_PERIPHERY_MAC_RANGE β€” a range of periphery registers of MAC. more MAC registers, but as a range. multitasking icon.
  • IWL_FW_INI_REGION_PERIPHERY_PHY_RANGE β€” a range of periphery registers of PHY. matches the MAC range one, obviously 🌈
  • IWL_FW_INI_REGION_PERIPHERY_SNPS_DPHYIP β€” periphery registers of SNPS DPHYIP. yes that's really the name, yes you have to type it all out, no there's no shortcut πŸ’œ
  • IWL_FW_INI_REGION_NUM β€” number of region types. the responsible one who counts everybody at the end of the field trip 🧚

πŸ’– SEE ALSO πŸ’–

all the besties in the same header file, keeping each other company:

Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h:

  • struct iwl_fw_ini_hcmd(9)
  • struct iwl_fw_ini_header(9)
  • struct iwl_fw_ini_addr_size(9)
  • struct iwl_fw_ini_region_dev_addr_range(9)
  • struct iwl_fw_ini_region_dev_addr(9)
  • struct iwl_fw_ini_region_fifos(9)
  • struct iwl_fw_ini_region_err_table(9)
  • struct iwl_fw_ini_region_special_device_memory(9)
  • struct iwl_fw_ini_region_internal_buffer(9)
  • struct iwl_fw_ini_region_tlv(9)
  • struct iwl_fw_ini_debug_info_tlv(9)
  • struct iwl_fw_ini_allocation_tlv(9)
  • struct iwl_fw_ini_trigger_tlv(9)
  • struct iwl_fw_ini_hcmd_tlv(9)
  • struct iwl_fw_ini_addr_val(9)
  • struct iwl_fw_ini_conf_set_tlv(9)
  • enum iwl_fw_ini_config_set_type(9)
  • enum iwl_fw_ini_allocation_id(9)
  • enum iwl_fw_ini_buffer_location(9)
  • enum iwl_fw_ini_time_point(9)
  • enum iwl_fw_ini_trigger_apply_policy(9)
  • enum iwl_fw_ini_trigger_reset_fw_policy(9)
  • enum iwl_fw_ini_dump_policy(9)
  • enum iwl_fw_ini_dump_type(9)

real talk though 🫢 β€” this page is literally just a type label enum, so there's nothing dangerous lurking in here. the only trap is forgetting one of the 23 constants in your own code, and that's on you, bestie.

and that's the whole page, diva. it came from ./drivers/net/wireless/intel/i..., it's dated October 2026, and it's filed under enum iwl_fw_ini_region_type(9). go forth and name your regions correctly πŸ‘‘βœ¨πŸ’–

πŸ“¦ where this page comes from