wmi.h (43ed15e1ee01631687ed8b2e8595859802bc9f10) | wmi.h (79802b13a492d0fdeb922e98628e5ff1a8b74026) |
---|---|
1/* SPDX-License-Identifier: BSD-3-Clause-Clear */ 2/* 3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 4 */ 5 6#ifndef ATH11K_WMI_H 7#define ATH11K_WMI_H 8 --- 5030 unchanged lines hidden (view full) --- 5039 struct wmi_host_mem_chunk mem_chunks[WMI_MAX_MEM_REQS]; 5040 5041 enum wmi_host_hw_mode_config_type preferred_hw_mode; 5042 struct target_resource_config wlan_resource_config; 5043 5044 struct ath11k_targ_cap *targ_cap; 5045}; 5046 | 1/* SPDX-License-Identifier: BSD-3-Clause-Clear */ 2/* 3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 4 */ 5 6#ifndef ATH11K_WMI_H 7#define ATH11K_WMI_H 8 --- 5030 unchanged lines hidden (view full) --- 5039 struct wmi_host_mem_chunk mem_chunks[WMI_MAX_MEM_REQS]; 5040 5041 enum wmi_host_hw_mode_config_type preferred_hw_mode; 5042 struct target_resource_config wlan_resource_config; 5043 5044 struct ath11k_targ_cap *targ_cap; 5045}; 5046 |
5047/* WOW structures */ 5048enum wmi_wow_wakeup_event { 5049 WOW_BMISS_EVENT = 0, 5050 WOW_BETTER_AP_EVENT, 5051 WOW_DEAUTH_RECVD_EVENT, 5052 WOW_MAGIC_PKT_RECVD_EVENT, 5053 WOW_GTK_ERR_EVENT, 5054 WOW_FOURWAY_HSHAKE_EVENT, 5055 WOW_EAPOL_RECVD_EVENT, 5056 WOW_NLO_DETECTED_EVENT, 5057 WOW_DISASSOC_RECVD_EVENT, 5058 WOW_PATTERN_MATCH_EVENT, 5059 WOW_CSA_IE_EVENT, 5060 WOW_PROBE_REQ_WPS_IE_EVENT, 5061 WOW_AUTH_REQ_EVENT, 5062 WOW_ASSOC_REQ_EVENT, 5063 WOW_HTT_EVENT, 5064 WOW_RA_MATCH_EVENT, 5065 WOW_HOST_AUTO_SHUTDOWN_EVENT, 5066 WOW_IOAC_MAGIC_EVENT, 5067 WOW_IOAC_SHORT_EVENT, 5068 WOW_IOAC_EXTEND_EVENT, 5069 WOW_IOAC_TIMER_EVENT, 5070 WOW_DFS_PHYERR_RADAR_EVENT, 5071 WOW_BEACON_EVENT, 5072 WOW_CLIENT_KICKOUT_EVENT, 5073 WOW_EVENT_MAX, 5074}; 5075 5076enum wmi_wow_interface_cfg { 5077 WOW_IFACE_PAUSE_ENABLED, 5078 WOW_IFACE_PAUSE_DISABLED 5079}; 5080 5081#define C2S(x) case x: return #x 5082 5083static inline const char *wow_wakeup_event(enum wmi_wow_wakeup_event ev) 5084{ 5085 switch (ev) { 5086 C2S(WOW_BMISS_EVENT); 5087 C2S(WOW_BETTER_AP_EVENT); 5088 C2S(WOW_DEAUTH_RECVD_EVENT); 5089 C2S(WOW_MAGIC_PKT_RECVD_EVENT); 5090 C2S(WOW_GTK_ERR_EVENT); 5091 C2S(WOW_FOURWAY_HSHAKE_EVENT); 5092 C2S(WOW_EAPOL_RECVD_EVENT); 5093 C2S(WOW_NLO_DETECTED_EVENT); 5094 C2S(WOW_DISASSOC_RECVD_EVENT); 5095 C2S(WOW_PATTERN_MATCH_EVENT); 5096 C2S(WOW_CSA_IE_EVENT); 5097 C2S(WOW_PROBE_REQ_WPS_IE_EVENT); 5098 C2S(WOW_AUTH_REQ_EVENT); 5099 C2S(WOW_ASSOC_REQ_EVENT); 5100 C2S(WOW_HTT_EVENT); 5101 C2S(WOW_RA_MATCH_EVENT); 5102 C2S(WOW_HOST_AUTO_SHUTDOWN_EVENT); 5103 C2S(WOW_IOAC_MAGIC_EVENT); 5104 C2S(WOW_IOAC_SHORT_EVENT); 5105 C2S(WOW_IOAC_EXTEND_EVENT); 5106 C2S(WOW_IOAC_TIMER_EVENT); 5107 C2S(WOW_DFS_PHYERR_RADAR_EVENT); 5108 C2S(WOW_BEACON_EVENT); 5109 C2S(WOW_CLIENT_KICKOUT_EVENT); 5110 C2S(WOW_EVENT_MAX); 5111 default: 5112 return NULL; 5113 } 5114} 5115 5116enum wmi_wow_wake_reason { 5117 WOW_REASON_UNSPECIFIED = -1, 5118 WOW_REASON_NLOD = 0, 5119 WOW_REASON_AP_ASSOC_LOST, 5120 WOW_REASON_LOW_RSSI, 5121 WOW_REASON_DEAUTH_RECVD, 5122 WOW_REASON_DISASSOC_RECVD, 5123 WOW_REASON_GTK_HS_ERR, 5124 WOW_REASON_EAP_REQ, 5125 WOW_REASON_FOURWAY_HS_RECV, 5126 WOW_REASON_TIMER_INTR_RECV, 5127 WOW_REASON_PATTERN_MATCH_FOUND, 5128 WOW_REASON_RECV_MAGIC_PATTERN, 5129 WOW_REASON_P2P_DISC, 5130 WOW_REASON_WLAN_HB, 5131 WOW_REASON_CSA_EVENT, 5132 WOW_REASON_PROBE_REQ_WPS_IE_RECV, 5133 WOW_REASON_AUTH_REQ_RECV, 5134 WOW_REASON_ASSOC_REQ_RECV, 5135 WOW_REASON_HTT_EVENT, 5136 WOW_REASON_RA_MATCH, 5137 WOW_REASON_HOST_AUTO_SHUTDOWN, 5138 WOW_REASON_IOAC_MAGIC_EVENT, 5139 WOW_REASON_IOAC_SHORT_EVENT, 5140 WOW_REASON_IOAC_EXTEND_EVENT, 5141 WOW_REASON_IOAC_TIMER_EVENT, 5142 WOW_REASON_ROAM_HO, 5143 WOW_REASON_DFS_PHYERR_RADADR_EVENT, 5144 WOW_REASON_BEACON_RECV, 5145 WOW_REASON_CLIENT_KICKOUT_EVENT, 5146 WOW_REASON_PAGE_FAULT = 0x3a, 5147 WOW_REASON_DEBUG_TEST = 0xFF, 5148}; 5149 5150static inline const char *wow_reason(enum wmi_wow_wake_reason reason) 5151{ 5152 switch (reason) { 5153 C2S(WOW_REASON_UNSPECIFIED); 5154 C2S(WOW_REASON_NLOD); 5155 C2S(WOW_REASON_AP_ASSOC_LOST); 5156 C2S(WOW_REASON_LOW_RSSI); 5157 C2S(WOW_REASON_DEAUTH_RECVD); 5158 C2S(WOW_REASON_DISASSOC_RECVD); 5159 C2S(WOW_REASON_GTK_HS_ERR); 5160 C2S(WOW_REASON_EAP_REQ); 5161 C2S(WOW_REASON_FOURWAY_HS_RECV); 5162 C2S(WOW_REASON_TIMER_INTR_RECV); 5163 C2S(WOW_REASON_PATTERN_MATCH_FOUND); 5164 C2S(WOW_REASON_RECV_MAGIC_PATTERN); 5165 C2S(WOW_REASON_P2P_DISC); 5166 C2S(WOW_REASON_WLAN_HB); 5167 C2S(WOW_REASON_CSA_EVENT); 5168 C2S(WOW_REASON_PROBE_REQ_WPS_IE_RECV); 5169 C2S(WOW_REASON_AUTH_REQ_RECV); 5170 C2S(WOW_REASON_ASSOC_REQ_RECV); 5171 C2S(WOW_REASON_HTT_EVENT); 5172 C2S(WOW_REASON_RA_MATCH); 5173 C2S(WOW_REASON_HOST_AUTO_SHUTDOWN); 5174 C2S(WOW_REASON_IOAC_MAGIC_EVENT); 5175 C2S(WOW_REASON_IOAC_SHORT_EVENT); 5176 C2S(WOW_REASON_IOAC_EXTEND_EVENT); 5177 C2S(WOW_REASON_IOAC_TIMER_EVENT); 5178 C2S(WOW_REASON_ROAM_HO); 5179 C2S(WOW_REASON_DFS_PHYERR_RADADR_EVENT); 5180 C2S(WOW_REASON_BEACON_RECV); 5181 C2S(WOW_REASON_CLIENT_KICKOUT_EVENT); 5182 C2S(WOW_REASON_PAGE_FAULT); 5183 C2S(WOW_REASON_DEBUG_TEST); 5184 default: 5185 return NULL; 5186 } 5187} 5188 5189#undef C2S 5190 5191struct wmi_wow_enable_cmd { 5192 u32 tlv_header; 5193 u32 enable; 5194 u32 pause_iface_config; 5195 u32 flags; 5196} __packed; 5197 5198struct wmi_wow_host_wakeup_ind { 5199 u32 tlv_header; 5200 u32 reserved; 5201} __packed; 5202 5203struct wmi_wow_ev_arg { 5204 u32 vdev_id; 5205 u32 flag; 5206 enum wmi_wow_wake_reason wake_reason; 5207 u32 data_len; 5208}; 5209 |
|
5047int ath11k_wmi_cmd_send(struct ath11k_pdev_wmi *wmi, struct sk_buff *skb, 5048 u32 cmd_id); 5049struct sk_buff *ath11k_wmi_alloc_skb(struct ath11k_wmi_base *wmi_sc, u32 len); 5050int ath11k_wmi_mgmt_send(struct ath11k *ar, u32 vdev_id, u32 buf_id, 5051 struct sk_buff *frame); 5052int ath11k_wmi_bcn_tmpl(struct ath11k *ar, u32 vdev_id, 5053 struct ieee80211_mutable_offsets *offs, 5054 struct sk_buff *bcn); --- 113 unchanged lines hidden (view full) --- 5168int ath11k_wmi_fils_discovery_tmpl(struct ath11k *ar, u32 vdev_id, 5169 struct sk_buff *tmpl); 5170int ath11k_wmi_fils_discovery(struct ath11k *ar, u32 vdev_id, u32 interval, 5171 bool unsol_bcast_probe_resp_enabled); 5172int ath11k_wmi_probe_resp_tmpl(struct ath11k *ar, u32 vdev_id, 5173 struct sk_buff *tmpl); 5174int ath11k_wmi_set_hw_mode(struct ath11k_base *ab, 5175 enum wmi_host_hw_mode_config_type mode); | 5210int ath11k_wmi_cmd_send(struct ath11k_pdev_wmi *wmi, struct sk_buff *skb, 5211 u32 cmd_id); 5212struct sk_buff *ath11k_wmi_alloc_skb(struct ath11k_wmi_base *wmi_sc, u32 len); 5213int ath11k_wmi_mgmt_send(struct ath11k *ar, u32 vdev_id, u32 buf_id, 5214 struct sk_buff *frame); 5215int ath11k_wmi_bcn_tmpl(struct ath11k *ar, u32 vdev_id, 5216 struct ieee80211_mutable_offsets *offs, 5217 struct sk_buff *bcn); --- 113 unchanged lines hidden (view full) --- 5331int ath11k_wmi_fils_discovery_tmpl(struct ath11k *ar, u32 vdev_id, 5332 struct sk_buff *tmpl); 5333int ath11k_wmi_fils_discovery(struct ath11k *ar, u32 vdev_id, u32 interval, 5334 bool unsol_bcast_probe_resp_enabled); 5335int ath11k_wmi_probe_resp_tmpl(struct ath11k *ar, u32 vdev_id, 5336 struct sk_buff *tmpl); 5337int ath11k_wmi_set_hw_mode(struct ath11k_base *ab, 5338 enum wmi_host_hw_mode_config_type mode); |
5339int ath11k_wmi_wow_host_wakeup_ind(struct ath11k *ar); 5340int ath11k_wmi_wow_enable(struct ath11k *ar); |
|
5176 5177#endif | 5341 5342#endif |