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.

Dependency Surface

Detected Declarations

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

Implementation Notes