drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h- Extension
.h- Size
- 21184 bytes
- Lines
- 585
- 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/bitops.h
Detected Declarations
struct iwl_fw_ini_hcmdstruct iwl_fw_ini_headerstruct iwl_fw_ini_addr_sizestruct iwl_fw_ini_region_dev_addr_rangestruct iwl_fw_ini_region_dev_addrstruct iwl_fw_ini_region_fifosstruct iwl_fw_ini_region_err_tablestruct iwl_fw_ini_region_special_device_memorystruct iwl_fw_ini_region_internal_bufferstruct iwl_fw_ini_region_tlvstruct iwl_fw_ini_debug_info_tlvstruct iwl_fw_ini_allocation_tlvstruct iwl_fw_ini_trigger_tlvstruct iwl_fw_ini_hcmd_tlvstruct iwl_fw_ini_addr_valstruct iwl_fw_ini_conf_set_tlvenum iwl_fw_ini_config_set_typeenum iwl_fw_ini_allocation_idenum iwl_fw_ini_buffer_locationenum iwl_fw_ini_region_typeenum iwl_fw_ini_region_device_memory_subtypeenum iwl_fw_ini_time_pointenum iwl_fw_ini_trigger_apply_policyenum iwl_fw_ini_trigger_reset_fw_policyenum iwl_fw_ini_dump_policyenum iwl_fw_ini_dump_type
Annotated Snippet
struct iwl_fw_ini_hcmd {
u8 id;
u8 group;
__le16 reserved;
u8 data[];
} __packed; /* FW_DEBUG_TLV_HCMD_DATA_API_S_VER_1 */
/**
* struct iwl_fw_ini_header - Common Header for all ini debug TLV's structures
*
* @version: TLV version
* @domain: domain of the TLV. One of &enum iwl_fw_ini_dbg_domain
*/
struct iwl_fw_ini_header {
__le32 version;
__le32 domain;
/* followed by the data */
} __packed; /* FW_TLV_DEBUG_HEADER_S_VER_1 */
/**
* struct iwl_fw_ini_addr_size - Base address and size that defines
* a chunk of memory
*
* @addr: the base address (fixed size - 4 bytes)
* @size: the size to read
*/
struct iwl_fw_ini_addr_size {
__le32 addr;
__le32 size;
} __packed; /* FW_TLV_DEBUG_ADDR_SIZE_VER_1 */
/**
* struct iwl_fw_ini_region_dev_addr_range - Configuration to read
* device address range
*
* @offset: offset to add to the base address of each chunk
* The addrs[] array will be treated as an array of &iwl_fw_ini_addr_size -
* an array of (addr, size) pairs.
*/
struct iwl_fw_ini_region_dev_addr_range {
__le32 offset;
} __packed; /* FW_TLV_DEBUG_DEVICE_ADDR_RANGE_API_S_VER_1 */
/**
* struct iwl_fw_ini_region_dev_addr - Configuration to read device addresses
*
* @size: size of each memory chunk
* @offset: offset to add to the base address of each chunk
*/
struct iwl_fw_ini_region_dev_addr {
__le32 size;
__le32 offset;
} __packed; /* FW_TLV_DEBUG_DEVICE_ADDR_API_S_VER_1 */
/**
* struct iwl_fw_ini_region_fifos - Configuration to read Tx/Rx fifos
*
* @fid: fifos ids array. Used to determine what fifos to collect
* @hdr_only: if non zero, collect only the registers
* @offset: offset to add to the registers addresses
*/
struct iwl_fw_ini_region_fifos {
__le32 fid[2];
__le32 hdr_only;
__le32 offset;
} __packed; /* FW_TLV_DEBUG_REGION_FIFOS_API_S_VER_1 */
/**
* struct iwl_fw_ini_region_err_table - error table region data
*
* Configuration to read Umac/Lmac error table
*
* @version: version of the error table
* @base_addr: base address of the error table
* @size: size of the error table
* @offset: offset to add to &base_addr
*/
struct iwl_fw_ini_region_err_table {
__le32 version;
__le32 base_addr;
__le32 size;
__le32 offset;
} __packed; /* FW_TLV_DEBUG_REGION_ERROR_TABLE_API_S_VER_1 */
/**
* struct iwl_fw_ini_region_special_device_memory - special device memory
*
* Configuration to read a special memory
*
* @type: type of the special memory
Annotation
- Immediate include surface: `linux/bitops.h`.
- Detected declarations: `struct iwl_fw_ini_hcmd`, `struct iwl_fw_ini_header`, `struct iwl_fw_ini_addr_size`, `struct iwl_fw_ini_region_dev_addr_range`, `struct iwl_fw_ini_region_dev_addr`, `struct iwl_fw_ini_region_fifos`, `struct iwl_fw_ini_region_err_table`, `struct iwl_fw_ini_region_special_device_memory`, `struct iwl_fw_ini_region_internal_buffer`, `struct iwl_fw_ini_region_tlv`.
- 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.