drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h- Extension
.h- Size
- 24053 bytes
- Lines
- 724
- Domain
- Driver Families
- Bucket
- drivers/net
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct iwl_nvm_access_cmdstruct iwl_nvm_access_respstruct iwl_nvm_get_infostruct iwl_nvm_get_info_generalstruct iwl_nvm_get_info_skustruct iwl_nvm_get_info_phystruct iwl_nvm_get_info_regulatory_v1struct iwl_nvm_get_info_regulatorystruct iwl_nvm_get_info_rsp_v3struct iwl_nvm_get_info_rspstruct iwl_nvm_access_complete_cmdstruct iwl_mcc_update_cmdstruct iwl_mcc_update_resp_v3struct iwl_mcc_update_resp_v4struct iwl_mcc_update_resp_v8struct iwl_mcc_chub_notifstruct iwl_tas_config_cmd_commonstruct iwl_tas_config_cmd_v3struct iwl_tas_config_cmd_v4struct iwl_tas_config_cmd_v2_v4struct iwl_bios_config_hdrstruct bios_value_u32struct iwl_tas_config_cmdstruct iwl_lari_config_change_cmd_v1struct iwl_lari_config_change_cmd_v6struct iwl_lari_config_change_cmd_v8struct iwl_lari_config_change_cmdstruct iwl_pnvm_init_complete_ntfystruct iwl_mcc_allowed_ap_type_cmd_v1struct iwl_mcc_allowed_ap_type_cmdenum iwl_regulatory_and_nvm_subcmd_idsenum iwl_nvm_access_openum iwl_nvm_access_targetenum iwl_nvm_section_typeenum iwl_nvm_info_general_flagsenum iwl_nvm_mac_sku_flagsenum iwl_geo_informationenum iwl_mcc_update_statusenum iwl_mcc_sourceenum iwl_tas_uhb_allowed_flagsenum bios_sourceenum iwl_lari_config_masks
Annotated Snippet
struct iwl_nvm_access_cmd {
u8 op_code;
u8 target;
__le16 type;
__le16 offset;
__le16 length;
u8 data[];
} __packed; /* NVM_ACCESS_CMD_API_S_VER_2 */
/**
* struct iwl_nvm_access_resp - response to NVM_ACCESS_CMD
* @offset: offset in bytes into the section
* @length: in bytes, either how much was written or read
* @type: NVM_SECTION_TYPE_*
* @status: 0 for success, fail otherwise
* @data: if read operation, the data returned. Empty on write.
*/
struct iwl_nvm_access_resp {
__le16 offset;
__le16 length;
__le16 type;
__le16 status;
u8 data[];
} __packed; /* NVM_ACCESS_CMD_RESP_API_S_VER_2 */
/*
* struct iwl_nvm_get_info - request to get NVM data
*/
struct iwl_nvm_get_info {
__le32 reserved;
} __packed; /* REGULATORY_NVM_GET_INFO_CMD_API_S_VER_1 */
/**
* enum iwl_nvm_info_general_flags - flags in NVM_GET_INFO resp
* @NVM_GENERAL_FLAGS_EMPTY_OTP: 1 if OTP is empty
*/
enum iwl_nvm_info_general_flags {
NVM_GENERAL_FLAGS_EMPTY_OTP = BIT(0),
};
/**
* struct iwl_nvm_get_info_general - general NVM data
* @flags: bit 0: 1 - empty, 0 - non-empty
* @nvm_version: nvm version
* @board_type: board type
* @n_hw_addrs: number of reserved MAC addresses
*/
struct iwl_nvm_get_info_general {
__le32 flags;
__le16 nvm_version;
u8 board_type;
u8 n_hw_addrs;
} __packed; /* REGULATORY_NVM_GET_INFO_GENERAL_S_VER_2 */
/**
* enum iwl_nvm_mac_sku_flags - flags in &iwl_nvm_get_info_sku
* @NVM_MAC_SKU_FLAGS_BAND_2_4_ENABLED: true if 2.4 band enabled
* @NVM_MAC_SKU_FLAGS_BAND_5_2_ENABLED: true if 5.2 band enabled
* @NVM_MAC_SKU_FLAGS_802_11N_ENABLED: true if 11n enabled
* @NVM_MAC_SKU_FLAGS_802_11AC_ENABLED: true if 11ac enabled
* @NVM_MAC_SKU_FLAGS_MIMO_DISABLED: true if MIMO disabled
* @NVM_MAC_SKU_FLAGS_WAPI_ENABLED: true if WAPI enabled
* @NVM_MAC_SKU_FLAGS_REG_CHECK_ENABLED: true if regulatory checker enabled
* @NVM_MAC_SKU_FLAGS_API_LOCK_ENABLED: true if API lock enabled
*/
enum iwl_nvm_mac_sku_flags {
NVM_MAC_SKU_FLAGS_BAND_2_4_ENABLED = BIT(0),
NVM_MAC_SKU_FLAGS_BAND_5_2_ENABLED = BIT(1),
NVM_MAC_SKU_FLAGS_802_11N_ENABLED = BIT(2),
NVM_MAC_SKU_FLAGS_802_11AC_ENABLED = BIT(3),
/**
* @NVM_MAC_SKU_FLAGS_802_11AX_ENABLED: true if 11ax enabled
*/
NVM_MAC_SKU_FLAGS_802_11AX_ENABLED = BIT(4),
NVM_MAC_SKU_FLAGS_MIMO_DISABLED = BIT(5),
NVM_MAC_SKU_FLAGS_WAPI_ENABLED = BIT(8),
NVM_MAC_SKU_FLAGS_REG_CHECK_ENABLED = BIT(14),
NVM_MAC_SKU_FLAGS_API_LOCK_ENABLED = BIT(15),
};
/**
* struct iwl_nvm_get_info_sku - mac information
* @mac_sku_flags: flags for SKU, see &enum iwl_nvm_mac_sku_flags
*/
struct iwl_nvm_get_info_sku {
__le32 mac_sku_flags;
} __packed; /* REGULATORY_NVM_GET_INFO_MAC_SKU_SECTION_S_VER_2 */
/**
* struct iwl_nvm_get_info_phy - phy information
Annotation
- Detected declarations: `struct iwl_nvm_access_cmd`, `struct iwl_nvm_access_resp`, `struct iwl_nvm_get_info`, `struct iwl_nvm_get_info_general`, `struct iwl_nvm_get_info_sku`, `struct iwl_nvm_get_info_phy`, `struct iwl_nvm_get_info_regulatory_v1`, `struct iwl_nvm_get_info_regulatory`, `struct iwl_nvm_get_info_rsp_v3`, `struct iwl_nvm_get_info_rsp`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.