drivers/net/wireless/intel/iwlwifi/fw/error-dump.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/intel/iwlwifi/fw/error-dump.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/intel/iwlwifi/fw/error-dump.h- Extension
.h- Size
- 16885 bytes
- Lines
- 565
- 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
linux/types.hfw/api/cmdhdr.h
Detected Declarations
struct iwl_fw_error_dump_datastruct iwl_dump_file_name_infostruct iwl_fw_error_dump_filestruct iwl_fw_error_dump_txcmdstruct iwl_fw_error_dump_fifostruct iwl_fw_error_dump_infostruct iwl_fw_error_dump_fw_monstruct iwl_fw_error_dump_smem_cfgstruct iwl_fw_error_dump_prphstruct iwl_fw_error_dump_memstruct iwl_fw_ini_error_dump_datastruct iwl_fw_ini_dump_file_hdrstruct iwl_fw_ini_fifo_hdrstruct iwl_fw_ini_error_dump_rangestruct iwl_fw_ini_error_dump_headerstruct iwl_fw_ini_error_dumpstruct iwl_fw_ini_error_dump_registerstruct iwl_fw_ini_dump_cfg_namestruct iwl_fw_ini_dump_infostruct iwl_fw_ini_err_table_dumpstruct iwl_fw_error_dump_rbstruct iwl_fw_ini_monitor_dumpstruct iwl_fw_ini_special_device_memorystruct iwl_fw_error_dump_pagingstruct iwl_fw_error_dump_trigger_descenum iwl_fw_error_dump_typeenum iwl_fw_error_dump_familyenum iwl_fw_error_dump_mem_typeenum iwl_fw_dbg_triggerfunction iwl_fw_error_next_data
Annotated Snippet
struct iwl_fw_error_dump_data {
__le32 type;
__le32 len;
__u8 data[];
} __packed;
/**
* struct iwl_dump_file_name_info - data for dump file name addition
* @type: region type with reserved bits
* @len: the length of file name string to be added to dump file
* @data: the string need to be added to dump file
*/
struct iwl_dump_file_name_info {
__le32 type;
__le32 len;
__u8 data[];
} __packed;
/**
* struct iwl_fw_error_dump_file - the layout of the header of the file
* @barker: must be %IWL_FW_ERROR_DUMP_BARKER
* @file_len: the length of all the file starting from %barker
* @data: array of &struct iwl_fw_error_dump_data
*/
struct iwl_fw_error_dump_file {
__le32 barker;
__le32 file_len;
u8 data[];
} __packed;
/**
* struct iwl_fw_error_dump_txcmd - TX command data
* @cmdlen: original length of command
* @caplen: captured length of command (may be less)
* @data: captured command data, @caplen bytes
*/
struct iwl_fw_error_dump_txcmd {
__le32 cmdlen;
__le32 caplen;
u8 data[];
} __packed;
/**
* struct iwl_fw_error_dump_fifo - RX/TX FIFO data
* @fifo_num: number of FIFO (starting from 0)
* @available_bytes: num of bytes available in FIFO (may be less than FIFO size)
* @wr_ptr: position of write pointer
* @rd_ptr: position of read pointer
* @fence_ptr: position of fence pointer
* @fence_mode: the current mode of the fence (before locking) -
* 0=follow RD pointer ; 1 = freeze
* @data: all of the FIFO's data
*/
struct iwl_fw_error_dump_fifo {
__le32 fifo_num;
__le32 available_bytes;
__le32 wr_ptr;
__le32 rd_ptr;
__le32 fence_ptr;
__le32 fence_mode;
u8 data[];
} __packed;
enum iwl_fw_error_dump_family {
IWL_FW_ERROR_DUMP_FAMILY_7 = 7,
IWL_FW_ERROR_DUMP_FAMILY_8 = 8,
};
#define MAX_NUM_LMAC 2
/**
* struct iwl_fw_error_dump_info - info on the device / firmware
* @hw_type: the type of the device
* @hw_step: the step of the device
* @fw_human_readable: human readable FW version
* @dev_human_readable: name of the device
* @bus_human_readable: name of the bus used
* @num_of_lmacs: the number of lmacs
* @lmac_err_id: the lmac 0/1 error_id/rt_status that triggered the latest dump
* if the dump collection was not initiated by an assert, the value is 0
* @umac_err_id: the umac error_id/rt_status that triggered the latest dump
* if the dump collection was not initiated by an assert, the value is 0
*/
struct iwl_fw_error_dump_info {
__le32 hw_type;
__le32 hw_step;
u8 fw_human_readable[FW_VER_HUMAN_READABLE_SZ];
u8 dev_human_readable[64];
u8 bus_human_readable[8];
u8 num_of_lmacs;
Annotation
- Immediate include surface: `linux/types.h`, `fw/api/cmdhdr.h`.
- Detected declarations: `struct iwl_fw_error_dump_data`, `struct iwl_dump_file_name_info`, `struct iwl_fw_error_dump_file`, `struct iwl_fw_error_dump_txcmd`, `struct iwl_fw_error_dump_fifo`, `struct iwl_fw_error_dump_info`, `struct iwl_fw_error_dump_fw_mon`, `struct iwl_fw_error_dump_smem_cfg`, `struct iwl_fw_error_dump_prph`, `struct iwl_fw_error_dump_mem`.
- 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.