blob: 4c75e080e702171898b3273ead2a35369252057c [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
Jeff Johnson103e4fb2018-12-27 21:49:41 -08002 * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003 *
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004 * Permission to use, copy, modify, and/or distribute this software for
5 * any purpose with or without fee is hereby granted, provided that the
6 * above copyright notice and this permission notice appear in all
7 * copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16 * PERFORMANCE OF THIS SOFTWARE.
17 */
18
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080019#ifndef WLAN_QCT_WMA_H
20#define WLAN_QCT_WMA_H
21
22#include "ani_global.h"
23
24#include "wma_api.h"
25#include "wma_tgt_cfg.h"
26#include "i_cds_packet.h"
27
Manikandan Mohan1dd8b5d2017-04-18 15:54:09 -070028#define IS_FEATURE_SUPPORTED_BY_FW(feat_enum_value) \
29 wma_get_fw_wlan_feat_caps(feat_enum_value)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080030
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080031#define IS_IBSS_HEARTBEAT_OFFLOAD_FEATURE_ENABLE 1
32
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080033#define DPU_FEEDBACK_UNPROTECTED_ERROR 0x0F
34
35#define WMA_GET_RX_MAC_HEADER(pRxMeta) \
36 (tpSirMacMgmtHdr)(((t_packetmeta *)pRxMeta)->mpdu_hdr_ptr)
37
38#define WMA_GET_RX_MPDUHEADER3A(pRxMeta) \
39 (tpSirMacDataHdr3a)(((t_packetmeta *)pRxMeta)->mpdu_hdr_ptr)
40
41#define WMA_GET_RX_MPDU_HEADER_LEN(pRxMeta) \
42 (((t_packetmeta *)pRxMeta)->mpdu_hdr_len)
43
44#define WMA_GET_RX_MPDU_LEN(pRxMeta) \
45 (((t_packetmeta *)pRxMeta)->mpdu_len)
46
47#define WMA_GET_RX_PAYLOAD_LEN(pRxMeta) \
48 (((t_packetmeta *)pRxMeta)->mpdu_data_len)
49
50#define WMA_GET_RX_TSF_DELTA(pRxMeta) \
51 (((t_packetmeta *)pRxMeta)->tsf_delta)
52
53#define WMA_GET_RX_MAC_RATE_IDX(pRxMeta) 0
54
55#define WMA_GET_RX_MPDU_DATA(pRxMeta) \
56 (((t_packetmeta *)pRxMeta)->mpdu_data_ptr)
57
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080058#define WMA_GET_RX_UNKNOWN_UCAST(pRxMeta) 0
59
60#define WMA_GET_RX_CH(pRxMeta) \
61 (((t_packetmeta *)pRxMeta)->channel)
62
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080063#define WMA_GET_RX_FT_DONE(pRxMeta) 0
64
65#define WMA_GET_RX_DPU_FEEDBACK(pRxMeta) \
66 (((t_packetmeta *)pRxMeta)->dpuFeedback)
67
68#define WMA_GET_RX_BEACON_SENT(pRxMeta) 0
69
70#define WMA_GET_RX_TSF_LATER(pRxMeta) 0
71
72#define WMA_GET_RX_TIMESTAMP(pRxMeta) \
73 (((t_packetmeta *)pRxMeta)->timestamp)
74
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080075#define WMA_GET_OFFLOADSCANLEARN(pRxMeta) \
76 (((t_packetmeta *)pRxMeta)->offloadScanLearn)
77#define WMA_GET_ROAMCANDIDATEIND(pRxMeta) \
78 (((t_packetmeta *)pRxMeta)->roamCandidateInd)
79#define WMA_GET_SESSIONID(pRxMeta) \
Jingxiang Ge45a24332019-03-11 10:46:47 +080080 (((t_packetmeta *)pRxMeta)->session_id)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080081#define WMA_GET_SCAN_SRC(pRxMeta) \
82 (((t_packetmeta *)pRxMeta)->scan_src)
83
84#ifdef FEATURE_WLAN_EXTSCAN
85#define WMA_IS_EXTSCAN_SCAN_SRC(pRxMeta) \
86 ((((t_packetmeta *)pRxMeta)->scan_src) == WMI_MGMT_RX_HDR_EXTSCAN)
87#define WMA_IS_EPNO_SCAN_SRC(pRxMeta) \
88 ((((t_packetmeta *)pRxMeta)->scan_src) & WMI_MGMT_RX_HDR_ENLO)
89#endif /* FEATURE_WLAN_EXTSCAN */
90
91#define WMA_GET_RX_SNR(pRxMeta) \
92 (((t_packetmeta *)pRxMeta)->snr)
93
94#define WMA_GET_RX_RFBAND(pRxMeta) 0
95
Deepak Dhamdhere68929ec2015-08-05 15:16:35 -070096#define WMA_MAX_TXPOWER_INVALID 127
97/* rssi value normalized to noise floor of -96 dBm */
98#define WMA_GET_RX_RSSI_NORMALIZED(pRxMeta) \
99 (((t_packetmeta *)pRxMeta)->rssi)
100
101/* raw rssi based on actual noise floor in hardware */
102#define WMA_GET_RX_RSSI_RAW(pRxMeta) \
103 (((t_packetmeta *)pRxMeta)->rssi_raw)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800104
Yingying Tang95409972016-10-20 15:16:15 +0800105/*
106 * the repeat_cnt is reserved by FW team, the current value
107 * is always 0xffffffff
108 */
109#define WMI_WOW_PULSE_REPEAT_CNT 0xffffffff
110
111
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800112/* WMA Messages */
113#define WMA_MSG_TYPES_BEGIN SIR_HAL_MSG_TYPES_BEGIN
114#define WMA_ITC_MSG_TYPES_BEGIN SIR_HAL_ITC_MSG_TYPES_BEGIN
115#define WMA_RADAR_DETECTED_IND SIR_HAL_RADAR_DETECTED_IND
116
117#define WMA_ADD_STA_REQ SIR_HAL_ADD_STA_REQ
118#define WMA_ADD_STA_RSP SIR_HAL_ADD_STA_RSP
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800119#define WMA_DELETE_STA_REQ SIR_HAL_DELETE_STA_REQ
120#define WMA_DELETE_STA_RSP SIR_HAL_DELETE_STA_RSP
121#define WMA_ADD_BSS_REQ SIR_HAL_ADD_BSS_REQ
122#define WMA_ADD_BSS_RSP SIR_HAL_ADD_BSS_RSP
123#define WMA_DELETE_BSS_REQ SIR_HAL_DELETE_BSS_REQ
Deepak Dhamdhere2dae1bd2016-10-27 10:58:29 -0700124#define WMA_DELETE_BSS_HO_FAIL_REQ SIR_HAL_DELETE_BSS_HO_FAIL_REQ
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800125#define WMA_DELETE_BSS_RSP SIR_HAL_DELETE_BSS_RSP
Deepak Dhamdhere2dae1bd2016-10-27 10:58:29 -0700126#define WMA_DELETE_BSS_HO_FAIL_RSP SIR_HAL_DELETE_BSS_HO_FAIL_RSP
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800127#define WMA_SEND_BEACON_REQ SIR_HAL_SEND_BEACON_REQ
Abhishek Singhfc740be2018-10-12 11:34:26 +0530128#define WMA_SEND_BCN_RSP SIR_HAL_SEND_BCN_RSP
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800129#define WMA_SEND_PROBE_RSP_TMPL SIR_HAL_SEND_PROBE_RSP_TMPL
Pragaspathi Thilagaraj30251ec2018-12-18 17:22:57 +0530130#define WMA_ROAM_BLACLIST_MSG SIR_HAL_ROAM_BLACKLIST_MSG
Rakshith Suresh Patkar5f9efa32019-02-04 13:26:56 +0530131#define WMA_SEND_PEER_UNMAP_CONF SIR_HAL_SEND_PEER_UNMAP_CONF
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800132
133#define WMA_SET_BSSKEY_REQ SIR_HAL_SET_BSSKEY_REQ
134#define WMA_SET_BSSKEY_RSP SIR_HAL_SET_BSSKEY_RSP
135#define WMA_SET_STAKEY_REQ SIR_HAL_SET_STAKEY_REQ
136#define WMA_SET_STAKEY_RSP SIR_HAL_SET_STAKEY_RSP
137#define WMA_UPDATE_EDCA_PROFILE_IND SIR_HAL_UPDATE_EDCA_PROFILE_IND
138
139#define WMA_UPDATE_BEACON_IND SIR_HAL_UPDATE_BEACON_IND
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800140#define WMA_CHNL_SWITCH_REQ SIR_HAL_CHNL_SWITCH_REQ
141#define WMA_ADD_TS_REQ SIR_HAL_ADD_TS_REQ
142#define WMA_DEL_TS_REQ SIR_HAL_DEL_TS_REQ
143
144#define WMA_MISSED_BEACON_IND SIR_HAL_MISSED_BEACON_IND
145
146#define WMA_ENTER_PS_REQ SIR_HAL_ENTER_PS_REQ
147#define WMA_EXIT_PS_REQ SIR_HAL_EXIT_PS_REQ
148
Kiran Kumar Lokere5798bfa2017-04-27 20:49:39 -0700149#define WMA_HIDDEN_SSID_RESTART_RSP SIR_HAL_HIDDEN_SSID_RESTART_RSP
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800150#define WMA_SWITCH_CHANNEL_RSP SIR_HAL_SWITCH_CHANNEL_RSP
151#define WMA_P2P_NOA_ATTR_IND SIR_HAL_P2P_NOA_ATTR_IND
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800152#define WMA_PWR_SAVE_CFG SIR_HAL_PWR_SAVE_CFG
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800153
154#define WMA_IBSS_STA_ADD SIR_HAL_IBSS_STA_ADD
Manikandan Mohan1dd8b5d2017-04-18 15:54:09 -0700155#define WMA_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND SIR_HAL_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800156#define WMA_SET_LINK_STATE SIR_HAL_SET_LINK_STATE
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800157#define WMA_SET_STA_BCASTKEY_REQ SIR_HAL_SET_STA_BCASTKEY_REQ
158#define WMA_SET_STA_BCASTKEY_RSP SIR_HAL_SET_STA_BCASTKEY_RSP
159#define WMA_ADD_TS_RSP SIR_HAL_ADD_TS_RSP
160#define WMA_DPU_MIC_ERROR SIR_HAL_DPU_MIC_ERROR
161#define WMA_TIMER_CHIP_MONITOR_TIMEOUT SIR_HAL_TIMER_CHIP_MONITOR_TIMEOUT
162#define WMA_TIMER_TRAFFIC_ACTIVITY_REQ SIR_HAL_TIMER_TRAFFIC_ACTIVITY_REQ
163#define WMA_TIMER_ADC_RSSI_STATS SIR_HAL_TIMER_ADC_RSSI_STATS
164#define WMA_TIMER_TRAFFIC_STATS_IND SIR_HAL_TRAFFIC_STATS_IND
165
166#ifdef WLAN_FEATURE_11W
167#define WMA_EXCLUDE_UNENCRYPTED_IND SIR_HAL_EXCLUDE_UNENCRYPTED_IND
168#endif
169
170#ifdef FEATURE_WLAN_ESE
171#define WMA_TSM_STATS_REQ SIR_HAL_TSM_STATS_REQ
172#define WMA_TSM_STATS_RSP SIR_HAL_TSM_STATS_RSP
173#endif
174
Sandeep Puligillae0875662016-02-12 16:09:21 -0800175#define WMA_HT40_OBSS_SCAN_IND SIR_HAL_HT40_OBSS_SCAN_IND
176
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800177#define WMA_SET_MIMOPS_REQ SIR_HAL_SET_MIMOPS_REQ
178#define WMA_SET_MIMOPS_RSP SIR_HAL_SET_MIMOPS_RSP
179#define WMA_SYS_READY_IND SIR_HAL_SYS_READY_IND
180#define WMA_SET_TX_POWER_REQ SIR_HAL_SET_TX_POWER_REQ
181#define WMA_SET_TX_POWER_RSP SIR_HAL_SET_TX_POWER_RSP
182#define WMA_GET_TX_POWER_REQ SIR_HAL_GET_TX_POWER_REQ
183
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800184#define WMA_ENABLE_UAPSD_REQ SIR_HAL_ENABLE_UAPSD_REQ
185#define WMA_DISABLE_UAPSD_REQ SIR_HAL_DISABLE_UAPSD_REQ
186
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800187#define WMA_SET_KEY_DONE SIR_HAL_SET_KEY_DONE
188
189/* / PE <-> HAL BTC messages */
190#define WMA_BTC_SET_CFG SIR_HAL_BTC_SET_CFG
191#define WMA_HANDLE_FW_MBOX_RSP SIR_HAL_HANDLE_FW_MBOX_RSP
192
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800193#define WMA_SET_MAX_TX_POWER_REQ SIR_HAL_SET_MAX_TX_POWER_REQ
194#define WMA_SET_MAX_TX_POWER_RSP SIR_HAL_SET_MAX_TX_POWER_RSP
Kiran Kumar Lokere6d3a30d2018-01-15 18:18:29 -0800195#define WMA_SET_DTIM_PERIOD SIR_HAL_SET_DTIM_PERIOD
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800196
197#define WMA_SET_MAX_TX_POWER_PER_BAND_REQ \
198 SIR_HAL_SET_MAX_TX_POWER_PER_BAND_REQ
199
200/* / PE <-> HAL Host Offload message */
201#define WMA_SET_HOST_OFFLOAD SIR_HAL_SET_HOST_OFFLOAD
202
203/* / PE <-> HAL Keep Alive message */
204#define WMA_SET_KEEP_ALIVE SIR_HAL_SET_KEEP_ALIVE
205
206#ifdef WLAN_NS_OFFLOAD
207#define WMA_SET_NS_OFFLOAD SIR_HAL_SET_NS_OFFLOAD
208#endif /* WLAN_NS_OFFLOAD */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800209
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800210#ifdef FEATURE_WLAN_TDLS
211#define WMA_SET_TDLS_LINK_ESTABLISH_REQ SIR_HAL_TDLS_LINK_ESTABLISH_REQ
212#define WMA_SET_TDLS_LINK_ESTABLISH_REQ_RSP SIR_HAL_TDLS_LINK_ESTABLISH_REQ_RSP
213#endif
214
215#define WMA_WLAN_SUSPEND_IND SIR_HAL_WLAN_SUSPEND_IND
216#define WMA_WLAN_RESUME_REQ SIR_HAL_WLAN_RESUME_REQ
217#define WMA_MSG_TYPES_END SIR_HAL_MSG_TYPES_END
218
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800219#define WMA_AGGR_QOS_REQ SIR_HAL_AGGR_QOS_REQ
220#define WMA_AGGR_QOS_RSP SIR_HAL_AGGR_QOS_RSP
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800221
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800222#define WMA_CSA_OFFLOAD_EVENT SIR_CSA_OFFLOAD_EVENT
223
Srinivas Girigowda515a9ef2015-12-11 11:00:48 -0800224#ifdef FEATURE_WLAN_ESE
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800225#define WMA_SET_PLM_REQ SIR_HAL_SET_PLM_REQ
226#endif
227
228#define WMA_ROAM_SCAN_OFFLOAD_REQ SIR_HAL_ROAM_SCAN_OFFLOAD_REQ
Pragaspathi Thilagaraja97d4982019-07-18 01:18:44 +0530229#define WMA_ROAM_PRE_AUTH_STATUS SIR_HAL_ROAM_PRE_AUTH_STATUS_IND
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800230
231#ifdef WLAN_FEATURE_ROAM_OFFLOAD
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800232#define WMA_ROAM_OFFLOAD_SYNCH_IND SIR_HAL_ROAM_OFFLOAD_SYNCH_IND
233#define WMA_ROAM_OFFLOAD_SYNCH_FAIL SIR_HAL_ROAM_OFFLOAD_SYNCH_FAIL
234#endif
235
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800236#define WMA_8023_MULTICAST_LIST_REQ SIR_HAL_8023_MULTICAST_LIST_REQ
Qiwei Cai4505fc62018-05-17 18:35:19 +0800237
238#ifdef WLAN_FEATURE_PACKET_FILTERING
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800239#define WMA_RECEIVE_FILTER_SET_FILTER_REQ SIR_HAL_RECEIVE_FILTER_SET_FILTER_REQ
240#define WMA_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ
241#define WMA_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP
242#define WMA_RECEIVE_FILTER_CLEAR_FILTER_REQ SIR_HAL_RECEIVE_FILTER_CLEAR_FILTER_REQ
243#endif /* WLAN_FEATURE_PACKET_FILTERING */
244
245#define WMA_DHCP_START_IND SIR_HAL_DHCP_START_IND
246#define WMA_DHCP_STOP_IND SIR_HAL_DHCP_STOP_IND
247
Rajeev Kumar8e3e2832015-11-06 16:02:54 -0800248#define WMA_TX_FAIL_MONITOR_IND SIR_HAL_TX_FAIL_MONITOR_IND
249
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800250#ifdef WLAN_FEATURE_GTK_OFFLOAD
251#define WMA_GTK_OFFLOAD_REQ SIR_HAL_GTK_OFFLOAD_REQ
252#define WMA_GTK_OFFLOAD_GETINFO_REQ SIR_HAL_GTK_OFFLOAD_GETINFO_REQ
253#define WMA_GTK_OFFLOAD_GETINFO_RSP SIR_HAL_GTK_OFFLOAD_GETINFO_RSP
254#endif /* WLAN_FEATURE_GTK_OFFLOAD */
255
256#define WMA_SET_TM_LEVEL_REQ SIR_HAL_SET_TM_LEVEL_REQ
257
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800258#define WMA_UPDATE_OP_MODE SIR_HAL_UPDATE_OP_MODE
259#define WMA_UPDATE_RX_NSS SIR_HAL_UPDATE_RX_NSS
260#define WMA_UPDATE_MEMBERSHIP SIR_HAL_UPDATE_MEMBERSHIP
261#define WMA_UPDATE_USERPOS SIR_HAL_UPDATE_USERPOS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800262
263#ifdef WLAN_FEATURE_NAN
264#define WMA_NAN_REQUEST SIR_HAL_NAN_REQUEST
265#endif
266
267#define WMA_START_SCAN_OFFLOAD_REQ SIR_HAL_START_SCAN_OFFLOAD_REQ
268#define WMA_STOP_SCAN_OFFLOAD_REQ SIR_HAL_STOP_SCAN_OFFLOAD_REQ
269#define WMA_UPDATE_CHAN_LIST_REQ SIR_HAL_UPDATE_CHAN_LIST_REQ
270#define WMA_RX_SCAN_EVENT SIR_HAL_RX_SCAN_EVENT
gaoleze5108942017-03-31 16:56:42 +0800271#define WMA_RX_CHN_STATUS_EVENT SIR_HAL_RX_CHN_STATUS_EVENT
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800272#define WMA_IBSS_PEER_INACTIVITY_IND SIR_HAL_IBSS_PEER_INACTIVITY_IND
273
274#define WMA_CLI_SET_CMD SIR_HAL_CLI_SET_CMD
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800275
276#ifndef REMOVE_PKT_LOG
277#define WMA_PKTLOG_ENABLE_REQ SIR_HAL_PKTLOG_ENABLE_REQ
278#endif
279
280#ifdef FEATURE_WLAN_LPHB
281#define WMA_LPHB_CONF_REQ SIR_HAL_LPHB_CONF_IND
282#endif /* FEATURE_WLAN_LPHB */
283
284#ifdef FEATURE_WLAN_CH_AVOID
285#define WMA_CH_AVOID_UPDATE_REQ SIR_HAL_CH_AVOID_UPDATE_REQ
286#endif /* FEATURE_WLAN_CH_AVOID */
287
288#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
289#define WMA_SET_AUTO_SHUTDOWN_TIMER_REQ SIR_HAL_SET_AUTO_SHUTDOWN_TIMER_REQ
290#endif
291
292#define WMA_ADD_PERIODIC_TX_PTRN_IND SIR_HAL_ADD_PERIODIC_TX_PTRN_IND
293#define WMA_DEL_PERIODIC_TX_PTRN_IND SIR_HAL_DEL_PERIODIC_TX_PTRN_IND
294
295#define WMA_TX_POWER_LIMIT SIR_HAL_SET_TX_POWER_LIMIT
296
297#define WMA_RATE_UPDATE_IND SIR_HAL_RATE_UPDATE_IND
298
Kiran Kumar Lokerebc87bec2018-02-27 20:06:42 -0800299#define WMA_SEND_ADDBA_REQ SIR_HAL_SEND_ADDBA_REQ
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800300#define WMA_INIT_THERMAL_INFO_CMD SIR_HAL_INIT_THERMAL_INFO_CMD
301#define WMA_SET_THERMAL_LEVEL SIR_HAL_SET_THERMAL_LEVEL
Rajeev Kumar8e3e2832015-11-06 16:02:54 -0800302#define WMA_RMC_ENABLE_IND SIR_HAL_RMC_ENABLE_IND
303#define WMA_RMC_DISABLE_IND SIR_HAL_RMC_DISABLE_IND
304#define WMA_RMC_ACTION_PERIOD_IND SIR_HAL_RMC_ACTION_PERIOD_IND
305
306/* IBSS peer info related message */
307#define WMA_GET_IBSS_PEER_INFO_REQ SIR_HAL_IBSS_PEER_INFO_REQ
308
309#define WMA_IBSS_CESIUM_ENABLE_IND SIR_HAL_IBSS_CESIUM_ENABLE_IND
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800310
Poddar, Siddarth5a91f5b2016-04-28 12:24:10 +0530311#define WMA_INIT_BAD_PEER_TX_CTL_INFO_CMD SIR_HAL_BAD_PEER_TX_CTL_INI_CMD
312
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800313#ifdef FEATURE_WLAN_TDLS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800314#define WMA_UPDATE_TDLS_PEER_STATE SIR_HAL_UPDATE_TDLS_PEER_STATE
315#define WMA_TDLS_SHOULD_DISCOVER_CMD SIR_HAL_TDLS_SHOULD_DISCOVER
316#define WMA_TDLS_SHOULD_TEARDOWN_CMD SIR_HAL_TDLS_SHOULD_TEARDOWN
317#define WMA_TDLS_PEER_DISCONNECTED_CMD SIR_HAL_TDLS_PEER_DISCONNECTED
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800318#endif
319#define WMA_SET_SAP_INTRABSS_DIS SIR_HAL_SET_SAP_INTRABSS_DIS
320
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800321/* Message to indicate beacon tx completion after beacon template update
322 * beacon offload case
323 */
324#define WMA_DFS_BEACON_TX_SUCCESS_IND SIR_HAL_BEACON_TX_SUCCESS_IND
325#define WMA_DISASSOC_TX_COMP SIR_HAL_DISASSOC_TX_COMP
326#define WMA_DEAUTH_TX_COMP SIR_HAL_DEAUTH_TX_COMP
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800327
Will Huanga9814592017-05-24 15:47:58 +0800328#define WMA_GET_PEER_INFO_EXT SIR_HAL_GET_PEER_INFO_EXT
329
guangde4853c402019-05-06 15:54:04 +0800330#define WMA_GET_ISOLATION SIR_HAL_GET_ISOLATION
331
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800332#define WMA_MODEM_POWER_STATE_IND SIR_HAL_MODEM_POWER_STATE_IND
333
334#ifdef WLAN_FEATURE_STATS_EXT
335#define WMA_STATS_EXT_REQUEST SIR_HAL_STATS_EXT_REQUEST
336#endif
337
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800338#define WMA_GET_TEMPERATURE_REQ SIR_HAL_GET_TEMPERATURE_REQ
Manikandan Mohan80dea792016-04-28 16:36:48 -0700339#define WMA_SET_WISA_PARAMS SIR_HAL_SET_WISA_PARAMS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800340
341#ifdef FEATURE_WLAN_EXTSCAN
342#define WMA_EXTSCAN_GET_CAPABILITIES_REQ SIR_HAL_EXTSCAN_GET_CAPABILITIES_REQ
343#define WMA_EXTSCAN_START_REQ SIR_HAL_EXTSCAN_START_REQ
344#define WMA_EXTSCAN_STOP_REQ SIR_HAL_EXTSCAN_STOP_REQ
345#define WMA_EXTSCAN_SET_BSSID_HOTLIST_REQ SIR_HAL_EXTSCAN_SET_BSS_HOTLIST_REQ
346#define WMA_EXTSCAN_RESET_BSSID_HOTLIST_REQ SIR_HAL_EXTSCAN_RESET_BSS_HOTLIST_REQ
347#define WMA_EXTSCAN_SET_SIGNF_CHANGE_REQ SIR_HAL_EXTSCAN_SET_SIGNF_CHANGE_REQ
348#define WMA_EXTSCAN_RESET_SIGNF_CHANGE_REQ SIR_HAL_EXTSCAN_RESET_SIGNF_CHANGE_REQ
349#define WMA_EXTSCAN_GET_CACHED_RESULTS_REQ SIR_HAL_EXTSCAN_GET_CACHED_RESULTS_REQ
350#define WMA_SET_EPNO_LIST_REQ SIR_HAL_SET_EPNO_LIST_REQ
351#define WMA_SET_PASSPOINT_LIST_REQ SIR_HAL_SET_PASSPOINT_LIST_REQ
352#define WMA_RESET_PASSPOINT_LIST_REQ SIR_HAL_RESET_PASSPOINT_LIST_REQ
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800353
354#endif /* FEATURE_WLAN_EXTSCAN */
355
356#ifdef WLAN_FEATURE_LINK_LAYER_STATS
357#define WMA_LINK_LAYER_STATS_CLEAR_REQ SIR_HAL_LL_STATS_CLEAR_REQ
358#define WMA_LINK_LAYER_STATS_SET_REQ SIR_HAL_LL_STATS_SET_REQ
359#define WMA_LINK_LAYER_STATS_GET_REQ SIR_HAL_LL_STATS_GET_REQ
360#define WMA_LINK_LAYER_STATS_RESULTS_RSP SIR_HAL_LL_STATS_RESULTS_RSP
Zhang Qian73c348a2017-03-13 16:15:55 +0800361#define WDA_LINK_LAYER_STATS_SET_THRESHOLD SIR_HAL_LL_STATS_EXT_SET_THRESHOLD
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800362#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
363
364#define WMA_LINK_STATUS_GET_REQ SIR_HAL_LINK_STATUS_GET_REQ
365
366#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
367#define WMA_WLAN_EXT_WOW SIR_HAL_CONFIG_EXT_WOW
368#define WMA_WLAN_SET_APP_TYPE1_PARAMS SIR_HAL_CONFIG_APP_TYPE1_PARAMS
369#define WMA_WLAN_SET_APP_TYPE2_PARAMS SIR_HAL_CONFIG_APP_TYPE2_PARAMS
370#endif
371
372#define WMA_SET_SCAN_MAC_OUI_REQ SIR_HAL_SET_SCAN_MAC_OUI_REQ
Manikandan Mohan976e7562016-03-15 16:33:31 -0700373#define WMA_TSF_GPIO_PIN SIR_HAL_TSF_GPIO_PIN_REQ
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800374
375#ifdef DHCP_SERVER_OFFLOAD
376#define WMA_SET_DHCP_SERVER_OFFLOAD_CMD SIR_HAL_SET_DHCP_SERVER_OFFLOAD
377#endif /* DHCP_SERVER_OFFLOAD */
378
379#ifdef WLAN_FEATURE_GPIO_LED_FLASHING
380#define WMA_LED_FLASHING_REQ SIR_HAL_LED_FLASHING_REQ
381#endif
382
383/* Message posted by wmi when wmi event is received from FW */
384#define WMA_PROCESS_FW_EVENT SIR_HAL_PROCESS_FW_EVENT
385
386#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
387#define WMA_UPDATE_Q2Q_IE_IND SIR_HAL_UPDATE_Q2Q_IE_IND
388#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
389#define WMA_SET_RSSI_MONITOR_REQ SIR_HAL_SET_RSSI_MONITOR_REQ
390
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800391#define WMA_OCB_SET_CONFIG_CMD SIR_HAL_OCB_SET_CONFIG_CMD
392#define WMA_OCB_SET_UTC_TIME_CMD SIR_HAL_OCB_SET_UTC_TIME_CMD
393#define WMA_OCB_START_TIMING_ADVERT_CMD SIR_HAL_OCB_START_TIMING_ADVERT_CMD
394#define WMA_OCB_STOP_TIMING_ADVERT_CMD SIR_HAL_OCB_STOP_TIMING_ADVERT_CMD
395#define WMA_OCB_GET_TSF_TIMER_CMD SIR_HAL_OCB_GET_TSF_TIMER_CMD
396#define WMA_DCC_GET_STATS_CMD SIR_HAL_DCC_GET_STATS_CMD
397#define WMA_DCC_CLEAR_STATS_CMD SIR_HAL_DCC_CLEAR_STATS_CMD
398#define WMA_DCC_UPDATE_NDL_CMD SIR_HAL_DCC_UPDATE_NDL_CMD
Ryan Hsu3c8f79f2015-12-02 16:45:09 -0800399#define WMA_SET_IE_INFO SIR_HAL_SET_IE_INFO
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800400
Ryan Hsu3c8f79f2015-12-02 16:45:09 -0800401#define WMA_LRO_CONFIG_CMD SIR_HAL_LRO_CONFIG_CMD
Ravi Joshi61c3c7a2015-11-09 18:41:20 -0800402#define WMA_GW_PARAM_UPDATE_REQ SIR_HAL_GATEWAY_PARAM_UPDATE_REQ
Gupta, Kapil4cb1d7d2016-04-16 18:16:25 -0700403#define WMA_ADD_BCN_FILTER_CMDID SIR_HAL_ADD_BCN_FILTER_CMDID
404#define WMA_REMOVE_BCN_FILTER_CMDID SIR_HAL_REMOVE_BCN_FILTER_CMDID
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +0530405#define WMA_SET_ADAPT_DWELLTIME_CONF_PARAMS SIR_HAL_SET_ADAPT_DWELLTIME_PARAMS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800406
Nachiket Kukadee547a482018-05-22 16:43:30 +0530407#define WDA_APF_GET_CAPABILITIES_REQ SIR_HAL_APF_GET_CAPABILITIES_REQ
Abhinav Kumar18285932019-08-08 16:50:06 +0530408#define WMA_ROAM_SYNC_TIMEOUT SIR_HAL_WMA_ROAM_SYNC_TIMEOUT
Arun Khandavalli2476ef52016-04-26 20:19:43 +0530409
Kiran Kumar Lokere666bf852016-05-02 12:23:02 -0700410#define WMA_SET_PDEV_IE_REQ SIR_HAL_SET_PDEV_IE_REQ
Masti, Narayanraddiab712a72016-08-04 11:59:11 +0530411#define WMA_UPDATE_WEP_DEFAULT_KEY SIR_HAL_UPDATE_WEP_DEFAULT_KEY
Selvaraj, Sridharebda0f22016-08-29 16:05:23 +0530412#define WMA_SEND_FREQ_RANGE_CONTROL_IND SIR_HAL_SEND_FREQ_RANGE_CONTROL_IND
Sridhar Selvarajdc400d22016-10-18 17:18:03 +0530413#define WMA_POWER_DEBUG_STATS_REQ SIR_HAL_POWER_DEBUG_STATS_REQ
Arunk Khandavallica56d4b2018-11-29 15:46:00 +0530414#define WMA_BEACON_DEBUG_STATS_REQ SIR_HAL_BEACON_DEBUG_STATS_REQ
Rajeev Kumar Sirasanagandla996e5292016-11-22 21:20:33 +0530415#define WMA_GET_RCPI_REQ SIR_HAL_GET_RCPI_REQ
Pragaspathi Thilagaraj30251ec2018-12-18 17:22:57 +0530416#define WMA_ROAM_BLACKLIST_MSG SIR_HAL_ROAM_BLACKLIST_MSG
Sridhar Selvarajdc400d22016-10-18 17:18:03 +0530417
Nitesh Shahf9a09ff2017-05-22 15:46:25 +0530418#define WMA_SET_DBS_SCAN_SEL_CONF_PARAMS SIR_HAL_SET_DBS_SCAN_SEL_PARAMS
419
Yingying Tang95409972016-10-20 15:16:15 +0800420#define WMA_SET_WOW_PULSE_CMD SIR_HAL_SET_WOW_PULSE_CMD
421
Kapil Gupta5cda2252016-12-29 18:44:26 +0530422#define WMA_SET_PER_ROAM_CONFIG_CMD SIR_HAL_SET_PER_ROAM_CONFIG_CMD
423
Abhishek Singh3d30a3b2018-09-12 15:49:18 +0530424#define WMA_SEND_AP_VDEV_UP SIR_HAL_SEND_AP_VDEV_UP
425
Anurag Chouhan3920c0f2017-09-11 17:10:56 +0530426#define WMA_SET_ARP_STATS_REQ SIR_HAL_SET_ARP_STATS_REQ
427#define WMA_GET_ARP_STATS_REQ SIR_HAL_GET_ARP_STATS_REQ
Ganesh Kondabattini35739572017-06-21 16:26:39 +0530428#define WMA_SET_LIMIT_OFF_CHAN SIR_HAL_SET_LIMIT_OFF_CHAN
Arif Hussainee10f902017-12-27 16:30:17 -0800429#define WMA_OBSS_DETECTION_REQ SIR_HAL_OBSS_DETECTION_REQ
430#define WMA_OBSS_DETECTION_INFO SIR_HAL_OBSS_DETECTION_INFO
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +0530431#define WMA_INVOKE_NEIGHBOR_REPORT SIR_HAL_INVOKE_NEIGHBOR_REPORT
Arif Hussain05fb4872018-01-03 16:02:55 -0800432#define WMA_OBSS_COLOR_COLLISION_REQ SIR_HAL_OBSS_COLOR_COLLISION_REQ
433#define WMA_OBSS_COLOR_COLLISION_INFO SIR_HAL_OBSS_COLOR_COLLISION_INFO
Anurag Chouhan3920c0f2017-09-11 17:10:56 +0530434
Kiran Kumar Lokereee205772018-09-27 00:27:27 -0700435#define WMA_CFG_VENDOR_ACTION_TB_PPDU SIR_HAL_CFG_VENDOR_ACTION_TB_PPDU
Rajeev Kumar Sirasanagandla4f20b672018-03-12 13:52:50 +0530436#define WMA_GET_ROAM_SCAN_STATS SIR_HAL_GET_ROAM_SCAN_STATS
437
Visweswara Tanuku633976b2019-01-07 16:13:12 +0530438#ifdef WLAN_FEATURE_MOTION_DETECTION
439#define WMA_SET_MOTION_DET_CONFIG SIR_HAL_SET_MOTION_DET_CONFIG
440#define WMA_SET_MOTION_DET_ENABLE SIR_HAL_SET_MOTION_DET_ENABLE
441#define WMA_SET_MOTION_DET_BASE_LINE_CONFIG \
442 SIR_HAL_SET_MOTION_DET_BASE_LINE_CONFIG
443#define WMA_SET_MOTION_DET_BASE_LINE_ENABLE \
444 SIR_HAL_SET_MOTION_DET_BASE_LINE_ENABLE
445#endif /* WLAN_FEATURE_MOTION_DETECTION */
446
Visweswara Tanuku025f5862019-01-08 17:35:33 +0530447#ifdef FW_THERMAL_THROTTLE_SUPPORT
448#define WMA_SET_THERMAL_THROTTLE_CFG SIR_HAL_SET_THERMAL_THROTTLE_CFG
449#define WMA_SET_THERMAL_MGMT SIR_HAL_SET_THERMAL_MGMT
450#endif /* FW_THERMAL_THROTTLE_SUPPORT */
451
Arun Kumar Khandavallideda5a82019-03-11 15:32:19 +0530452#ifdef WLAN_MWS_INFO_DEBUGFS
453#define WMA_GET_MWS_COEX_INFO_REQ SIR_HAL_GET_MWS_COEX_INFO_REQ
454#endif
Srinivas Dasarif4e1b122019-08-22 03:39:48 +0530455#define WMA_SET_ROAM_TRIGGERS SIR_HAL_SET_ROAM_TRIGGERS
Arun Kumar Khandavallideda5a82019-03-11 15:32:19 +0530456
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800457/* Bit 6 will be used to control BD rate for Management frames */
458#define HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME 0x40
459
460#define wma_tx_frame(hHal, pFrmBuf, frmLen, frmType, txDir, tid, pCompFunc, \
Naveen Rawat296a5182017-09-25 14:02:48 -0700461 pData, txFlag, sessionid, channel_freq, rid) \
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530462 (QDF_STATUS)( wma_tx_packet( \
Anurag Chouhan6d760662016-02-20 16:05:43 +0530463 cds_get_context(QDF_MODULE_ID_WMA), \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800464 (pFrmBuf), \
465 (frmLen), \
466 (frmType), \
467 (txDir), \
468 (tid), \
469 (pCompFunc), \
470 (pData), \
471 (NULL), \
472 (txFlag), \
473 (sessionid), \
474 (false), \
Naveen Rawat296a5182017-09-25 14:02:48 -0700475 (channel_freq), \
476 (rid)))
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800477
478#define wma_tx_frameWithTxComplete(hHal, pFrmBuf, frmLen, frmType, txDir, tid, \
479 pCompFunc, pData, pCBackFnTxComp, txFlag, sessionid, tdlsflag, \
Naveen Rawat296a5182017-09-25 14:02:48 -0700480 channel_freq, rid) \
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530481 (QDF_STATUS)( wma_tx_packet( \
Anurag Chouhan6d760662016-02-20 16:05:43 +0530482 cds_get_context(QDF_MODULE_ID_WMA), \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800483 (pFrmBuf), \
484 (frmLen), \
485 (frmType), \
486 (txDir), \
487 (tid), \
488 (pCompFunc), \
489 (pData), \
490 (pCBackFnTxComp), \
491 (txFlag), \
492 (sessionid), \
493 (tdlsflag), \
Naveen Rawat296a5182017-09-25 14:02:48 -0700494 (channel_freq), \
495 (rid)))
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800496
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800497/**
498 * struct sUapsd_Params - Powersave Offload Changes
499 * @bkDeliveryEnabled: BK delivery enabled flag
500 * @beDeliveryEnabled: BE delivery enabled flag
501 * @viDeliveryEnabled: VI delivery enabled flag
502 * @voDeliveryEnabled: VO delivery enabled flag
503 * @bkTriggerEnabled: BK trigger enabled flag
504 * @beTriggerEnabled: BE trigger enabled flag
505 * @viTriggerEnabled: VI trigger enabled flag
506 * @voTriggerEnabled: VO trigger enabled flag
507 */
508typedef struct sUapsd_Params {
509 uint8_t bkDeliveryEnabled:1;
510 uint8_t beDeliveryEnabled:1;
511 uint8_t viDeliveryEnabled:1;
512 uint8_t voDeliveryEnabled:1;
513 uint8_t bkTriggerEnabled:1;
514 uint8_t beTriggerEnabled:1;
515 uint8_t viTriggerEnabled:1;
516 uint8_t voTriggerEnabled:1;
Kiran Kumar Lokere830ba162016-03-11 17:28:28 -0800517 bool enable_ps;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800518} tUapsd_Params, *tpUapsd_Params;
519
520/**
521 * struct sEnablePsParams - Enable PowerSave Params
522 * @psSetting: power save setting
523 * @uapsdParams: UAPSD Parameters
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800524 * @sessionid: sme session id / vdev id
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800525 */
526typedef struct sEnablePsParams {
527 tSirAddonPsReq psSetting;
528 tUapsd_Params uapsdParams;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800529 uint32_t sessionid;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800530} tEnablePsParams, *tpEnablePsParams;
531
532/**
533 * struct sDisablePsParams - Disable PowerSave Params
534 * @psSetting: power save setting
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800535 * @sessionid: sme session id / vdev id
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800536 */
537typedef struct sDisablePsParams {
538 tSirAddonPsReq psSetting;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800539 uint32_t sessionid;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800540} tDisablePsParams, *tpDisablePsParams;
541
542/**
543 * struct sEnableUapsdParams - Enable Uapsd Params
544 * @uapsdParams: UAPSD parameters
545 * @bssid: mac address
546 * @sessionid: sme session id/ vdev id
547 * @status: success/failure
548 */
549typedef struct sEnableUapsdParams {
550 tUapsd_Params uapsdParams;
551 tSirMacAddr bssid;
552 uint32_t sessionid;
553 uint32_t status;
554} tEnableUapsdParams, *tpEnableUapsdParams;
555
556/**
557 * struct sDisableUapsdParams - Disable Uapsd Params
558 * @bssid: mac address
559 * @sessionid: sme session id/ vdev id
560 * @status: success/failure
561 */
562typedef struct sDisableUapsdParams {
563 tSirMacAddr bssid;
564 uint32_t sessionid;
565 uint32_t status;
566} tDisableUapsdParams, *tpDisableUapsdParams;
567
Himanshu Agarwal2fdf77a2016-12-29 11:41:00 +0530568/**
569 * wma_tx_dwnld_comp_callback - callback function for TX dwnld complete
Jeff Johnsonfe8dc692018-11-22 08:45:13 -0800570 * @context: global mac pointer
Himanshu Agarwal2fdf77a2016-12-29 11:41:00 +0530571 * @buf: buffer
572 * @bFreeData: to free/not free the buffer
573 *
574 * callback function for mgmt tx download completion.
575 *
576 * Return: QDF_STATUS_SUCCESS in case of success
577 */
578typedef QDF_STATUS (*wma_tx_dwnld_comp_callback)(void *context, qdf_nbuf_t buf,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800579 bool bFreeData);
580
Himanshu Agarwal2fdf77a2016-12-29 11:41:00 +0530581/**
582 * wma_tx_ota_comp_callback - callback function for TX complete
Jeff Johnsonfe8dc692018-11-22 08:45:13 -0800583 * @context: global mac pointer
Himanshu Agarwal2fdf77a2016-12-29 11:41:00 +0530584 * @buf: buffer
585 * @status: tx completion status
586 * @params: tx completion params
587 *
588 * callback function for mgmt tx ota completion.
589 *
590 * Return: QDF_STATUS_SUCCESS in case of success
591 */
592typedef QDF_STATUS (*wma_tx_ota_comp_callback)(void *context, qdf_nbuf_t buf,
593 uint32_t status, void *params);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800594
Jeff Johnson8abc5932018-06-02 22:51:37 -0700595/* generic callback for updating parameters from target to HDD */
Arun Kumar Khandavallia4234582019-03-20 16:16:05 +0530596typedef int (*wma_tgt_cfg_cb)(hdd_handle_t handle, struct wma_tgt_cfg *cfg);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800597
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800598/**
599 * struct wma_cli_set_cmd_t - set command parameters
600 * @param_id: parameter id
601 * @param_value: parameter value
602 * @param_sec_value: parameter sec value
603 * @param_vdev_id: parameter vdev id
604 * @param_vp_dev: is it per vdev/pdev
605 */
606typedef struct {
607 uint32_t param_id;
608 uint32_t param_value;
609 uint32_t param_sec_value;
610 uint32_t param_vdev_id;
611 uint32_t param_vp_dev;
612} wma_cli_set_cmd_t;
613
Naveen Rawat296a5182017-09-25 14:02:48 -0700614enum rateid {
615 RATEID_1MBPS = 0,
616 RATEID_2MBPS,
617 RATEID_5_5MBPS,
618 RATEID_11MBPS,
619 RATEID_6MBPS,
620 RATEID_9MBPS,
621 RATEID_12MBPS,
622 RATEID_18MBPS,
623 RATEID_24MBPS,
624 RATEID_36MBPS,
625 RATEID_48MBPS = 10,
626 RATEID_54MBPS,
627 RATEID_DEFAULT
628};
629
Jeff Johnson9f18aa72018-12-02 12:05:12 -0800630QDF_STATUS wma_post_ctrl_msg(struct mac_context *mac, struct scheduler_msg *pMsg);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800631
Jeff Johnsone88dd752018-06-07 22:57:54 -0700632QDF_STATUS u_mac_post_ctrl_msg(void *pSirGlobal, tSirMbMsg *pMb);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800633
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530634QDF_STATUS wma_set_idle_ps_config(void *wma_ptr, uint32_t idle_ps);
635QDF_STATUS wma_get_snr(tAniGetSnrReq *psnr_req);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800636
Paul Zhang99fe8842017-12-08 14:43:46 +0800637/**
638 * wma_set_wlm_latency_level() - set latency level to FW
639 * @wma_ptr: wma handle
640 * @latency_params: latency params
641 *
642 * Return: QDF_STATUS
643 */
644QDF_STATUS wma_set_wlm_latency_level(void *wma_ptr,
645 struct wlm_latency_level_param *latency_params);
646
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530647QDF_STATUS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800648wma_ds_peek_rx_packet_info
649 (cds_pkt_t *vosDataBuff, void **ppRxHeader, bool bSwap);
650
651
652void wma_tx_abort(uint8_t vdev_id);
653
Jeff Johnsonc8ea8e62018-12-09 13:53:58 -0800654/**
655 * wma_tx_packet() - Sends Tx Frame to TxRx
656 * @wma_context: wma context
657 * @tx_frame: frame buffer
658 * @frmLen: frame length
659 * @frmType: frame type
660 * @txDir: tx diection
661 * @tid: TID
662 * @tx_frm_download_comp_cb: tx download callback handler
663 * @tx_frm_ota_comp_cb: OTA complition handler
664 * @tx_flag: tx flag
665 * @vdev_id: vdev id
666 * @tdlsFlag: tdls flag
667 *
668 * This function sends the frame corresponding to the
669 * given vdev id.
670 * This is blocking call till the downloading of frame is complete.
671 *
672 * Return: QDF status
673 */
674QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
675 eFrameType frmType, eFrameTxDir txDir, uint8_t tid,
676 wma_tx_dwnld_comp_callback tx_frm_download_comp_cb,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800677 void *pData,
Jeff Johnsonc8ea8e62018-12-09 13:53:58 -0800678 wma_tx_ota_comp_callback tx_frm_ota_comp_cb,
679 uint8_t tx_flag, uint8_t vdev_id, bool tdlsFlag,
Naveen Rawat296a5182017-09-25 14:02:48 -0700680 uint16_t channel_freq, enum rateid rid);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800681
bings482bae22018-01-17 16:25:31 +0800682/**
683 * wma_open() - Allocate wma context and initialize it.
684 * @psoc: Psoc pointer
Arunk Khandavallia6305a32018-01-25 11:19:18 +0530685 * @pTgtUpdCB: tgt config update callback fun
bings482bae22018-01-17 16:25:31 +0800686 * @cds_cfg: mac parameters
687 * @target_type: Target type
688 *
Arunk Khandavallia6305a32018-01-25 11:19:18 +0530689 * Return: QDF_STATUS
bings482bae22018-01-17 16:25:31 +0800690 */
Jeff Johnsonff6addf2017-09-13 10:06:03 -0700691QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc,
bings482bae22018-01-17 16:25:31 +0800692 wma_tgt_cfg_cb pTgtUpdCB, struct cds_config_info *cds_cfg,
693 uint32_t target_type);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800694
Dustin Brownec2c92e2017-07-26 11:13:49 -0700695/**
696 * wma_vdev_init() - initialize a wma vdev
697 * @vdev: the vdev to initialize
698 *
699 * Return: None
700 */
701void wma_vdev_init(struct wma_txrx_node *vdev);
702
703/**
704 * wma_vdev_deinit() - de-initialize a wma vdev
705 * @vdev: the vdev to de-initialize
706 *
707 * Return: None
708 */
709void wma_vdev_deinit(struct wma_txrx_node *vdev);
710
Himanshu Agarwal2fdf77a2016-12-29 11:41:00 +0530711QDF_STATUS wma_register_mgmt_frm_client(void);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800712
Himanshu Agarwal2fdf77a2016-12-29 11:41:00 +0530713QDF_STATUS wma_de_register_mgmt_frm_client(void);
Varun Reddy Yeturubbbbe232016-02-29 14:01:57 -0800714#ifdef WLAN_FEATURE_ROAM_OFFLOAD
Jeff Johnsona9b66572017-09-02 12:41:21 -0700715QDF_STATUS wma_register_roaming_callbacks(
Jeff Johnson9f18aa72018-12-02 12:05:12 -0800716 QDF_STATUS (*csr_roam_synch_cb)(struct mac_context *mac,
Jeff Johnsona7f41dd2019-02-06 22:54:55 -0800717 struct roam_offload_synch_ind *roam_synch_data,
Pragaspathi Thilagaraj1d8e2ab2019-03-04 23:59:21 +0530718 struct bss_description *bss_desc_ptr,
Varun Reddy Yeturuf907f912016-03-21 15:06:22 -0700719 enum sir_roam_op_code reason),
Pragaspathi Thilagaraj7a7163b2019-07-14 22:47:09 +0530720 QDF_STATUS (*csr_roam_auth_event_handle_cb)(
721 struct mac_context *mac,
722 uint8_t vdev_id,
723 struct qdf_mac_addr bssid),
Jeff Johnson9f18aa72018-12-02 12:05:12 -0800724 QDF_STATUS (*pe_roam_synch_cb)(struct mac_context *mac,
Jeff Johnsona7f41dd2019-02-06 22:54:55 -0800725 struct roam_offload_synch_ind *roam_synch_data,
Pragaspathi Thilagaraj1d8e2ab2019-03-04 23:59:21 +0530726 struct bss_description *bss_desc_ptr,
Pragaspathi Thilagarajb0176502019-04-26 02:33:13 +0530727 enum sir_roam_op_code reason),
728 QDF_STATUS (*pe_disconnect_cb) (struct mac_context *mac,
Srinivas Dasariea472272019-06-30 11:35:07 +0530729 uint8_t vdev_id,
730 uint8_t *deauth_disassoc_frame,
731 uint16_t deauth_disassoc_frame_len));
Varun Reddy Yeturubbbbe232016-02-29 14:01:57 -0800732#else
Jeff Johnsona9b66572017-09-02 12:41:21 -0700733static inline QDF_STATUS wma_register_roaming_callbacks(
Jeff Johnson9f18aa72018-12-02 12:05:12 -0800734 QDF_STATUS (*csr_roam_synch_cb)(struct mac_context *mac,
Jeff Johnsona7f41dd2019-02-06 22:54:55 -0800735 struct roam_offload_synch_ind *roam_synch_data,
Pragaspathi Thilagaraj1d8e2ab2019-03-04 23:59:21 +0530736 struct bss_description *bss_desc_ptr,
Varun Reddy Yeturuf907f912016-03-21 15:06:22 -0700737 enum sir_roam_op_code reason),
Pragaspathi Thilagaraj7a7163b2019-07-14 22:47:09 +0530738 QDF_STATUS (*csr_roam_auth_event_handle_cb)(
739 struct mac_context *mac,
740 uint8_t vdev_id,
741 struct qdf_mac_addr bssid),
Jeff Johnson9f18aa72018-12-02 12:05:12 -0800742 QDF_STATUS (*pe_roam_synch_cb)(struct mac_context *mac,
Jeff Johnsona7f41dd2019-02-06 22:54:55 -0800743 struct roam_offload_synch_ind *roam_synch_data,
Pragaspathi Thilagaraj1d8e2ab2019-03-04 23:59:21 +0530744 struct bss_description *bss_desc_ptr,
Pragaspathi Thilagarajb0176502019-04-26 02:33:13 +0530745 enum sir_roam_op_code reason),
746 QDF_STATUS (*pe_disconnect_cb) (struct mac_context *mac,
Srinivas Dasariea472272019-06-30 11:35:07 +0530747 uint8_t vdev_id,
748 uint8_t *deauth_disassoc_frame,
749 uint16_t deauth_disassoc_frame_len))
Varun Reddy Yeturubbbbe232016-02-29 14:01:57 -0800750{
Kiran Kumar Lokere830ba162016-03-11 17:28:28 -0800751 return QDF_STATUS_E_NOSUPPORT;
Varun Reddy Yeturubbbbe232016-02-29 14:01:57 -0800752}
753#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800754
755#endif