drivers/net/wireless/ath/ath6kl/wmi.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath6kl/wmi.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/ath6kl/wmi.h- Extension
.h- Size
- 61216 bytes
- Lines
- 2721
- 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/ieee80211.hhtc.h
Detected Declarations
struct sq_threshold_paramsstruct wmi_data_sync_bufsstruct wmistruct host_app_areastruct wmi_data_hdrstruct wmi_tx_meta_v1struct wmi_tx_meta_v2struct wmi_rx_meta_v1struct wmi_rx_meta_v2struct wmi_cmd_hdrstruct wmi_connect_cmdstruct wmi_reconnect_cmdstruct wmi_add_cipher_key_cmdstruct wmi_delete_cipher_key_cmdstruct wmi_add_krk_cmdstruct wmi_setpmkid_cmdstruct wmi_supp_ratesstruct wmi_begin_scan_cmdstruct wmi_start_scan_cmdstruct wmi_scan_params_cmdstruct wmi_enable_sched_scan_cmdstruct wmi_bss_filter_cmdstruct wmi_probed_ssid_cmdstruct wmi_listen_int_cmdstruct wmi_bmiss_time_cmdstruct wmi_sta_bmiss_enhance_cmdstruct wmi_set_regdomain_cmdstruct wmi_power_mode_cmdstruct wmi_power_params_cmdstruct wmi_set_tx_select_rates32_cmdstruct wmi_set_tx_select_rates64_cmdstruct wmi_disc_timeout_cmdstruct wmi_sync_cmdstruct wmi_create_pstream_cmdstruct wmi_delete_pstream_cmdstruct wmi_rssi_threshold_params_cmdstruct wmi_snr_threshold_params_cmdstruct wmi_set_rssi_filter_cmdstruct wmi_set_lpreamble_cmdstruct wmi_set_rts_cmdstruct wmi_set_tx_pwr_cmdstruct wmi_tx_pwr_replystruct wmi_report_sleep_state_eventstruct wmi_mcast_filter_cmdstruct wmi_mcast_filter_add_del_cmdstruct wmi_set_htcap_cmdstruct wmi_channel_list_replystruct wmi_ready_event_2
Annotated Snippet
struct sq_threshold_params {
s16 upper_threshold[SIG_QUALITY_UPPER_THRESH_LVLS];
s16 lower_threshold[SIG_QUALITY_LOWER_THRESH_LVLS];
u32 upper_threshold_valid_count;
u32 lower_threshold_valid_count;
u32 polling_interval;
u8 weight;
u8 last_rssi;
u8 last_rssi_poll_event;
};
struct wmi_data_sync_bufs {
u8 traffic_class;
struct sk_buff *skb;
};
/* WMM stream classes */
#define WMM_NUM_AC 4
#define WMM_AC_BE 0 /* best effort */
#define WMM_AC_BK 1 /* background */
#define WMM_AC_VI 2 /* video */
#define WMM_AC_VO 3 /* voice */
#define WMI_VOICE_USER_PRIORITY 0x7
struct wmi {
u16 stream_exist_for_ac[WMM_NUM_AC];
u8 fat_pipe_exist;
struct ath6kl *parent_dev;
u8 pwr_mode;
/* protects fat_pipe_exist and stream_exist_for_ac */
spinlock_t lock;
enum htc_endpoint_id ep_id;
struct sq_threshold_params
sq_threshld[SIGNAL_QUALITY_METRICS_NUM_MAX];
bool is_wmm_enabled;
u8 traffic_class;
bool is_probe_ssid;
u8 *last_mgmt_tx_frame;
size_t last_mgmt_tx_frame_len;
u8 saved_pwr_mode;
};
struct host_app_area {
__le32 wmi_protocol_ver;
} __packed;
enum wmi_msg_type {
DATA_MSGTYPE = 0x0,
CNTL_MSGTYPE,
SYNC_MSGTYPE,
OPT_MSGTYPE,
};
/*
* Macros for operating on WMI_DATA_HDR (info) field
*/
#define WMI_DATA_HDR_MSG_TYPE_MASK 0x03
#define WMI_DATA_HDR_MSG_TYPE_SHIFT 0
#define WMI_DATA_HDR_UP_MASK 0x07
#define WMI_DATA_HDR_UP_SHIFT 2
/* In AP mode, the same bit (b5) is used to indicate Power save state in
* the Rx dir and More data bit state in the tx direction.
*/
#define WMI_DATA_HDR_PS_MASK 0x1
#define WMI_DATA_HDR_PS_SHIFT 5
#define WMI_DATA_HDR_MORE 0x20
enum wmi_data_hdr_data_type {
WMI_DATA_HDR_DATA_TYPE_802_3 = 0,
WMI_DATA_HDR_DATA_TYPE_802_11,
/* used to be used for the PAL */
WMI_DATA_HDR_DATA_TYPE_ACL,
};
/* Bitmap of data header flags */
enum wmi_data_hdr_flags {
WMI_DATA_HDR_FLAGS_MORE = 0x1,
WMI_DATA_HDR_FLAGS_EOSP = 0x2,
WMI_DATA_HDR_FLAGS_UAPSD = 0x4,
};
#define WMI_DATA_HDR_DATA_TYPE_MASK 0x3
#define WMI_DATA_HDR_DATA_TYPE_SHIFT 6
Annotation
- Immediate include surface: `linux/ieee80211.h`, `htc.h`.
- Detected declarations: `struct sq_threshold_params`, `struct wmi_data_sync_bufs`, `struct wmi`, `struct host_app_area`, `struct wmi_data_hdr`, `struct wmi_tx_meta_v1`, `struct wmi_tx_meta_v2`, `struct wmi_rx_meta_v1`, `struct wmi_rx_meta_v2`, `struct wmi_cmd_hdr`.
- 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.