drivers/net/wireless/intel/iwlwifi/pcie/iwl-context-info-v2.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/intel/iwlwifi/pcie/iwl-context-info-v2.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/intel/iwlwifi/pcie/iwl-context-info-v2.h- Extension
.h- Size
- 12451 bytes
- Lines
- 345
- 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.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
iwl-context-info.h
Detected Declarations
struct iwl_prph_scratch_versionstruct iwl_prph_scratch_controlstruct iwl_prph_scratch_pnvm_cfgstruct iwl_prph_scratch_mem_desc_addr_arraystruct iwl_prph_scratch_hwm_cfgstruct iwl_prph_scratch_rbd_cfgstruct iwl_prph_scratch_uefi_cfgstruct iwl_prph_scratch_step_cfgstruct iwl_prph_scratch_ctrl_cfgstruct iwl_context_info_dram_fseqstruct iwl_prph_scratchstruct iwl_prph_infostruct iwl_context_info_v2enum iwl_prph_scratch_mtr_formatenum iwl_prph_scratch_flagsenum iwl_prph_scratch_ext_flags
Annotated Snippet
struct iwl_prph_scratch_version {
__le16 mac_id;
__le16 version;
__le16 size;
__le16 reserved;
} __packed; /* PERIPH_SCRATCH_VERSION_S */
/**
* struct iwl_prph_scratch_control - control structure
* @control_flags: context information flags see &enum iwl_prph_scratch_flags
* @control_flags_ext: context information for extended flags,
* see &enum iwl_prph_scratch_ext_flags
*/
struct iwl_prph_scratch_control {
__le32 control_flags;
__le32 control_flags_ext;
} __packed; /* PERIPH_SCRATCH_CONTROL_S */
/**
* struct iwl_prph_scratch_pnvm_cfg - PNVM scratch
* @pnvm_base_addr: PNVM start address
* @pnvm_size: the size of the PNVM image in bytes
* @reserved: reserved
*/
struct iwl_prph_scratch_pnvm_cfg {
__le64 pnvm_base_addr;
__le32 pnvm_size;
__le32 reserved;
} __packed; /* PERIPH_SCRATCH_PNVM_CFG_S */
/**
* struct iwl_prph_scratch_mem_desc_addr_array - DRAM
* @mem_descs: array of dram addresses.
* Each address is the beginning of a PNVM payload.
*/
struct iwl_prph_scratch_mem_desc_addr_array {
__le64 mem_descs[IPC_DRAM_MAP_ENTRY_NUM_MAX];
} __packed; /* PERIPH_SCRATCH_MEM_DESC_ADDR_ARRAY_S_VER_1 */
/**
* struct iwl_prph_scratch_hwm_cfg - hwm config
* @hwm_base_addr: hwm start address
* @hwm_size: hwm size in DWs
* @debug_token_config: debug preset
*/
struct iwl_prph_scratch_hwm_cfg {
__le64 hwm_base_addr;
__le32 hwm_size;
__le32 debug_token_config;
} __packed; /* PERIPH_SCRATCH_HWM_CFG_S */
/**
* struct iwl_prph_scratch_rbd_cfg - RBDs configuration
* @free_rbd_addr: default queue free RB CB base address
* @reserved: reserved
*/
struct iwl_prph_scratch_rbd_cfg {
__le64 free_rbd_addr;
__le32 reserved;
} __packed; /* PERIPH_SCRATCH_RBD_CFG_S */
/**
* struct iwl_prph_scratch_uefi_cfg - prph scratch reduce power table
* @base_addr: reduce power table address
* @size: the size of the entire power table image
* @reserved: (reserved)
*/
struct iwl_prph_scratch_uefi_cfg {
__le64 base_addr;
__le32 size;
__le32 reserved;
} __packed; /* PERIPH_SCRATCH_UEFI_CFG_S */
/**
* struct iwl_prph_scratch_step_cfg - prph scratch step configuration
* @mbx_addr_0: [0:7] revision,
* [8:15] cnvi_to_cnvr length,
* [16:23] cnvr_to_cnvi channel length,
* [24:31] radio1 reserved
* @mbx_addr_1: [0:7] radio2 reserved
*/
struct iwl_prph_scratch_step_cfg {
__le32 mbx_addr_0;
__le32 mbx_addr_1;
} __packed;
/**
* struct iwl_prph_scratch_ctrl_cfg - prph scratch ctrl and config
* @version: version information of context info and HW
Annotation
- Immediate include surface: `iwl-context-info.h`.
- Detected declarations: `struct iwl_prph_scratch_version`, `struct iwl_prph_scratch_control`, `struct iwl_prph_scratch_pnvm_cfg`, `struct iwl_prph_scratch_mem_desc_addr_array`, `struct iwl_prph_scratch_hwm_cfg`, `struct iwl_prph_scratch_rbd_cfg`, `struct iwl_prph_scratch_uefi_cfg`, `struct iwl_prph_scratch_step_cfg`, `struct iwl_prph_scratch_ctrl_cfg`, `struct iwl_context_info_dram_fseq`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
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.