blob: 252d271220f0ad82b34473105a093590a934bf53 [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
Varun Reddy Yeturud5939f82015-12-24 18:14:02 -08002 * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
28#ifndef WLAN_QCT_WMA_H
29#define WLAN_QCT_WMA_H
30
31#include "ani_global.h"
32
33#include "wma_api.h"
34#include "wma_tgt_cfg.h"
35#include "i_cds_packet.h"
36
37#define IS_MCC_SUPPORTED 1
38#define IS_FEATURE_SUPPORTED_BY_FW(feat_enum_value) wma_get_fw_wlan_feat_caps(feat_enum_value)
39
40#define IS_ROAM_SCAN_OFFLOAD_FEATURE_ENABLE 1
41
42#define IS_IBSS_HEARTBEAT_OFFLOAD_FEATURE_ENABLE 1
43
44#ifdef FEATURE_WLAN_TDLS
45#define IS_ADVANCE_TDLS_ENABLE 0
46#endif
47
48#ifdef WLAN_SOFTAP_VSTA_FEATURE
49#define WMA_MAX_STA (41)
50#else
51#define WMA_MAX_STA (16)
52#endif
53
Anurag Chouhanfb54ab02016-02-18 18:00:46 +053054#define WMA_NVDownload_Start(x) ({ QDF_STATUS_SUCCESS; })
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080055
56#define DPU_FEEDBACK_UNPROTECTED_ERROR 0x0F
57
58#define WMA_GET_RX_MAC_HEADER(pRxMeta) \
59 (tpSirMacMgmtHdr)(((t_packetmeta *)pRxMeta)->mpdu_hdr_ptr)
60
61#define WMA_GET_RX_MPDUHEADER3A(pRxMeta) \
62 (tpSirMacDataHdr3a)(((t_packetmeta *)pRxMeta)->mpdu_hdr_ptr)
63
64#define WMA_GET_RX_MPDU_HEADER_LEN(pRxMeta) \
65 (((t_packetmeta *)pRxMeta)->mpdu_hdr_len)
66
67#define WMA_GET_RX_MPDU_LEN(pRxMeta) \
68 (((t_packetmeta *)pRxMeta)->mpdu_len)
69
70#define WMA_GET_RX_PAYLOAD_LEN(pRxMeta) \
71 (((t_packetmeta *)pRxMeta)->mpdu_data_len)
72
73#define WMA_GET_RX_TSF_DELTA(pRxMeta) \
74 (((t_packetmeta *)pRxMeta)->tsf_delta)
75
76#define WMA_GET_RX_MAC_RATE_IDX(pRxMeta) 0
77
78#define WMA_GET_RX_MPDU_DATA(pRxMeta) \
79 (((t_packetmeta *)pRxMeta)->mpdu_data_ptr)
80
81#define WMA_GET_RX_MPDU_HEADER_OFFSET(pRxMeta) 0
82
83#define WMA_GET_RX_UNKNOWN_UCAST(pRxMeta) 0
84
85#define WMA_GET_RX_CH(pRxMeta) \
86 (((t_packetmeta *)pRxMeta)->channel)
87
88#define WMA_IS_RX_BCAST(pRxMeta) 0
89
90#define WMA_GET_RX_FT_DONE(pRxMeta) 0
91
92#define WMA_GET_RX_DPU_FEEDBACK(pRxMeta) \
93 (((t_packetmeta *)pRxMeta)->dpuFeedback)
94
95#define WMA_GET_RX_BEACON_SENT(pRxMeta) 0
96
97#define WMA_GET_RX_TSF_LATER(pRxMeta) 0
98
99#define WMA_GET_RX_TIMESTAMP(pRxMeta) \
100 (((t_packetmeta *)pRxMeta)->timestamp)
101
102#define WMA_IS_RX_IN_SCAN(pRxMeta) \
103 (((t_packetmeta *)pRxMeta)->scan)
104
105#define WMA_GET_OFFLOADSCANLEARN(pRxMeta) \
106 (((t_packetmeta *)pRxMeta)->offloadScanLearn)
107#define WMA_GET_ROAMCANDIDATEIND(pRxMeta) \
108 (((t_packetmeta *)pRxMeta)->roamCandidateInd)
109#define WMA_GET_SESSIONID(pRxMeta) \
110 (((t_packetmeta *)pRxMeta)->sessionId)
111#define WMA_GET_SCAN_SRC(pRxMeta) \
112 (((t_packetmeta *)pRxMeta)->scan_src)
113
114#ifdef FEATURE_WLAN_EXTSCAN
115#define WMA_IS_EXTSCAN_SCAN_SRC(pRxMeta) \
116 ((((t_packetmeta *)pRxMeta)->scan_src) == WMI_MGMT_RX_HDR_EXTSCAN)
117#define WMA_IS_EPNO_SCAN_SRC(pRxMeta) \
118 ((((t_packetmeta *)pRxMeta)->scan_src) & WMI_MGMT_RX_HDR_ENLO)
119#endif /* FEATURE_WLAN_EXTSCAN */
120
121#define WMA_GET_RX_SNR(pRxMeta) \
122 (((t_packetmeta *)pRxMeta)->snr)
123
124#define WMA_GET_RX_RFBAND(pRxMeta) 0
125
Deepak Dhamdhere68929ec2015-08-05 15:16:35 -0700126#define WMA_MAX_TXPOWER_INVALID 127
127/* rssi value normalized to noise floor of -96 dBm */
128#define WMA_GET_RX_RSSI_NORMALIZED(pRxMeta) \
129 (((t_packetmeta *)pRxMeta)->rssi)
130
131/* raw rssi based on actual noise floor in hardware */
132#define WMA_GET_RX_RSSI_RAW(pRxMeta) \
133 (((t_packetmeta *)pRxMeta)->rssi_raw)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800134
135/* WMA Messages */
136#define WMA_MSG_TYPES_BEGIN SIR_HAL_MSG_TYPES_BEGIN
137#define WMA_ITC_MSG_TYPES_BEGIN SIR_HAL_ITC_MSG_TYPES_BEGIN
138#define WMA_RADAR_DETECTED_IND SIR_HAL_RADAR_DETECTED_IND
139
140#define WMA_ADD_STA_REQ SIR_HAL_ADD_STA_REQ
141#define WMA_ADD_STA_RSP SIR_HAL_ADD_STA_RSP
142#define WMA_ADD_STA_SELF_RSP SIR_HAL_ADD_STA_SELF_RSP
143#define WMA_DELETE_STA_REQ SIR_HAL_DELETE_STA_REQ
144#define WMA_DELETE_STA_RSP SIR_HAL_DELETE_STA_RSP
145#define WMA_ADD_BSS_REQ SIR_HAL_ADD_BSS_REQ
146#define WMA_ADD_BSS_RSP SIR_HAL_ADD_BSS_RSP
147#define WMA_DELETE_BSS_REQ SIR_HAL_DELETE_BSS_REQ
148#define WMA_DELETE_BSS_RSP SIR_HAL_DELETE_BSS_RSP
149#define WMA_SEND_BEACON_REQ SIR_HAL_SEND_BEACON_REQ
150#define WMA_SEND_PROBE_RSP_TMPL SIR_HAL_SEND_PROBE_RSP_TMPL
151
152#define WMA_SET_BSSKEY_REQ SIR_HAL_SET_BSSKEY_REQ
153#define WMA_SET_BSSKEY_RSP SIR_HAL_SET_BSSKEY_RSP
154#define WMA_SET_STAKEY_REQ SIR_HAL_SET_STAKEY_REQ
155#define WMA_SET_STAKEY_RSP SIR_HAL_SET_STAKEY_RSP
156#define WMA_UPDATE_EDCA_PROFILE_IND SIR_HAL_UPDATE_EDCA_PROFILE_IND
157
158#define WMA_UPDATE_BEACON_IND SIR_HAL_UPDATE_BEACON_IND
159#define WMA_UPDATE_CF_IND SIR_HAL_UPDATE_CF_IND
160#define WMA_CHNL_SWITCH_REQ SIR_HAL_CHNL_SWITCH_REQ
161#define WMA_ADD_TS_REQ SIR_HAL_ADD_TS_REQ
162#define WMA_DEL_TS_REQ SIR_HAL_DEL_TS_REQ
163
164#define WMA_MISSED_BEACON_IND SIR_HAL_MISSED_BEACON_IND
165
166#define WMA_ENTER_PS_REQ SIR_HAL_ENTER_PS_REQ
167#define WMA_EXIT_PS_REQ SIR_HAL_EXIT_PS_REQ
168
169#define WMA_CFG_RXP_FILTER_REQ SIR_HAL_CFG_RXP_FILTER_REQ
170
171#define WMA_SWITCH_CHANNEL_RSP SIR_HAL_SWITCH_CHANNEL_RSP
172#define WMA_P2P_NOA_ATTR_IND SIR_HAL_P2P_NOA_ATTR_IND
173#define WMA_P2P_NOA_START_IND SIR_HAL_P2P_NOA_START_IND
174#define WMA_PWR_SAVE_CFG SIR_HAL_PWR_SAVE_CFG
175#define WMA_REGISTER_PE_CALLBACK SIR_HAL_REGISTER_PE_CALLBACK
176
177#define WMA_IBSS_STA_ADD SIR_HAL_IBSS_STA_ADD
178#define WMA_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND SIR_HAL_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND
179#define WMA_SET_LINK_STATE SIR_HAL_SET_LINK_STATE
180#define WMA_SET_LINK_STATE_RSP SIR_HAL_SET_LINK_STATE_RSP
181#define WMA_SET_STA_BCASTKEY_REQ SIR_HAL_SET_STA_BCASTKEY_REQ
182#define WMA_SET_STA_BCASTKEY_RSP SIR_HAL_SET_STA_BCASTKEY_RSP
183#define WMA_ADD_TS_RSP SIR_HAL_ADD_TS_RSP
184#define WMA_DPU_MIC_ERROR SIR_HAL_DPU_MIC_ERROR
185#define WMA_TIMER_CHIP_MONITOR_TIMEOUT SIR_HAL_TIMER_CHIP_MONITOR_TIMEOUT
186#define WMA_TIMER_TRAFFIC_ACTIVITY_REQ SIR_HAL_TIMER_TRAFFIC_ACTIVITY_REQ
187#define WMA_TIMER_ADC_RSSI_STATS SIR_HAL_TIMER_ADC_RSSI_STATS
188#define WMA_TIMER_TRAFFIC_STATS_IND SIR_HAL_TRAFFIC_STATS_IND
189
190#ifdef WLAN_FEATURE_11W
191#define WMA_EXCLUDE_UNENCRYPTED_IND SIR_HAL_EXCLUDE_UNENCRYPTED_IND
192#endif
193
194#ifdef FEATURE_WLAN_ESE
195#define WMA_TSM_STATS_REQ SIR_HAL_TSM_STATS_REQ
196#define WMA_TSM_STATS_RSP SIR_HAL_TSM_STATS_RSP
197#endif
198
Sandeep Puligillae0875662016-02-12 16:09:21 -0800199#define WMA_HT40_OBSS_SCAN_IND SIR_HAL_HT40_OBSS_SCAN_IND
200
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800201#define WMA_SET_MIMOPS_REQ SIR_HAL_SET_MIMOPS_REQ
202#define WMA_SET_MIMOPS_RSP SIR_HAL_SET_MIMOPS_RSP
203#define WMA_SYS_READY_IND SIR_HAL_SYS_READY_IND
204#define WMA_SET_TX_POWER_REQ SIR_HAL_SET_TX_POWER_REQ
205#define WMA_SET_TX_POWER_RSP SIR_HAL_SET_TX_POWER_RSP
206#define WMA_GET_TX_POWER_REQ SIR_HAL_GET_TX_POWER_REQ
207
208/* Messages to support transmit_halt and transmit_resume */
209#define WMA_TRANSMISSION_CONTROL_IND SIR_HAL_TRANSMISSION_CONTROL_IND
210#define WMA_BEACON_FILTER_IND SIR_HAL_BEACON_FILTER_IND
211
212#define WMA_ENABLE_UAPSD_REQ SIR_HAL_ENABLE_UAPSD_REQ
213#define WMA_DISABLE_UAPSD_REQ SIR_HAL_DISABLE_UAPSD_REQ
214
215/* / PE <-> HAL WOWL messages */
216#define WMA_WOW_ADD_PTRN SIR_HAL_WOW_ADD_PTRN
217#define WMA_WOW_DEL_PTRN SIR_HAL_WOW_DEL_PTRN
218#define WMA_WOWL_ENTER_REQ SIR_HAL_WOWL_ENTER_REQ
219#define WMA_WOWL_ENTER_RSP SIR_HAL_WOWL_ENTER_RSP
220#define WMA_WOWL_EXIT_REQ SIR_HAL_WOWL_EXIT_REQ
221#define WMA_WOWL_EXIT_RSP SIR_HAL_WOWL_EXIT_RSP
222/* / PE <-> HAL statistics messages */
223#define WMA_GET_STATISTICS_REQ SIR_HAL_GET_STATISTICS_REQ
224#define WMA_GET_STATISTICS_RSP SIR_HAL_GET_STATISTICS_RSP
225#define WMA_SET_KEY_DONE SIR_HAL_SET_KEY_DONE
226
227/* / PE <-> HAL BTC messages */
228#define WMA_BTC_SET_CFG SIR_HAL_BTC_SET_CFG
229#define WMA_HANDLE_FW_MBOX_RSP SIR_HAL_HANDLE_FW_MBOX_RSP
230
231#ifdef FEATURE_OEM_DATA_SUPPORT
232/* PE <-> HAL OEM_DATA RELATED MESSAGES */
233#define WMA_START_OEM_DATA_REQ SIR_HAL_START_OEM_DATA_REQ
234#define WMA_START_OEM_DATA_RSP SIR_HAL_START_OEM_DATA_RSP
235#endif
236
237#define WMA_SET_MAX_TX_POWER_REQ SIR_HAL_SET_MAX_TX_POWER_REQ
238#define WMA_SET_MAX_TX_POWER_RSP SIR_HAL_SET_MAX_TX_POWER_RSP
239#define WMA_SET_TX_POWER_REQ SIR_HAL_SET_TX_POWER_REQ
240
241#define WMA_SET_MAX_TX_POWER_PER_BAND_REQ \
242 SIR_HAL_SET_MAX_TX_POWER_PER_BAND_REQ
243
244/* / PE <-> HAL Host Offload message */
245#define WMA_SET_HOST_OFFLOAD SIR_HAL_SET_HOST_OFFLOAD
246
247/* / PE <-> HAL Keep Alive message */
248#define WMA_SET_KEEP_ALIVE SIR_HAL_SET_KEEP_ALIVE
249
250#ifdef WLAN_NS_OFFLOAD
251#define WMA_SET_NS_OFFLOAD SIR_HAL_SET_NS_OFFLOAD
252#endif /* WLAN_NS_OFFLOAD */
253#define WMA_ADD_STA_SELF_REQ SIR_HAL_ADD_STA_SELF_REQ
254#define WMA_DEL_STA_SELF_REQ SIR_HAL_DEL_STA_SELF_REQ
255
256#define WMA_SET_P2P_GO_NOA_REQ SIR_HAL_SET_P2P_GO_NOA_REQ
257
258#ifdef FEATURE_WLAN_TDLS
259#define WMA_SET_TDLS_LINK_ESTABLISH_REQ SIR_HAL_TDLS_LINK_ESTABLISH_REQ
260#define WMA_SET_TDLS_LINK_ESTABLISH_REQ_RSP SIR_HAL_TDLS_LINK_ESTABLISH_REQ_RSP
261#endif
262
263#define WMA_WLAN_SUSPEND_IND SIR_HAL_WLAN_SUSPEND_IND
264#define WMA_WLAN_RESUME_REQ SIR_HAL_WLAN_RESUME_REQ
265#define WMA_MSG_TYPES_END SIR_HAL_MSG_TYPES_END
266
Houston Hoffmana76591b2015-11-10 16:52:05 -0800267#define WMA_RUNTIME_PM_SUSPEND_IND SIR_HAL_RUNTIME_PM_SUSPEND_IND
268#define WMA_RUNTIME_PM_RESUME_IND SIR_HAL_RUNTIME_PM_RESUME_IND
269
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800270#define WMA_AGGR_QOS_REQ SIR_HAL_AGGR_QOS_REQ
271#define WMA_AGGR_QOS_RSP SIR_HAL_AGGR_QOS_RSP
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800272
273/* FTM CMD MSG */
274#define WMA_FTM_CMD_REQ SIR_PTT_MSG_TYPES_BEGIN
275#define WMA_FTM_CMD_RSP SIR_PTT_MSG_TYPES_END
276#define WMA_CSA_OFFLOAD_EVENT SIR_CSA_OFFLOAD_EVENT
277
278#ifdef FEATURE_WLAN_SCAN_PNO
279/*Requests sent to lower driver*/
280#define WMA_SET_PNO_REQ SIR_HAL_SET_PNO_REQ
281
282#endif /* FEATURE_WLAN_SCAN_PNO */
283
Srinivas Girigowda515a9ef2015-12-11 11:00:48 -0800284#ifdef FEATURE_WLAN_ESE
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800285#define WMA_SET_PLM_REQ SIR_HAL_SET_PLM_REQ
286#endif
287
288#define WMA_ROAM_SCAN_OFFLOAD_REQ SIR_HAL_ROAM_SCAN_OFFLOAD_REQ
289
290#ifdef WLAN_FEATURE_ROAM_OFFLOAD
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800291#define WMA_ROAM_OFFLOAD_SYNCH_IND SIR_HAL_ROAM_OFFLOAD_SYNCH_IND
292#define WMA_ROAM_OFFLOAD_SYNCH_FAIL SIR_HAL_ROAM_OFFLOAD_SYNCH_FAIL
293#endif
294
295#ifdef WLAN_FEATURE_PACKET_FILTERING
296#define WMA_8023_MULTICAST_LIST_REQ SIR_HAL_8023_MULTICAST_LIST_REQ
297#define WMA_RECEIVE_FILTER_SET_FILTER_REQ SIR_HAL_RECEIVE_FILTER_SET_FILTER_REQ
298#define WMA_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ
299#define WMA_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP
300#define WMA_RECEIVE_FILTER_CLEAR_FILTER_REQ SIR_HAL_RECEIVE_FILTER_CLEAR_FILTER_REQ
301#endif /* WLAN_FEATURE_PACKET_FILTERING */
302
303#define WMA_DHCP_START_IND SIR_HAL_DHCP_START_IND
304#define WMA_DHCP_STOP_IND SIR_HAL_DHCP_STOP_IND
305
Rajeev Kumar8e3e2832015-11-06 16:02:54 -0800306#define WMA_TX_FAIL_MONITOR_IND SIR_HAL_TX_FAIL_MONITOR_IND
307
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800308#define WMA_HIDDEN_SSID_VDEV_RESTART SIR_HAL_HIDE_SSID_VDEV_RESTART
309
310#ifdef WLAN_FEATURE_GTK_OFFLOAD
311#define WMA_GTK_OFFLOAD_REQ SIR_HAL_GTK_OFFLOAD_REQ
312#define WMA_GTK_OFFLOAD_GETINFO_REQ SIR_HAL_GTK_OFFLOAD_GETINFO_REQ
313#define WMA_GTK_OFFLOAD_GETINFO_RSP SIR_HAL_GTK_OFFLOAD_GETINFO_RSP
314#endif /* WLAN_FEATURE_GTK_OFFLOAD */
315
316#define WMA_SET_TM_LEVEL_REQ SIR_HAL_SET_TM_LEVEL_REQ
317
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800318#define WMA_UPDATE_OP_MODE SIR_HAL_UPDATE_OP_MODE
319#define WMA_UPDATE_RX_NSS SIR_HAL_UPDATE_RX_NSS
320#define WMA_UPDATE_MEMBERSHIP SIR_HAL_UPDATE_MEMBERSHIP
321#define WMA_UPDATE_USERPOS SIR_HAL_UPDATE_USERPOS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800322
323#ifdef WLAN_FEATURE_NAN
324#define WMA_NAN_REQUEST SIR_HAL_NAN_REQUEST
325#endif
326
327#define WMA_START_SCAN_OFFLOAD_REQ SIR_HAL_START_SCAN_OFFLOAD_REQ
328#define WMA_STOP_SCAN_OFFLOAD_REQ SIR_HAL_STOP_SCAN_OFFLOAD_REQ
329#define WMA_UPDATE_CHAN_LIST_REQ SIR_HAL_UPDATE_CHAN_LIST_REQ
330#define WMA_RX_SCAN_EVENT SIR_HAL_RX_SCAN_EVENT
331#define WMA_IBSS_PEER_INACTIVITY_IND SIR_HAL_IBSS_PEER_INACTIVITY_IND
332
333#define WMA_CLI_SET_CMD SIR_HAL_CLI_SET_CMD
334#ifdef FEATURE_WLAN_SCAN_PNO
335#define WMA_SME_SCAN_CACHE_UPDATED SIR_HAL_SME_SCAN_CACHE_UPDATED
336#endif
337
338#ifndef REMOVE_PKT_LOG
339#define WMA_PKTLOG_ENABLE_REQ SIR_HAL_PKTLOG_ENABLE_REQ
340#endif
341
342#ifdef FEATURE_WLAN_LPHB
343#define WMA_LPHB_CONF_REQ SIR_HAL_LPHB_CONF_IND
344#endif /* FEATURE_WLAN_LPHB */
345
346#ifdef FEATURE_WLAN_CH_AVOID
347#define WMA_CH_AVOID_UPDATE_REQ SIR_HAL_CH_AVOID_UPDATE_REQ
348#endif /* FEATURE_WLAN_CH_AVOID */
349
350#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
351#define WMA_SET_AUTO_SHUTDOWN_TIMER_REQ SIR_HAL_SET_AUTO_SHUTDOWN_TIMER_REQ
352#endif
353
354#define WMA_ADD_PERIODIC_TX_PTRN_IND SIR_HAL_ADD_PERIODIC_TX_PTRN_IND
355#define WMA_DEL_PERIODIC_TX_PTRN_IND SIR_HAL_DEL_PERIODIC_TX_PTRN_IND
356
357#define WMA_TX_POWER_LIMIT SIR_HAL_SET_TX_POWER_LIMIT
358
359#define WMA_RATE_UPDATE_IND SIR_HAL_RATE_UPDATE_IND
360
361#define WMA_INIT_THERMAL_INFO_CMD SIR_HAL_INIT_THERMAL_INFO_CMD
362#define WMA_SET_THERMAL_LEVEL SIR_HAL_SET_THERMAL_LEVEL
Rajeev Kumar8e3e2832015-11-06 16:02:54 -0800363#define WMA_RMC_ENABLE_IND SIR_HAL_RMC_ENABLE_IND
364#define WMA_RMC_DISABLE_IND SIR_HAL_RMC_DISABLE_IND
365#define WMA_RMC_ACTION_PERIOD_IND SIR_HAL_RMC_ACTION_PERIOD_IND
366
367/* IBSS peer info related message */
368#define WMA_GET_IBSS_PEER_INFO_REQ SIR_HAL_IBSS_PEER_INFO_REQ
369
370#define WMA_IBSS_CESIUM_ENABLE_IND SIR_HAL_IBSS_CESIUM_ENABLE_IND
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800371
372#ifdef FEATURE_WLAN_TDLS
373#define WMA_UPDATE_FW_TDLS_STATE SIR_HAL_UPDATE_FW_TDLS_STATE
374#define WMA_UPDATE_TDLS_PEER_STATE SIR_HAL_UPDATE_TDLS_PEER_STATE
375#define WMA_TDLS_SHOULD_DISCOVER_CMD SIR_HAL_TDLS_SHOULD_DISCOVER
376#define WMA_TDLS_SHOULD_TEARDOWN_CMD SIR_HAL_TDLS_SHOULD_TEARDOWN
377#define WMA_TDLS_PEER_DISCONNECTED_CMD SIR_HAL_TDLS_PEER_DISCONNECTED
378#define WMA_TDLS_SET_OFFCHAN_MODE SIR_HAL_TDLS_SET_OFFCHAN_MODE
379#endif
380#define WMA_SET_SAP_INTRABSS_DIS SIR_HAL_SET_SAP_INTRABSS_DIS
381
382/* Message to Indicate Radar Presence on SAP Channel */
383#define WMA_DFS_RADAR_IND SIR_HAL_DFS_RADAR_IND
384
385/* Message to indicate beacon tx completion after beacon template update
386 * beacon offload case
387 */
388#define WMA_DFS_BEACON_TX_SUCCESS_IND SIR_HAL_BEACON_TX_SUCCESS_IND
389#define WMA_DISASSOC_TX_COMP SIR_HAL_DISASSOC_TX_COMP
390#define WMA_DEAUTH_TX_COMP SIR_HAL_DEAUTH_TX_COMP
391#define WMA_GET_LINK_SPEED SIR_HAL_GET_LINK_SPEED
392
393#define WMA_MODEM_POWER_STATE_IND SIR_HAL_MODEM_POWER_STATE_IND
394
395#ifdef WLAN_FEATURE_STATS_EXT
396#define WMA_STATS_EXT_REQUEST SIR_HAL_STATS_EXT_REQUEST
397#endif
398
399#define WMA_IPA_OFFLOAD_ENABLE_DISABLE SIR_HAL_IPA_OFFLOAD_ENABLE_DISABLE
400
401#define WMA_GET_TEMPERATURE_REQ SIR_HAL_GET_TEMPERATURE_REQ
402
403#ifdef FEATURE_WLAN_EXTSCAN
404#define WMA_EXTSCAN_GET_CAPABILITIES_REQ SIR_HAL_EXTSCAN_GET_CAPABILITIES_REQ
405#define WMA_EXTSCAN_START_REQ SIR_HAL_EXTSCAN_START_REQ
406#define WMA_EXTSCAN_STOP_REQ SIR_HAL_EXTSCAN_STOP_REQ
407#define WMA_EXTSCAN_SET_BSSID_HOTLIST_REQ SIR_HAL_EXTSCAN_SET_BSS_HOTLIST_REQ
408#define WMA_EXTSCAN_RESET_BSSID_HOTLIST_REQ SIR_HAL_EXTSCAN_RESET_BSS_HOTLIST_REQ
409#define WMA_EXTSCAN_SET_SIGNF_CHANGE_REQ SIR_HAL_EXTSCAN_SET_SIGNF_CHANGE_REQ
410#define WMA_EXTSCAN_RESET_SIGNF_CHANGE_REQ SIR_HAL_EXTSCAN_RESET_SIGNF_CHANGE_REQ
411#define WMA_EXTSCAN_GET_CACHED_RESULTS_REQ SIR_HAL_EXTSCAN_GET_CACHED_RESULTS_REQ
412#define WMA_SET_EPNO_LIST_REQ SIR_HAL_SET_EPNO_LIST_REQ
413#define WMA_SET_PASSPOINT_LIST_REQ SIR_HAL_SET_PASSPOINT_LIST_REQ
414#define WMA_RESET_PASSPOINT_LIST_REQ SIR_HAL_RESET_PASSPOINT_LIST_REQ
415#define WMA_EXTSCAN_SET_SSID_HOTLIST_REQ SIR_HAL_EXTSCAN_SET_SSID_HOTLIST_REQ
416
417#endif /* FEATURE_WLAN_EXTSCAN */
418
419#ifdef WLAN_FEATURE_LINK_LAYER_STATS
420#define WMA_LINK_LAYER_STATS_CLEAR_REQ SIR_HAL_LL_STATS_CLEAR_REQ
421#define WMA_LINK_LAYER_STATS_SET_REQ SIR_HAL_LL_STATS_SET_REQ
422#define WMA_LINK_LAYER_STATS_GET_REQ SIR_HAL_LL_STATS_GET_REQ
423#define WMA_LINK_LAYER_STATS_RESULTS_RSP SIR_HAL_LL_STATS_RESULTS_RSP
424#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
425
426#define WMA_LINK_STATUS_GET_REQ SIR_HAL_LINK_STATUS_GET_REQ
427
428#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
429#define WMA_WLAN_EXT_WOW SIR_HAL_CONFIG_EXT_WOW
430#define WMA_WLAN_SET_APP_TYPE1_PARAMS SIR_HAL_CONFIG_APP_TYPE1_PARAMS
431#define WMA_WLAN_SET_APP_TYPE2_PARAMS SIR_HAL_CONFIG_APP_TYPE2_PARAMS
432#endif
433
434#define WMA_SET_SCAN_MAC_OUI_REQ SIR_HAL_SET_SCAN_MAC_OUI_REQ
Manikandan Mohan976e7562016-03-15 16:33:31 -0700435#define WMA_TSF_GPIO_PIN SIR_HAL_TSF_GPIO_PIN_REQ
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800436
437#ifdef DHCP_SERVER_OFFLOAD
438#define WMA_SET_DHCP_SERVER_OFFLOAD_CMD SIR_HAL_SET_DHCP_SERVER_OFFLOAD
439#endif /* DHCP_SERVER_OFFLOAD */
440
441#ifdef WLAN_FEATURE_GPIO_LED_FLASHING
442#define WMA_LED_FLASHING_REQ SIR_HAL_LED_FLASHING_REQ
443#endif
444
445/* Message posted by wmi when wmi event is received from FW */
446#define WMA_PROCESS_FW_EVENT SIR_HAL_PROCESS_FW_EVENT
447
448#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
449#define WMA_UPDATE_Q2Q_IE_IND SIR_HAL_UPDATE_Q2Q_IE_IND
450#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
451#define WMA_SET_RSSI_MONITOR_REQ SIR_HAL_SET_RSSI_MONITOR_REQ
452
453#define WMA_FW_MEM_DUMP_REQ SIR_HAL_FW_MEM_DUMP_REQ
454
455#define WMA_OCB_SET_CONFIG_CMD SIR_HAL_OCB_SET_CONFIG_CMD
456#define WMA_OCB_SET_UTC_TIME_CMD SIR_HAL_OCB_SET_UTC_TIME_CMD
457#define WMA_OCB_START_TIMING_ADVERT_CMD SIR_HAL_OCB_START_TIMING_ADVERT_CMD
458#define WMA_OCB_STOP_TIMING_ADVERT_CMD SIR_HAL_OCB_STOP_TIMING_ADVERT_CMD
459#define WMA_OCB_GET_TSF_TIMER_CMD SIR_HAL_OCB_GET_TSF_TIMER_CMD
460#define WMA_DCC_GET_STATS_CMD SIR_HAL_DCC_GET_STATS_CMD
461#define WMA_DCC_CLEAR_STATS_CMD SIR_HAL_DCC_CLEAR_STATS_CMD
462#define WMA_DCC_UPDATE_NDL_CMD SIR_HAL_DCC_UPDATE_NDL_CMD
Ryan Hsu3c8f79f2015-12-02 16:45:09 -0800463#define WMA_SET_IE_INFO SIR_HAL_SET_IE_INFO
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800464
Ryan Hsu3c8f79f2015-12-02 16:45:09 -0800465#define WMA_LRO_CONFIG_CMD SIR_HAL_LRO_CONFIG_CMD
Ravi Joshi61c3c7a2015-11-09 18:41:20 -0800466#define WMA_GW_PARAM_UPDATE_REQ SIR_HAL_GATEWAY_PARAM_UPDATE_REQ
Ryan Hsu3c8f79f2015-12-02 16:45:09 -0800467#define WMA_SET_EGAP_CONF_PARAMS SIR_HAL_SET_EGAP_CONF_PARAMS
Gupta, Kapil4cb1d7d2016-04-16 18:16:25 -0700468#define WMA_ADD_BCN_FILTER_CMDID SIR_HAL_ADD_BCN_FILTER_CMDID
469#define WMA_REMOVE_BCN_FILTER_CMDID SIR_HAL_REMOVE_BCN_FILTER_CMDID
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800470
Arun Khandavalli2476ef52016-04-26 20:19:43 +0530471#define WDA_BPF_GET_CAPABILITIES_REQ SIR_HAL_BPF_GET_CAPABILITIES_REQ
472#define WDA_BPF_SET_INSTRUCTIONS_REQ SIR_HAL_BPF_SET_INSTRUCTIONS_REQ
473
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800474/* Bit 6 will be used to control BD rate for Management frames */
475#define HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME 0x40
476
477#define wma_tx_frame(hHal, pFrmBuf, frmLen, frmType, txDir, tid, pCompFunc, \
478 pData, txFlag, sessionid, channel_freq) \
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530479 (QDF_STATUS)( wma_tx_packet( \
Anurag Chouhan6d760662016-02-20 16:05:43 +0530480 cds_get_context(QDF_MODULE_ID_WMA), \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800481 (pFrmBuf), \
482 (frmLen), \
483 (frmType), \
484 (txDir), \
485 (tid), \
486 (pCompFunc), \
487 (pData), \
488 (NULL), \
489 (txFlag), \
490 (sessionid), \
491 (false), \
492 (channel_freq)))
493
494#define wma_tx_frameWithTxComplete(hHal, pFrmBuf, frmLen, frmType, txDir, tid, \
495 pCompFunc, pData, pCBackFnTxComp, txFlag, sessionid, tdlsflag, \
496 channel_freq) \
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530497 (QDF_STATUS)( wma_tx_packet( \
Anurag Chouhan6d760662016-02-20 16:05:43 +0530498 cds_get_context(QDF_MODULE_ID_WMA), \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800499 (pFrmBuf), \
500 (frmLen), \
501 (frmType), \
502 (txDir), \
503 (tid), \
504 (pCompFunc), \
505 (pData), \
506 (pCBackFnTxComp), \
507 (txFlag), \
508 (sessionid), \
509 (tdlsflag), \
510 (channel_freq)))
511
512
513#define WMA_SetEnableSSR(enable_ssr) ((void)enable_ssr)
514
515/**
516 * struct sUapsd_Params - Powersave Offload Changes
517 * @bkDeliveryEnabled: BK delivery enabled flag
518 * @beDeliveryEnabled: BE delivery enabled flag
519 * @viDeliveryEnabled: VI delivery enabled flag
520 * @voDeliveryEnabled: VO delivery enabled flag
521 * @bkTriggerEnabled: BK trigger enabled flag
522 * @beTriggerEnabled: BE trigger enabled flag
523 * @viTriggerEnabled: VI trigger enabled flag
524 * @voTriggerEnabled: VO trigger enabled flag
525 */
526typedef struct sUapsd_Params {
527 uint8_t bkDeliveryEnabled:1;
528 uint8_t beDeliveryEnabled:1;
529 uint8_t viDeliveryEnabled:1;
530 uint8_t voDeliveryEnabled:1;
531 uint8_t bkTriggerEnabled:1;
532 uint8_t beTriggerEnabled:1;
533 uint8_t viTriggerEnabled:1;
534 uint8_t voTriggerEnabled:1;
Kiran Kumar Lokere830ba162016-03-11 17:28:28 -0800535 bool enable_ps;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800536} tUapsd_Params, *tpUapsd_Params;
537
538/**
539 * struct sEnablePsParams - Enable PowerSave Params
540 * @psSetting: power save setting
541 * @uapsdParams: UAPSD Parameters
542 * @bssid: mac address
543 * @sessionid: sme session id / vdev id
544 * @bcnDtimPeriod: beacon DTIM Period
545 * @status: success/failure
546 */
547typedef struct sEnablePsParams {
548 tSirAddonPsReq psSetting;
549 tUapsd_Params uapsdParams;
550 tSirMacAddr bssid;
551 uint32_t sessionid;
552 uint8_t bcnDtimPeriod;
553 uint32_t status;
554} tEnablePsParams, *tpEnablePsParams;
555
556/**
557 * struct sDisablePsParams - Disable PowerSave Params
558 * @psSetting: power save setting
559 * @bssid: mac address
560 * @sessionid: sme session id / vdev id
561 * @status: success/failure
562 */
563typedef struct sDisablePsParams {
564 tSirAddonPsReq psSetting;
565 tSirMacAddr bssid;
566 uint32_t sessionid;
567 uint32_t status;
568} tDisablePsParams, *tpDisablePsParams;
569
570/**
571 * struct sEnableUapsdParams - Enable Uapsd Params
572 * @uapsdParams: UAPSD parameters
573 * @bssid: mac address
574 * @sessionid: sme session id/ vdev id
575 * @status: success/failure
576 */
577typedef struct sEnableUapsdParams {
578 tUapsd_Params uapsdParams;
579 tSirMacAddr bssid;
580 uint32_t sessionid;
581 uint32_t status;
582} tEnableUapsdParams, *tpEnableUapsdParams;
583
584/**
585 * struct sDisableUapsdParams - Disable Uapsd Params
586 * @bssid: mac address
587 * @sessionid: sme session id/ vdev id
588 * @status: success/failure
589 */
590typedef struct sDisableUapsdParams {
591 tSirMacAddr bssid;
592 uint32_t sessionid;
593 uint32_t status;
594} tDisableUapsdParams, *tpDisableUapsdParams;
595
596typedef void (*pWMATxRxCompFunc)(void *pContext, void *pData,
597 bool bFreeData);
598
599/* callback function for TX complete */
600/* parameter 1 - global pMac pointer */
601/* parameter 2 - txComplete status : 1- success, 0 - failure. */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530602typedef QDF_STATUS (*pWMAAckFnTxComp)(tpAniSirGlobal, uint32_t);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800603
Rajeev Kumar8e3e2832015-11-06 16:02:54 -0800604typedef void (*wma_txFailIndCallback)(uint8_t *, uint8_t);
605
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800606/* generic callback for updating parameters from target to UMAC */
607typedef void (*wma_tgt_cfg_cb)(void *context, void *param);
608
609/*
610 * callback for Indicating Radar to HDD and disable Tx Queues
611 * to stop accepting data Tx packets from netif as radar is
612 * found on the current operating channel
613 */
Edhar, Mahesh Kumar695468e2015-10-19 12:06:20 +0530614typedef bool (*wma_dfs_radar_indication_cb)(void *context, void *param);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800615
616/**
617 * struct wma_cli_set_cmd_t - set command parameters
618 * @param_id: parameter id
619 * @param_value: parameter value
620 * @param_sec_value: parameter sec value
621 * @param_vdev_id: parameter vdev id
622 * @param_vp_dev: is it per vdev/pdev
623 */
624typedef struct {
625 uint32_t param_id;
626 uint32_t param_value;
627 uint32_t param_sec_value;
628 uint32_t param_vdev_id;
629 uint32_t param_vp_dev;
630} wma_cli_set_cmd_t;
631
632#if defined(QCA_WIFI_FTM)
633#define AR6K_TM_DATA_MAX_LEN 5000
634struct ar6k_testmode_cmd_data {
635 void *data;
636 int len;
637};
638#endif
639
640#ifdef FEATURE_WLAN_TDLS
641/**
642 * enum WMA_TdlsPeerState - TDLS PEER state
643 * @WMA_TDLS_PEER_STATE_PEERING: peer is making connection
644 * @WMA_TDLS_PEER_STATE_CONNECTED: peer is connected
645 * @WMA_TDLS_PEER_STATE_TEARDOWN: peer is teardown
Kabilan Kannan421714b2015-11-23 04:44:59 -0800646 * @WMA_TDLS_PEER_ADD_MAC_ADDR: add peer into connection table
647 * @WMA_TDLS_PEER_REMOVE_MAC_ADDR: remove peer from connection table
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800648 */
649typedef enum {
650 WMA_TDLS_PEER_STATE_PEERING,
651 WMA_TDLS_PEER_STATE_CONNECTED,
652 WMA_TDLS_PEER_STATE_TEARDOWN,
Kabilan Kannan421714b2015-11-23 04:44:59 -0800653 WMA_TDLS_PEER_ADD_MAC_ADDR,
654 WMA_TDLS_PEER_REMOVE_MAC_ADDR,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800655} WMA_TdlsPeerState;
656
657/**
658 * enum wma_tdls_off_chan_mode - modes for WMI_TDLS_SET_OFFCHAN_MODE_CMDID
659 * @WMA_TDLS_ENABLE_OFFCHANNEL: enable off channel
660 * @WMA_TDLS_DISABLE_OFFCHANNEL: disable off channel
661 */
662typedef enum {
663 WMA_TDLS_ENABLE_OFFCHANNEL,
664 WMA_TDLS_DISABLE_OFFCHANNEL
665} wma_tdls_off_chan_mode;
666
667#endif /* FEATURE_WLAN_TDLS */
668
669tSirRetStatus wma_post_ctrl_msg(tpAniSirGlobal pMac, tSirMsgQ *pMsg);
670
671tSirRetStatus u_mac_post_ctrl_msg(void *pSirGlobal, tSirMbMsg *pMb);
672
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530673QDF_STATUS wma_set_idle_ps_config(void *wma_ptr, uint32_t idle_ps);
674QDF_STATUS wma_get_snr(tAniGetSnrReq *psnr_req);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800675
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530676QDF_STATUS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800677wma_ds_peek_rx_packet_info
678 (cds_pkt_t *vosDataBuff, void **ppRxHeader, bool bSwap);
679
680
681void wma_tx_abort(uint8_t vdev_id);
682
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530683QDF_STATUS wma_tx_packet(void *pWMA,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800684 void *pFrmBuf,
685 uint16_t frmLen,
686 eFrameType frmType,
687 eFrameTxDir txDir,
688 uint8_t tid,
689 pWMATxRxCompFunc pCompFunc,
690 void *pData,
691 pWMAAckFnTxComp pAckTxComp,
692 uint8_t txFlag, uint8_t sessionId, bool tdlsflag,
693 uint16_t channel_freq);
694
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530695QDF_STATUS wma_open(void *p_cds_context,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800696 wma_tgt_cfg_cb pTgtUpdCB,
697 wma_dfs_radar_indication_cb radar_ind_cb,
698 tMacOpenParameters *pMacParams);
699
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530700typedef QDF_STATUS (*wma_mgmt_frame_rx_callback)(void *p_cds_gctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800701 void *cds_buff);
702
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530703QDF_STATUS wma_register_mgmt_frm_client(void *p_cds_gctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800704 wma_mgmt_frame_rx_callback mgmt_rx_cb);
705
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530706QDF_STATUS wma_de_register_mgmt_frm_client(void *p_cds_gctx);
707QDF_STATUS wma_register_roaming_callbacks(void *cds_ctx,
Varun Reddy Yeturubbbbe232016-02-29 14:01:57 -0800708#ifdef WLAN_FEATURE_ROAM_OFFLOAD
Varun Reddy Yeturud5939f82015-12-24 18:14:02 -0800709 void (*csr_roam_synch_cb)(tpAniSirGlobal mac,
710 roam_offload_synch_ind *roam_synch_data,
Varun Reddy Yeturuf907f912016-03-21 15:06:22 -0700711 tpSirBssDescription bss_desc_ptr,
712 enum sir_roam_op_code reason),
Anurag Chouhanfb54ab02016-02-18 18:00:46 +0530713 QDF_STATUS (*pe_roam_synch_cb)(tpAniSirGlobal mac,
Varun Reddy Yeturud5939f82015-12-24 18:14:02 -0800714 roam_offload_synch_ind *roam_synch_data,
715 tpSirBssDescription bss_desc_ptr));
Varun Reddy Yeturubbbbe232016-02-29 14:01:57 -0800716#else
Kiran Kumar Lokere830ba162016-03-11 17:28:28 -0800717static inline QDF_STATUS wma_register_roaming_callbacks(void *cds_ctx,
Varun Reddy Yeturubbbbe232016-02-29 14:01:57 -0800718 void (*csr_roam_synch_cb)(tpAniSirGlobal mac,
719 roam_offload_synch_ind *roam_synch_data,
Varun Reddy Yeturuf907f912016-03-21 15:06:22 -0700720 tpSirBssDescription bss_desc_ptr,
721 enum sir_roam_op_code reason),
Kiran Kumar Lokere830ba162016-03-11 17:28:28 -0800722 QDF_STATUS (*pe_roam_synch_cb)(tpAniSirGlobal mac,
Varun Reddy Yeturubbbbe232016-02-29 14:01:57 -0800723 roam_offload_synch_ind *roam_synch_data,
724 tpSirBssDescription bss_desc_ptr))
725{
Kiran Kumar Lokere830ba162016-03-11 17:28:28 -0800726 return QDF_STATUS_E_NOSUPPORT;
Varun Reddy Yeturubbbbe232016-02-29 14:01:57 -0800727}
728#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800729
730#endif