drivers/net/wireless/ath/ath11k/wmi.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath11k/wmi.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/ath11k/wmi.h- Extension
.h- Size
- 183163 bytes
- Lines
- 6627
- 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
net/mac80211.hhtc.h
Detected Declarations
struct ath11k_basestruct ath11kstruct ath11k_fw_statsstruct ath11k_fw_dbglogstruct ath11k_vifstruct ath11k_reg_tpc_power_infostruct wmi_cmd_hdrstruct wmi_tlvstruct wmi_host_pdev_band_to_macstruct ath11k_ppe_thresholdstruct ath11k_service_ext_paramstruct ath11k_hw_mode_capsstruct ath11k_hal_reg_capabilities_extstruct wlan_host_mem_chunkstruct wmi_host_mem_chunkstruct wmi_init_cmd_paramstruct wmi_pdev_band_to_macstruct wmi_pdev_set_hw_mode_cmd_paramstruct wmi_ppe_thresholdstruct wmi_abi_versionstruct wmi_init_cmdstruct wmi_resource_configstruct wmi_service_ready_eventstruct wmi_service_ready_ext_eventstruct wmi_soc_mac_phy_hw_mode_capsstruct wmi_hw_mode_capabilitiesstruct wmi_mac_phy_capabilitiesstruct wmi_hal_reg_capabilities_extstruct wmi_soc_hal_reg_capabilitiesstruct wmi_mac_addrstruct wmi_dma_ring_capabilitiesstruct wmi_ready_event_minstruct wmi_ready_eventstruct wmi_service_available_eventstruct ath11k_pdev_wmistruct vdev_create_paramsstruct wmi_vdev_create_cmdstruct wmi_vdev_txrx_streamsstruct wmi_vdev_delete_cmdstruct wmi_vdev_up_cmdstruct wmi_vdev_stop_cmdstruct wmi_vdev_down_cmdstruct wmi_ssidstruct wmi_vdev_start_request_cmdstruct mac_ssidstruct wmi_p2p_noa_descriptorstruct channel_paramstruct wmi_channel_arg
Annotated Snippet
struct wmi_cmd_hdr {
u32 cmd_id;
} __packed;
struct wmi_tlv {
u32 header;
u8 value[];
} __packed;
#define WMI_TLV_LEN GENMASK(15, 0)
#define WMI_TLV_TAG GENMASK(31, 16)
#define TLV_HDR_SIZE sizeof_field(struct wmi_tlv, header)
#define WMI_CMD_HDR_CMD_ID GENMASK(23, 0)
#define WMI_MAX_MEM_REQS 32
#define ATH11K_MAX_HW_LISTEN_INTERVAL 5
#define WLAN_SCAN_MAX_HINT_S_SSID 10
#define WLAN_SCAN_MAX_HINT_BSSID 10
#define MAX_RNR_BSS 5
#define WLAN_SCAN_PARAMS_MAX_SSID 16
#define WLAN_SCAN_PARAMS_MAX_BSSID 4
#define WLAN_SCAN_PARAMS_MAX_IE_LEN 512
#define WMI_APPEND_TO_EXISTING_CHAN_LIST_FLAG 1
#define MAX_WMI_UTF_LEN 252
#define WMI_BA_MODE_BUFFER_SIZE_256 3
/*
* HW mode config type replicated from FW header
* @WMI_HOST_HW_MODE_SINGLE: Only one PHY is active.
* @WMI_HOST_HW_MODE_DBS: Both PHYs are active in different bands,
* one in 2G and another in 5G.
* @WMI_HOST_HW_MODE_SBS_PASSIVE: Both PHYs are in passive mode (only rx) in
* same band; no tx allowed.
* @WMI_HOST_HW_MODE_SBS: Both PHYs are active in the same band.
* Support for both PHYs within one band is planned
* for 5G only(as indicated in WMI_MAC_PHY_CAPABILITIES),
* but could be extended to other bands in the future.
* The separation of the band between the two PHYs needs
* to be communicated separately.
* @WMI_HOST_HW_MODE_DBS_SBS: 3 PHYs, with 2 on the same band doing SBS
* as in WMI_HW_MODE_SBS, and 3rd on the other band
* @WMI_HOST_HW_MODE_DBS_OR_SBS: Two PHY with one PHY capabale of both 2G and
* 5G. It can support SBS (5G + 5G) OR DBS (5G + 2G).
* @WMI_HOST_HW_MODE_MAX: Max hw_mode_id. Used to indicate invalid mode.
*/
enum wmi_host_hw_mode_config_type {
WMI_HOST_HW_MODE_SINGLE = 0,
WMI_HOST_HW_MODE_DBS = 1,
WMI_HOST_HW_MODE_SBS_PASSIVE = 2,
WMI_HOST_HW_MODE_SBS = 3,
WMI_HOST_HW_MODE_DBS_SBS = 4,
WMI_HOST_HW_MODE_DBS_OR_SBS = 5,
/* keep last */
WMI_HOST_HW_MODE_MAX
};
/* HW mode priority values used to detect the preferred HW mode
* on the available modes.
*/
enum wmi_host_hw_mode_priority {
WMI_HOST_HW_MODE_DBS_SBS_PRI,
WMI_HOST_HW_MODE_DBS_PRI,
WMI_HOST_HW_MODE_DBS_OR_SBS_PRI,
WMI_HOST_HW_MODE_SBS_PRI,
WMI_HOST_HW_MODE_SBS_PASSIVE_PRI,
WMI_HOST_HW_MODE_SINGLE_PRI,
/* keep last the lowest priority */
WMI_HOST_HW_MODE_MAX_PRI
};
enum WMI_HOST_WLAN_BAND {
WMI_HOST_WLAN_2G_CAP = 0x1,
WMI_HOST_WLAN_5G_CAP = 0x2,
WMI_HOST_WLAN_2G_5G_CAP = WMI_HOST_WLAN_2G_CAP | WMI_HOST_WLAN_5G_CAP,
};
/* Parameters used for WMI_VDEV_PARAM_AUTORATE_MISC_CFG command.
* Used only for HE auto rate mode.
*/
enum {
/* HE LTF related configuration */
WMI_HE_AUTORATE_LTF_1X = BIT(0),
WMI_HE_AUTORATE_LTF_2X = BIT(1),
WMI_HE_AUTORATE_LTF_4X = BIT(2),
Annotation
- Immediate include surface: `net/mac80211.h`, `htc.h`.
- Detected declarations: `struct ath11k_base`, `struct ath11k`, `struct ath11k_fw_stats`, `struct ath11k_fw_dbglog`, `struct ath11k_vif`, `struct ath11k_reg_tpc_power_info`, `struct wmi_cmd_hdr`, `struct wmi_tlv`, `struct wmi_host_pdev_band_to_mac`, `struct ath11k_ppe_threshold`.
- 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.