drivers/net/wireless/ath/ath10k/wmi-tlv.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath10k/wmi-tlv.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/ath10k/wmi-tlv.h- Extension
.h- Size
- 90222 bytes
- Lines
- 2684
- 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 wmi_tlvstruct ath10k_mgmt_tx_pkt_addrstruct chan_info_paramsstruct wmi_tlv_chan_info_eventstruct wmi_tlv_mgmt_tx_compl_evstruct wmi_tlv_mgmt_rx_evstruct wmi_tlv_abi_versionstruct wmi_tlv_hw_bd_infostruct wmi_tlv_svc_rdy_evstruct wmi_tlv_rdy_evstruct wmi_tlv_resource_configstruct host_memory_chunk_tlvstruct wmi_tlv_init_cmdstruct wmi_tlv_pdev_get_temp_cmdstruct wmi_tlv_pdev_temperature_eventstruct wmi_tlv_pdev_set_param_cmdstruct wmi_tlv_pdev_set_rd_cmdstruct wmi_tlv_scan_chan_list_cmdstruct wmi_scan_prob_req_oui_cmdstruct wmi_tlv_start_scan_cmdstruct wmi_tlv_vdev_start_cmdstruct wmi_tlv_peer_create_cmdstruct wmi_tlv_peer_assoc_cmdstruct wmi_tlv_pdev_suspendstruct wmi_tlv_pdev_set_wmm_cmdstruct wmi_tlv_vdev_wmm_paramsstruct wmi_tlv_vdev_set_wmm_cmdstruct wmi_tlv_phyerr_evstruct wmi_tlv_dbglog_cmdstruct wmi_tlv_resume_cmdstruct wmi_tlv_req_stats_cmdstruct wmi_tlv_peer_stats_extdstruct wmi_tlv_vdev_statsstruct wmi_tlv_pktlog_enablestruct wmi_tlv_pktlog_disablestruct wmi_tlv_bcn_tx_status_evstruct wmi_tlv_bcn_prb_infostruct wmi_tlv_bcn_tmpl_cmdstruct wmi_tlv_prb_tmpl_cmdstruct wmi_tlv_p2p_go_bcn_iestruct wmi_tlv_diag_itemstruct wmi_tlv_diag_data_evstruct wmi_tlv_sta_keepalive_cmdstruct wmi_tlv_stats_evstruct wmi_tlv_peer_stats_info_evstruct wmi_tlv_peer_stats_infostruct wmi_tlv_p2p_noa_evstruct wmi_tlv_roam_ev
Annotated Snippet
struct wmi_tlv {
__le16 len;
__le16 tag;
u8 value[];
} __packed;
struct ath10k_mgmt_tx_pkt_addr {
void *vaddr;
dma_addr_t paddr;
};
struct chan_info_params {
u32 err_code;
u32 freq;
u32 cmd_flags;
u32 noise_floor;
u32 rx_clear_count;
u32 cycle_count;
u32 mac_clk_mhz;
};
#define WMI_TLV_FLAG_MGMT_BUNDLE_TX_COMPL BIT(9)
struct wmi_tlv_chan_info_event {
__le32 err_code;
__le32 freq;
__le32 cmd_flags;
__le32 noise_floor;
__le32 rx_clear_count;
__le32 cycle_count;
__le32 chan_tx_pwr_range;
__le32 chan_tx_pwr_tp;
__le32 rx_frame_count;
__le32 my_bss_rx_cycle_count;
__le32 rx_11b_mode_data_duration;
__le32 tx_frame_cnt;
__le32 mac_clk_mhz;
} __packed;
struct wmi_tlv_mgmt_tx_compl_ev {
__le32 desc_id;
__le32 status;
__le32 pdev_id;
__le32 ppdu_id;
__le32 ack_rssi;
};
#define WMI_TLV_MGMT_RX_NUM_RSSI 4
struct wmi_tlv_mgmt_rx_ev {
__le32 channel;
__le32 snr;
__le32 rate;
__le32 phy_mode;
__le32 buf_len;
__le32 status;
__le32 rssi[WMI_TLV_MGMT_RX_NUM_RSSI];
} __packed;
struct wmi_tlv_abi_version {
__le32 abi_ver0;
__le32 abi_ver1;
__le32 abi_ver_ns0;
__le32 abi_ver_ns1;
__le32 abi_ver_ns2;
__le32 abi_ver_ns3;
} __packed;
enum wmi_tlv_hw_bd_id {
WMI_TLV_HW_BD_LEGACY = 0,
WMI_TLV_HW_BD_QCA6174 = 1,
WMI_TLV_HW_BD_QCA2582 = 2,
};
struct wmi_tlv_hw_bd_info {
u8 rev;
u8 project_id;
u8 custom_id;
u8 reference_design_id;
} __packed;
struct wmi_tlv_svc_rdy_ev {
__le32 fw_build_vers;
struct wmi_tlv_abi_version abi;
__le32 phy_capability;
__le32 max_frag_entry;
__le32 num_rf_chains;
__le32 ht_cap_info;
__le32 vht_cap_info;
__le32 vht_supp_mcs;
Annotation
- Immediate include surface: `linux/bitops.h`.
- Detected declarations: `struct wmi_tlv`, `struct ath10k_mgmt_tx_pkt_addr`, `struct chan_info_params`, `struct wmi_tlv_chan_info_event`, `struct wmi_tlv_mgmt_tx_compl_ev`, `struct wmi_tlv_mgmt_rx_ev`, `struct wmi_tlv_abi_version`, `struct wmi_tlv_hw_bd_info`, `struct wmi_tlv_svc_rdy_ev`, `struct wmi_tlv_rdy_ev`.
- 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.