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.

Dependency Surface

Detected Declarations

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

Implementation Notes