ENUM IWL_FW_INI_REGION_TYPE(9)
π¦ 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
- 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