blob: 19725143e59e5846a8da05b0a4d068500a22e65d [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302 * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
Kiet Lam1ed83fc2014-02-19 01:15:45 -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/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Kiet Lam1ed83fc2014-02-19 01:15:45 -080026 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Jeff Johnson295189b2012-06-20 16:38:30 -070031#ifndef WLAN_QCT_WDI_H
32#define WLAN_QCT_WDI_H
33
34/*===========================================================================
35
36 W L A N D E V I C E A B S T R A C T I O N L A Y E R
37 E X T E R N A L A P I
38
39
40DESCRIPTION
41 This file contains the external API exposed by the wlan transport layer
42 module.
43
44
Jeff Johnson295189b2012-06-20 16:38:30 -070045===========================================================================*/
46
47
48/*===========================================================================
49
50 EDIT HISTORY FOR FILE
51
52
53 This section contains comments describing changes made to the module.
54 Notice that changes are listed in reverse chronological order.
55
56
57 $Header:$ $DateTime: $ $Author: $
58
59
60when who what, where, why
61-------- --- ----------------------------------------------------------
6210/05/11 hap Adding support for Keep Alive
6308/04/10 lti Created module.
64
65===========================================================================*/
66
67
68
69/*===========================================================================
70
71 INCLUDE FILES FOR MODULE
72
73===========================================================================*/
74
75/*----------------------------------------------------------------------------
76 * Include Files
77 * -------------------------------------------------------------------------*/
78#include "wlan_qct_pal_api.h"
79#include "wlan_qct_pal_type.h"
80#include "wlan_qct_pack_align.h"
81#include "wlan_qct_wdi_cfg.h"
82
83/*----------------------------------------------------------------------------
84 * Preprocessor Definitions and Constants
85 * -------------------------------------------------------------------------*/
86#ifdef __cplusplus
87 extern "C" {
88#endif
89
90/* MAC ADDRESS LENGTH - per spec*/
91#define WDI_MAC_ADDR_LEN 6
92
93/* Max number of 11b rates -> 1,2,5.5,11 */
94#define WDI_NUM_11B_RATES 4
95
96/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
97#define WDI_NUM_11A_RATES 8
98
99/* Max number of legacy rates -> 72, 96, 108*/
100#define WDI_NUM_POLARIS_RATES 3
101
102/* Max supported MCS set*/
103#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
104
105/*Max number of Access Categories for QoS - per spec */
106#define WDI_MAX_NO_AC 4
107
108/*Max. size for reserving the Beacon Template */
109#define WDI_BEACON_TEMPLATE_SIZE 0x180
110
111#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
112
113#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
114
115#define WDI_MAX_SSID_SIZE 32
116
117/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
118from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
119of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
120
121#define FRAGMENT_SIZE 3072
122
123/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800124#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700125
126/* Beacon Filter Length*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530127#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
130#define WDI_COEX_IND_DATA_SIZE (4)
131
132#define WDI_CIPHER_SEQ_CTR_SIZE 6
133
134#define WDI_NUM_BSSID 2
135
136/*Version string max length (including NUL) */
137#define WDI_VERSION_LENGTH 64
138
139
140/*WDI Response timeout - how long will WDI wait for a response from the device
141 - it should be large enough to allow any other failure mechanism to kick
142 in before we get to a timeout (ms units)*/
143#define WDI_RESPONSE_TIMEOUT 10000
144
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700145/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
146 * Apps initiated SSR will be performed */
147#define WDI_SSR_TIMEOUT 5000
148
Jeff Johnson295189b2012-06-20 16:38:30 -0700149#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
150
Yue Mab9c86f42013-08-14 15:59:08 -0700151/* Periodic Tx pattern offload feature */
152#define PERIODIC_TX_PTRN_MAX_SIZE 1536
153#define MAXNUM_PERIODIC_TX_PTRNS 6
Srinivas Dasari4dae48f2014-11-26 21:14:16 +0530154#define WDI_DISA_MAX_PAYLOAD_SIZE 1600
Siddharth Bhald1be97f2015-05-27 22:39:59 +0530155#define MAX_NUM_OF_BUFFER 3
Karthick Sa6616c32015-07-22 14:49:02 +0530156#define VALID_FW_LOG_TYPES 2
Karthick Sed59a282015-08-10 14:52:16 +0530157#define MAX_LOG_BUFFER_LENGTH 128 * 1024
Yue Mab9c86f42013-08-14 15:59:08 -0700158
Jeff Johnson295189b2012-06-20 16:38:30 -0700159/*============================================================================
160 * GENERIC STRUCTURES
161
162============================================================================*/
163
164/*---------------------------------------------------------------------------
165 WDI Version Information
166---------------------------------------------------------------------------*/
167typedef struct
168{
169 wpt_uint8 revision;
170 wpt_uint8 version;
171 wpt_uint8 minor;
172 wpt_uint8 major;
173} WDI_WlanVersionType;
174
175/*---------------------------------------------------------------------------
176 WDI Device Capability
177---------------------------------------------------------------------------*/
178typedef struct
179{
180 /*If this flag is true it means that the device can support 802.3/ETH2 to
181 802.11 translation*/
182 wpt_boolean bFrameXtlSupported;
183
184 /*Maximum number of BSSes supported by the Device */
185 wpt_uint8 ucMaxBSSSupported;
186
187 /*Maximum number of stations supported by the Device */
188 wpt_uint8 ucMaxSTASupported;
189}WDI_DeviceCapabilityType;
190
191/*---------------------------------------------------------------------------
192 WDI Channel Offset
193---------------------------------------------------------------------------*/
194typedef enum
195{
196 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
197 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700198 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
199#ifdef WLAN_FEATURE_11AC
200 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
202 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
203 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
204 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
205 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
206 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
207#endif
208 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700209}WDI_HTSecondaryChannelOffset;
210
211/*---------------------------------------------------------------------------
212 WDI_MacFrameCtl
213 Frame control field format (2 bytes)
214---------------------------------------------------------------------------*/
215typedef struct
216{
217 wpt_uint8 protVer :2;
218 wpt_uint8 type :2;
219 wpt_uint8 subType :4;
220
221 wpt_uint8 toDS :1;
222 wpt_uint8 fromDS :1;
223 wpt_uint8 moreFrag :1;
224 wpt_uint8 retry :1;
225 wpt_uint8 powerMgmt :1;
226 wpt_uint8 moreData :1;
227 wpt_uint8 wep :1;
228 wpt_uint8 order :1;
229
230} WDI_MacFrameCtl;
231
232/*---------------------------------------------------------------------------
233 WDI Sequence control field
234---------------------------------------------------------------------------*/
235typedef struct
236{
237 wpt_uint8 fragNum : 4;
238 wpt_uint8 seqNumLo : 4;
239 wpt_uint8 seqNumHi : 8;
240} WDI_MacSeqCtl;
241
242/*---------------------------------------------------------------------------
243 Management header format
244---------------------------------------------------------------------------*/
245typedef struct
246{
247 WDI_MacFrameCtl fc;
248 wpt_uint8 durationLo;
249 wpt_uint8 durationHi;
250 wpt_uint8 da[WDI_MAC_ADDR_LEN];
251 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
252 wpt_macAddr bssId;
253 WDI_MacSeqCtl seqControl;
254} WDI_MacMgmtHdr;
255
256/*---------------------------------------------------------------------------
257 NV Blob management sturcture
258 ---------------------------------------------------------------------------*/
259
260typedef struct
261{
262 /* NV image fragments count */
263 wpt_uint16 usTotalFragment;
264
265 /* NV fragment size */
266 wpt_uint16 usFragmentSize;
267
268 /* current fragment to be sent */
269 wpt_uint16 usCurrentFragment;
270
271} WDI_NvBlobInfoParams;
272
273
274/*---------------------------------------------------------------------------
275 Data path enums memory pool resource
276 ---------------------------------------------------------------------------*/
277
278typedef enum
279{
280 /* managment resource pool ID */
281 WDI_MGMT_POOL_ID = 0,
282 /* Data resource pool ID */
283 WDI_DATA_POOL_ID = 1
284}WDI_ResPoolType;
285
286/*============================================================================
287 * GENERIC STRUCTURES - END
288 ============================================================================*/
289
290/*----------------------------------------------------------------------------
291 * Type Declarations
292 * -------------------------------------------------------------------------*/
293/*---------------------------------------------------------------------------
294 WDI Status
295---------------------------------------------------------------------------*/
296typedef enum
297{
298 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
299 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
300 synchronous way - no rsp will be generated*/
301 WDI_STATUS_PENDING, /* Operation result is pending and will be
302 provided asynchronously through the Req Status
303 Callback */
304 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
305 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
306 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
307 failure*/
308 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
309 of the driver*/
310 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
311
312 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
313 WDI_STATUS_MAX
314
315}WDI_Status;
316
317
318/*---------------------------------------------------------------------------
319 WDI_ReqStatusCb
320
321 DESCRIPTION
322
323 This callback is invoked by DAL to deliver to UMAC the result of posting
324 a previous request for which the return status was PENDING.
325
326 PARAMETERS
327
328 IN
329 wdiStatus: response status received from the Control Transport
330 pUserData: user data
331
332
333
334 RETURN VALUE
335 The result code associated with performing the operation
336---------------------------------------------------------------------------*/
337typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
338 void* pUserData);
339
340/*---------------------------------------------------------------------------
341 WDI_LowLevelIndEnumType
342 Types of indication that can be posted to UMAC by DAL
343---------------------------------------------------------------------------*/
344typedef enum
345{
346 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
347 passed. */
348 WDI_RSSI_NOTIFICATION_IND,
349
350 /*Link loss in the low MAC */
351 WDI_MISSED_BEACON_IND,
352
353 /*when hardware has signaled an unknown addr2 frames. The indication will
354 contain info from frames to be passed to the UMAC, this may use this info to
355 deauth the STA*/
356 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
357
358 /*MIC Failure detected by HW*/
359 WDI_MIC_FAILURE_IND,
360
361 /*Fatal Error Ind*/
362 WDI_FATAL_ERROR_IND,
363
364 /*Delete Station Ind*/
365 WDI_DEL_STA_IND,
366
367 /*Indication from Coex*/
368 WDI_COEX_IND,
369
370 /* Indication for Tx Complete */
371 WDI_TX_COMPLETE_IND,
372
373 /*.P2P_NOA_Attr_Indication */
374 WDI_P2P_NOA_ATTR_IND,
375
376 /* Preferred Network Found Indication */
377 WDI_PREF_NETWORK_FOUND_IND,
378
379 WDI_WAKE_REASON_IND,
380
381 /* Tx PER Tracking Indication */
382 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800383
Viral Modid86bde22012-12-10 13:09:21 -0800384 /* P2P_NOA_Start_Indication */
385 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800386
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530387 /* TDLS_Indication */
388 WDI_TDLS_IND,
389
Leo Changd9df8aa2013-09-26 13:32:26 -0700390 /* LPHB Indication from FW to umac */
391 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700392
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700393 /* IBSS Peer Inactivity Indication */
394 WDI_IBSS_PEER_INACTIVITY_IND,
395
Yue Mab9c86f42013-08-14 15:59:08 -0700396 /* Periodic Tx Pattern FW Indication */
397 WDI_PERIODIC_TX_PTRN_FW_IND,
398
Rajeev79dbe4c2013-10-05 11:03:42 +0530399#ifdef FEATURE_WLAN_BATCH_SCAN
400 /*Batch scan result indication from FW*/
401 WDI_BATCH_SCAN_RESULT_IND,
402#endif
403
Leo Chang0b0e45a2013-12-15 15:18:55 -0800404#ifdef FEATURE_WLAN_CH_AVOID
405 WDI_CH_AVOID_IND,
406#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530407#ifdef WLAN_FEATURE_LINK_LAYER_STATS
408 WDI_LL_STATS_RESULTS_IND,
409#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530410#ifdef WLAN_FEATURE_EXTSCAN
411 WDI_EXTSCAN_PROGRESS_IND,
412 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
413 WDI_EXTSCAN_SCAN_RESULT_IND,
414 WDI_EXTSCAN_GET_CAPABILITIES_IND,
415 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
416 WDI_EXTSCAN_SIGN_RSSI_RESULT_IND,
417#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530418 /*Delete BA Ind*/
419 WDI_DEL_BA_IND,
Srinivas Dasari32a79262015-02-19 13:04:49 +0530420 WDI_NAN_EVENT_IND,
Leo Chang0b0e45a2013-12-15 15:18:55 -0800421
Jeff Johnson295189b2012-06-20 16:38:30 -0700422 WDI_MAX_IND
423}WDI_LowLevelIndEnumType;
424
425
426/*---------------------------------------------------------------------------
427 WDI_LowRSSIThIndType
428---------------------------------------------------------------------------*/
429typedef struct
430{
431 /*Positive crossing of Rssi Thresh1*/
432 wpt_uint32 bRssiThres1PosCross : 1;
433 /*Negative crossing of Rssi Thresh1*/
434 wpt_uint32 bRssiThres1NegCross : 1;
435 /*Positive crossing of Rssi Thresh2*/
436 wpt_uint32 bRssiThres2PosCross : 1;
437 /*Negative crossing of Rssi Thresh2*/
438 wpt_uint32 bRssiThres2NegCross : 1;
439 /*Positive crossing of Rssi Thresh3*/
440 wpt_uint32 bRssiThres3PosCross : 1;
441 /*Negative crossing of Rssi Thresh3*/
442 wpt_uint32 bRssiThres3NegCross : 1;
443
Srinivasdaaec712012-12-12 15:59:44 -0800444 wpt_uint32 avgRssi : 8;
445 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700446
447}WDI_LowRSSIThIndType;
448
449
450/*---------------------------------------------------------------------------
451 WDI_UnkAddr2FrmRxIndType
452---------------------------------------------------------------------------*/
453typedef struct
454{
455 /*Rx Bd data of the unknown received addr2 frame.*/
456 void* bufRxBd;
457
458 /*Buffer Length*/
459 wpt_uint16 usBufLen;
460}WDI_UnkAddr2FrmRxIndType;
461
462/*---------------------------------------------------------------------------
463 WDI_DeleteSTAIndType
464---------------------------------------------------------------------------*/
465typedef struct
466{
467 /*ASSOC ID, as assigned by UMAC*/
468 wpt_uint16 usAssocId;
469
470 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
471 wpt_uint8 ucSTAIdx;
472
473 /*BSSID of STA*/
474 wpt_macAddr macBSSID;
475
476 /*MAC ADDR of STA*/
477 wpt_macAddr macADDR2;
478
479 /* To unify the keepalive / unknown A2 / tim-based disa*/
480 wpt_uint16 wptReasonCode;
481
482}WDI_DeleteSTAIndType;
483
484/*---------------------------------------------------------------------------
485 WDI_MicFailureIndType
486---------------------------------------------------------------------------*/
487typedef struct
488{
489 /*current BSSID*/
490 wpt_macAddr bssId;
491
492 /*Source mac address*/
493 wpt_macAddr macSrcAddr;
494
495 /*Transmitter mac address*/
496 wpt_macAddr macTaAddr;
497
498 /*Destination mac address*/
499 wpt_macAddr macDstAddr;
500
501 /*Multicast flag*/
502 wpt_uint8 ucMulticast;
503
504 /*First byte of IV*/
505 wpt_uint8 ucIV1;
506
507 /*Key Id*/
508 wpt_uint8 keyId;
509
510 /*Sequence Number*/
511 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
512
513 /*receive address */
514 wpt_macAddr macRxAddr;
515}WDI_MicFailureIndType;
516
517/*---------------------------------------------------------------------------
518 WDI_CoexIndType
519---------------------------------------------------------------------------*/
520typedef struct
521{
522 wpt_uint32 coexIndType;
523 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
524} WDI_CoexIndType;
525
526/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530527 WDI_DHCPInd
528---------------------------------------------------------------------------*/
529
530typedef struct
531{
532 wpt_uint8 device_mode;
533 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
534}WDI_DHCPInd;
535
536/*---------------------------------------------------------------------------
537
Jeff Johnson295189b2012-06-20 16:38:30 -0700538 WDI_MacSSid
539---------------------------------------------------------------------------*/
540typedef struct
541{
542 wpt_uint8 ucLength;
543 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
544} WDI_MacSSid;
545
546#ifdef FEATURE_WLAN_SCAN_PNO
547/*---------------------------------------------------------------------------
548 WDI_PrefNetworkFoundInd
549---------------------------------------------------------------------------*/
550typedef struct
551{
552 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700553 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700554 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700555 wpt_uint8 rssi;
556 wpt_uint16 frameLength;
557 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700558} WDI_PrefNetworkFoundInd;
559#endif // FEATURE_WLAN_SCAN_PNO
560
Jeff Johnson295189b2012-06-20 16:38:30 -0700561/*---------------------------------------------------------------------------
562 *WDI_P2pNoaAttrIndType
563 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700564typedef struct
565{
566 wpt_uint8 ucIndex ;
567 wpt_uint8 ucOppPsFlag ;
568 wpt_uint16 usCtWin ;
569
570 wpt_uint16 usNoa1IntervalCnt;
571 wpt_uint16 usRsvd1 ;
572 wpt_uint32 uslNoa1Duration;
573 wpt_uint32 uslNoa1Interval;
574 wpt_uint32 uslNoa1StartTime;
575
576 wpt_uint16 usNoa2IntervalCnt;
577 wpt_uint16 usRsvd2;
578 wpt_uint32 uslNoa2Duration;
579 wpt_uint32 uslNoa2Interval;
580 wpt_uint32 uslNoa2StartTime;
581
582 wpt_uint32 status;
583}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800584
585/*---------------------------------------------------------------------------
586 *WDI_P2pNoaStartIndType
587 *-------------------------------------------------------------------------*/
588typedef struct
589{
590 wpt_uint32 status;
591 wpt_uint32 bssIdx;
592}WDI_P2pNoaStartIndType;
593
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530594/*---------------------------------------------------------------------------
595 *WDI_TdlsIndType
596 *-------------------------------------------------------------------------*/
597typedef struct
598{
599 wpt_uint16 status;
600 wpt_uint16 assocId;
601 wpt_uint16 staIdx;
602 wpt_uint16 reasonCode;
603}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700604
605#ifdef WLAN_WAKEUP_EVENTS
606/*---------------------------------------------------------------------------
607 WDI_WakeReasonIndType
608---------------------------------------------------------------------------*/
609typedef struct
610{
611 wpt_uint32 ulReason; /* see tWakeReasonType */
612 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
613 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
614 HAL truncates the data (i.e. data packets) this length
615 will be less than the actual length */
616 wpt_uint32 ulActualDataLen; /* actual length of data */
617 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
618 see specific wake type */
619} WDI_WakeReasonIndType;
620#endif // WLAN_WAKEUP_EVENTS
621
Srinivas Dasari32a79262015-02-19 13:04:49 +0530622typedef struct
623{
624 wpt_uint16 event_data_len;
625 wpt_uint8* event_data;
626} WDI_NanEventType;
627
628
Jeff Johnson295189b2012-06-20 16:38:30 -0700629/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800630 WDI_MissedBeaconIndType
631-----------------------------------------------------------------------------*/
632typedef struct
633{
634 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
635} WDI_MissedBeaconIndType;
636
Leo Chang9056f462013-08-01 19:21:11 -0700637#ifdef FEATURE_WLAN_LPHB
638/*---------------------------------------------------------------------------
639 WDI_LPHBTimeoutIndData
640-----------------------------------------------------------------------------*/
641typedef struct
642{
643 wpt_uint8 bssIdx;
644 wpt_uint8 sessionIdx;
645 wpt_uint8 protocolType; /*TCP or UDP*/
646 wpt_uint8 eventReason;
647} WDI_LPHBTimeoutIndData;
648#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800649
Yue Mab9c86f42013-08-14 15:59:08 -0700650/*-----------------------------------------------------------------------------
651WDI_PeriodicTxPtrnFwIndType
652-----------------------------------------------------------------------------*/
653typedef struct
654{
655 wpt_uint8 bssIdx;
656 wpt_uint32 selfStaIdx;
657 wpt_uint32 status;
658 wpt_uint32 patternIdBitmap;
659} WDI_PeriodicTxPtrnFwIndType;
660
Rajeev79dbe4c2013-10-05 11:03:42 +0530661#ifdef FEATURE_WLAN_BATCH_SCAN
662/*---------------------------------------------------------------------------
663 WDI_SetBatchScanReqType
664---------------------------------------------------------------------------*/
665typedef struct
666{
667 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
668 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
669 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
670 wpt_uint8 rfBand; /* band to scan :
671 0 ->both Band, 1->2.4Ghz Only
672 and 2-> 5GHz Only */
673 wpt_uint32 rtt; /* set if required to do RTT it is not
674 supported in current version */
675}WDI_SetBatchScanReqType;
676
677/*---------------------------------------------------------------------------
678 WDI_SetBatchScanRspType
679---------------------------------------------------------------------------*/
680typedef struct
681{
682 /*max number of scans which FW can cache*/
683 wpt_uint32 nScansToBatch;
684}WDI_SetBatchScanRspType;
685
686/*---------------------------------------------------------------------------
687 WDI_TriggerBatchScanResultIndType
688---------------------------------------------------------------------------*/
689typedef struct
690{
691 wpt_uint32 param;
692}WDI_TriggerBatchScanResultIndType;
693
694/*---------------------------------------------------------------------------
695 WDI_StopBatchScanIndType
696---------------------------------------------------------------------------*/
697typedef struct
698{
699 /*max number of scans which FW can cache*/
700 wpt_uint32 param;
701}WDI_StopBatchScanIndType;
702
703
704/*---------------------------------------------------------------------------
705 * WDI_BatchScanResultIndType
706 *--------------------------------------------------------------------------*/
707typedef struct
708{
709 wpt_uint32 bssid[6]; /* BSSID */
710 wpt_uint32 ssid[32]; /* SSID */
711 wpt_uint32 ch; /* Channel */
712 wpt_uint32 rssi; /* RSSI or Level */
713 /* Timestamp when Network was found. Used to calculate age based on
714 timestamp in GET_RSP msg header */
715 wpt_uint32 timestamp;
716} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
717
718typedef struct
719{
720 wpt_uint32 scanId; /*Scan List ID*/
721 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
722 wpt_uint32 numNetworksInScanList;
723 /*Variable data ptr: Number of AP in Scan List*/
724 wpt_uint32 scanList[1];
725} tWDIBatchScanList, *tpWDIBatchScanList;
726
727typedef struct
728{
729 wpt_uint32 timestamp;
730 wpt_uint32 numScanLists;
731 wpt_boolean isLastResult;
732 /* Variable Data ptr: Number of Scan Lists*/
733 wpt_uint32 scanResults[1];
734} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
735
736#endif
737
738
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800739/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700740 WDI_IbssPeerInactivityIndType
741-----------------------------------------------------------------------------*/
742typedef struct
743{
744 wpt_uint8 bssIdx;
745 wpt_uint8 staIdx;
746 wpt_macAddr staMacAddr;
747}WDI_IbssPeerInactivityIndType;
748
749/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700750 WDI_TxRateFlags
751-----------------------------------------------------------------------------*/
752typedef enum
753{
754 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
755 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
756 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
757 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
758 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
759 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
760 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
761 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
762 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
763} WDI_TxRateFlags;
764
765/*---------------------------------------------------------------------------
766 WDI_RateUpdateIndParams
767-----------------------------------------------------------------------------*/
768typedef struct
769{
770 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
771 * param ucastDataRate can be used to control RA behavior of unicast data to
772 */
773 wpt_int32 ucastDataRate;
774
775 /* TX flag to differentiate between HT20, HT40 etc */
776 WDI_TxRateFlags ucastDataRateTxFlag;
777
778 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
779 wpt_macAddr bssid;
780
781 /*
782 * 0 implies MCAST RA, positive value implies fixed rate,
783 * -1 implies ignore this param
784 */
785 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
786
787 /* TX flag to differentiate between HT20, HT40 etc */
788 WDI_TxRateFlags reliableMcastDataRateTxFlag;
789
790 /*
791 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
792 * 0 implies ignore
793 */
794 wpt_uint32 mcastDataRate24GHz;
795
796 /* TX flag to differentiate between HT20, HT40 etc */
797 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
798
799 /*
800 * MCAST(or BCAST) fixed data rate in 5 GHz,
801 * unit Mbpsx10, 0 implies ignore
802 */
803 wpt_uint32 mcastDataRate5GHz;
804
805 /* TX flag to differentiate between HT20, HT40 etc */
806 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
807
808 /*
809 * Request status callback offered by UMAC - it is called if the current
810 * req has returned PENDING as status; it delivers the status of sending
811 * the message over the BUS
812 */
813 WDI_ReqStatusCb wdiReqStatusCB;
814
815 /*
816 * The user data passed in by UMAC, it will be sent back when the above
817 * function pointer will be called
818 */
819 void *pUserData;
820
821} WDI_RateUpdateIndParams;
822
Abhishek Singh85b74712014-10-08 11:38:19 +0530823typedef struct
824{
825 wpt_uint32 ubsp_enter_cnt;
826 wpt_uint32 ubsp_jump_ddr_cnt;
827}ubspFwStats;
828
829typedef struct
830{
831 wpt_uint32 type;
832 /*data*/
833 union{
834 ubspFwStats ubspStats;
835 }wdiFwStatsData;
836} WDI_FWStatsResults;
837
Leo Chang0b0e45a2013-12-15 15:18:55 -0800838#ifdef FEATURE_WLAN_CH_AVOID
Abhishek Singhe34eb552015-06-18 10:12:15 +0530839#define WDI_CH_AVOID_MAX_RANGE 15
Leo Chang0b0e45a2013-12-15 15:18:55 -0800840
841typedef struct
842{
843 wpt_uint32 startFreq;
844 wpt_uint32 endFreq;
845} WDI_ChAvoidFreqType;
846
847typedef struct
848{
849 wpt_uint32 avoidRangeCount;
850 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
851} WDI_ChAvoidIndType;
852#endif /* FEATURE_WLAN_CH_AVOID */
853
Dino Mycled3d50022014-07-07 12:58:25 +0530854#ifdef WLAN_FEATURE_LINK_LAYER_STATS
855typedef struct
856{
857 void *pLinkLayerStatsResults;
858 wpt_macAddr macAddr;
859} WDI_LinkLayerStatsResults;
860
861#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530862
863typedef struct
864{
865 /*STA Index*/
866 wpt_uint16 staIdx;
867
868 /*Peer MAC*/
869 wpt_macAddr peerMacAddr;
870
871 // TID for which a BA session timeout is being triggered
872 wpt_uint8 baTID;
873 // DELBA direction
874 // 1 - Originator
875 // 0 - Recipient
876 wpt_uint8 baDirection;
877 wpt_uint32 reasonCode;
878 /*MAC ADDR of STA*/
879 wpt_macAddr bssId; // TO SUPPORT BT-AMP
880} WDI_DeleteBAIndType;
881
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530882typedef struct
883{
884 wpt_uint32 tx_complete_status;
885 wpt_uint32 tx_bd_token;
886} WDI_TxBDStatus;
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700887/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700888 WDI_LowLevelIndType
889 Inidcation type and information about the indication being carried
890 over
891---------------------------------------------------------------------------*/
892typedef struct
893{
894 /*Inidcation type*/
895 WDI_LowLevelIndEnumType wdiIndicationType;
896
897 /*Indication data*/
898 union
899 {
900 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
901 WDI_LowRSSIThIndType wdiLowRSSIInfo;
902
903 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
904 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
905
906 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
907 WDI_MicFailureIndType wdiMICFailureInfo;
908
909 /*Error code for WDI_FATAL_ERROR_IND*/
910 wpt_uint16 usErrorCode;
911
912 /*Delete STA Indication*/
913 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
914
915 /*Coex Indication*/
916 WDI_CoexIndType wdiCoexInfo;
917
918 /* Tx Complete Indication */
919 wpt_uint32 tx_complete_status;
920
Jeff Johnson295189b2012-06-20 16:38:30 -0700921 /* P2P NOA ATTR Indication */
922 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800923 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530924 /* TDLS Indications */
925 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700926
927
928#ifdef FEATURE_WLAN_SCAN_PNO
929 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
930#endif // FEATURE_WLAN_SCAN_PNO
931
932#ifdef WLAN_WAKEUP_EVENTS
933 WDI_WakeReasonIndType wdiWakeReasonInd;
934#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800935 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700936
Leo Chang9056f462013-08-01 19:21:11 -0700937#ifdef FEATURE_WLAN_LPHB
938 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
939#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700940
941 /* IBSS Peer Inactivity Indication */
942 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
943
Yue Mab9c86f42013-08-14 15:59:08 -0700944 /* Periodic TX Pattern FW Indication */
945 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530946
947#ifdef FEATURE_WLAN_BATCH_SCAN
948 /*batch scan result indication from FW*/
949 void *pBatchScanResult;
950#endif
951
Leo Chang0b0e45a2013-12-15 15:18:55 -0800952#ifdef FEATURE_WLAN_CH_AVOID
953 WDI_ChAvoidIndType wdiChAvoidInd;
954#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530955
956#ifdef WLAN_FEATURE_LINK_LAYER_STATS
957 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530958 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530959#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530960#ifdef WLAN_FEATURE_EXTSCAN
961 /*EXTSCAN Results from FW*/
962 void *pEXTScanIndData;
963#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530964 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +0530965
966 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530967
968 WDI_TxBDStatus wdiTxBdInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700969 } wdiIndicationData;
970}WDI_LowLevelIndType;
971
972/*---------------------------------------------------------------------------
973 WDI_LowLevelIndCBType
974
975 DESCRIPTION
976
977 This callback is invoked by DAL to deliver to UMAC certain indications
978 that has either received from the lower device or has generated itself.
979
980 PARAMETERS
981
982 IN
983 pwdiInd: information about the indication sent over
984 pUserData: user data provided by UMAC during registration
985
986
987
988 RETURN VALUE
989 The result code associated with performing the operation
990---------------------------------------------------------------------------*/
991typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
992 void* pUserData);
993
994/*---------------------------------------------------------------------------
995 WDI_DriverType
996---------------------------------------------------------------------------*/
997typedef enum
998{
999 WDI_DRIVER_TYPE_PRODUCTION = 0,
1000 WDI_DRIVER_TYPE_MFG = 1,
1001 WDI_DRIVER_TYPE_DVT = 2
1002} WDI_DriverType;
1003
1004/*---------------------------------------------------------------------------
1005 WDI_StartReqParamsType
1006---------------------------------------------------------------------------*/
1007typedef struct
1008{
1009 /*This is a TLV formatted buffer containing all config values that can
1010 be set through the DAL Interface
1011
1012 The TLV is expected to be formatted like this:
1013
1014 0 7 15 31 ....
1015 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1016
1017 Or from a C construct point of VU it would look like this:
1018
1019 typedef struct WPT_PACK_POST
1020 {
1021 #ifdef WPT_BIG_ENDIAN
1022 wpt_uint32 ucCfgId:8;
1023 wpt_uint32 ucCfgLen:8;
1024 wpt_uint32 usReserved:16;
1025 #else
1026 wpt_uint32 usReserved:16;
1027 wpt_uint32 ucCfgLen:8;
1028 wpt_uint32 ucCfgId:8;
1029 #endif
1030
1031 wpt_uint8 ucCfgBody[ucCfgLen];
1032 }WDI_ConfigType;
1033
1034 Multiple such tuplets are to be placed in the config buffer. One for
1035 each required configuration item:
1036
1037 | TLV 1 | TLV2 | ....
1038
1039 The buffer is expected to be a flat area of memory that can be manipulated
1040 with standard memory routines.
1041
1042 For more info please check paragraph 2.3.1 Config Structure from the
1043 HAL LLD.
1044
1045 For a list of accepted configuration list and IDs please look up
1046 wlan_qct_dal_cfg.h
1047
1048 */
1049 void* pConfigBuffer;
1050
1051 /*Length of the config buffer above*/
1052 wpt_uint16 usConfigBufferLen;
1053
1054 /*Production or FTM driver*/
1055 WDI_DriverType wdiDriverType;
1056
1057 /*Should device enable frame translation */
1058 wpt_uint8 bFrameTransEnabled;
1059
1060 /*Request status callback offered by UMAC - it is called if the current
1061 req has returned PENDING as status; it delivers the status of sending
1062 the message over the BUS */
1063 WDI_ReqStatusCb wdiReqStatusCB;
1064
1065 /*The user data passed in by UMAC, it will be sent back when the above
1066 function pointer will be called */
1067 void* pUserData;
1068
1069 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1070 wishes to send something back independent of a request*/
1071 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1072
1073 /*The user data passed in by UMAC, it will be sent back when the indication
1074 function pointer will be called */
1075 void* pIndUserData;
1076}WDI_StartReqParamsType;
1077
1078
1079/*---------------------------------------------------------------------------
1080 WDI_StartRspParamsType
1081---------------------------------------------------------------------------*/
1082typedef struct
1083{
1084 /*Status of the response*/
1085 WDI_Status wdiStatus;
1086
1087 /*Max number of STA supported by the device*/
1088 wpt_uint8 ucMaxStations;
1089
1090 /*Max number of BSS supported by the device*/
1091 wpt_uint8 ucMaxBssids;
1092
1093 /*Version of the WLAN HAL API with which we were compiled*/
1094 WDI_WlanVersionType wlanCompiledVersion;
1095
1096 /*Version of the WLAN HAL API that was reported*/
1097 WDI_WlanVersionType wlanReportedVersion;
1098
1099 /*WCNSS Software version string*/
1100 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1101
1102 /*WCNSS Hardware version string*/
1103 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1104}WDI_StartRspParamsType;
1105
1106
1107/*---------------------------------------------------------------------------
1108 WDI_StopType
1109---------------------------------------------------------------------------*/
1110typedef enum
1111{
1112 /*Device is being stopped due to a reset*/
1113 WDI_STOP_TYPE_SYS_RESET,
1114
1115 /*Device is being stopped due to entering deep sleep*/
1116 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1117
1118 /*Device is being stopped because the RF needs to shut off
1119 (e.g.:Airplane mode)*/
1120 WDI_STOP_TYPE_RF_KILL
1121}WDI_StopType;
1122
1123/*---------------------------------------------------------------------------
1124 WDI_StopReqParamsType
1125---------------------------------------------------------------------------*/
1126typedef struct
1127{
1128
1129 /*The reason for which the device is being stopped*/
1130 WDI_StopType wdiStopReason;
1131
1132 /*Request status callback offered by UMAC - it is called if the current
1133 req has returned PENDING as status; it delivers the status of sending
1134 the message over the BUS */
1135 WDI_ReqStatusCb wdiReqStatusCB;
1136
1137 /*The user data passed in by UMAC, it will be sent back when the above
1138 function pointer will be called */
1139 void* pUserData;
1140}WDI_StopReqParamsType;
1141
1142
1143/*---------------------------------------------------------------------------
1144 WDI_ScanMode
1145---------------------------------------------------------------------------*/
1146typedef enum
1147{
1148 WDI_SCAN_MODE_NORMAL = 0,
1149 WDI_SCAN_MODE_LEARN,
1150 WDI_SCAN_MODE_SCAN,
1151 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001152 WDI_SCAN_MODE_SUSPEND_LINK,
1153 WDI_SCAN_MODE_ROAM_SCAN,
1154 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1155
Jeff Johnson295189b2012-06-20 16:38:30 -07001156} WDI_ScanMode;
1157
1158/*---------------------------------------------------------------------------
1159 WDI_ScanEntry
1160---------------------------------------------------------------------------*/
1161typedef struct
1162{
1163 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1164 wpt_uint8 activeBSScnt;
1165}WDI_ScanEntry;
1166
1167/*---------------------------------------------------------------------------
1168 WDI_InitScanReqInfoType
1169---------------------------------------------------------------------------*/
1170typedef struct
1171{
1172 /*LEARN - AP Role
1173 SCAN - STA Role*/
1174 WDI_ScanMode wdiScanMode;
1175
1176 /*BSSID of the BSS*/
1177 wpt_macAddr macBSSID;
1178
1179 /*Whether BSS needs to be notified*/
1180 wpt_boolean bNotifyBSS;
1181
1182 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1183 CTS to Self). Must always be a valid frame type.*/
1184 wpt_uint8 ucFrameType;
1185
1186 /*UMAC has the option of passing the MAC frame to be used for notifying
1187 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1188 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1189 frameType.*/
1190 wpt_uint8 ucFrameLength;
1191
1192 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1193 WDI_MacMgmtHdr wdiMACMgmtHdr;
1194
1195 /*Entry to hold number of active BSS to send NULL frames before
1196 * initiating SCAN*/
1197 WDI_ScanEntry wdiScanEntry;
1198
1199 /* Flag to enable/disable Single NOA*/
1200 wpt_boolean bUseNOA;
1201
1202 /* Indicates the scan duration (in ms) */
1203 wpt_uint16 scanDuration;
1204
1205}WDI_InitScanReqInfoType;
1206
1207/*---------------------------------------------------------------------------
1208 WDI_InitScanReqParamsType
1209---------------------------------------------------------------------------*/
1210typedef struct
1211{
1212 /*The info associated with the request that needs to be sent over to the
1213 device*/
1214 WDI_InitScanReqInfoType wdiReqInfo;
1215
1216 /*Request status callback offered by UMAC - it is called if the current
1217 req has returned PENDING as status; it delivers the status of sending
1218 the message over the BUS */
1219 WDI_ReqStatusCb wdiReqStatusCB;
1220
1221 /*The user data passed in by UMAC, it will be sent back when the above
1222 function pointer will be called */
1223 void* pUserData;
1224}WDI_InitScanReqParamsType;
1225
1226/*---------------------------------------------------------------------------
1227 WDI_StartScanReqParamsType
1228---------------------------------------------------------------------------*/
1229typedef struct
1230{
1231 /*Indicates the channel to scan*/
1232 wpt_uint8 ucChannel;
1233
1234 /*Request status callback offered by UMAC - it is called if the current
1235 req has returned PENDING as status; it delivers the status of sending
1236 the message over the BUS */
1237 WDI_ReqStatusCb wdiReqStatusCB;
1238
1239 /*The user data passed in by UMAC, it will be sent back when the above
1240 function pointer will be called */
1241 void* pUserData;
1242}WDI_StartScanReqParamsType;
1243
1244/*---------------------------------------------------------------------------
1245 WDI_StartScanRspParamsType
1246---------------------------------------------------------------------------*/
1247typedef struct
1248{
1249 /*Indicates the status of the operation */
1250 WDI_Status wdiStatus;
1251
1252#if defined WLAN_FEATURE_VOWIFI
1253 wpt_uint32 aStartTSF[2];
1254 wpt_int8 ucTxMgmtPower;
1255#endif
1256}WDI_StartScanRspParamsType;
1257
1258/*---------------------------------------------------------------------------
1259 WDI_EndScanReqParamsType
1260---------------------------------------------------------------------------*/
1261typedef struct
1262{
1263 /*Indicates the channel to stop scanning. Not used really. But retained
1264 for symmetry with "start Scan" message. It can also help in error
1265 check if needed.*/
1266 wpt_uint8 ucChannel;
1267
1268 /*Request status callback offered by UMAC - it is called if the current
1269 req has returned PENDING as status; it delivers the status of sending
1270 the message over the BUS */
1271 WDI_ReqStatusCb wdiReqStatusCB;
1272
1273 /*The user data passed in by UMAC, it will be sent back when the above
1274 function pointer will be called */
1275 void* pUserData;
1276}WDI_EndScanReqParamsType;
1277
1278/*---------------------------------------------------------------------------
1279 WDI_PhyChanBondState
1280---------------------------------------------------------------------------*/
1281typedef enum
1282{
1283 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1284 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1285 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001286 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1287#ifdef WLAN_FEATURE_11AC
1288 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1289 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1290 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1291 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1292 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1293 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1294 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1295#endif
1296 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001297} WDI_PhyChanBondState;
1298
1299/*---------------------------------------------------------------------------
1300 WDI_FinishScanReqInfoType
1301---------------------------------------------------------------------------*/
1302typedef struct
1303{
1304 /*LEARN - AP Role
1305 SCAN - STA Role*/
1306 WDI_ScanMode wdiScanMode;
1307
1308 /*Operating channel to tune to.*/
1309 wpt_uint8 ucCurrentOperatingChannel;
1310
1311 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1312 40 MHz extension channel in combination with the control channel*/
1313 WDI_PhyChanBondState wdiCBState;
1314
1315 /*BSSID of the BSS*/
1316 wpt_macAddr macBSSID;
1317
1318 /*Whether BSS needs to be notified*/
1319 wpt_boolean bNotifyBSS;
1320
1321 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1322 CTS to Self). Must always be a valid frame type.*/
1323 wpt_uint8 ucFrameType;
1324
1325 /*UMAC has the option of passing the MAC frame to be used for notifying
1326 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1327 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1328 frameType.*/
1329 wpt_uint8 ucFrameLength;
1330
1331 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1332 WDI_MacMgmtHdr wdiMACMgmtHdr;
1333
1334 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1335 WDI_ScanEntry wdiScanEntry;
1336
1337}WDI_FinishScanReqInfoType;
1338
1339/*---------------------------------------------------------------------------
1340 WDI_SwitchChReqInfoType
1341---------------------------------------------------------------------------*/
1342typedef struct
1343{
1344 /*Indicates the channel to switch to.*/
1345 wpt_uint8 ucChannel;
1346
1347 /*Local power constraint*/
1348 wpt_uint8 ucLocalPowerConstraint;
1349
1350 /*Secondary channel offset */
1351 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1352
1353#ifdef WLAN_FEATURE_VOWIFI
1354 wpt_int8 cMaxTxPower;
1355
1356 /*Self STA Mac address*/
1357 wpt_macAddr macSelfStaMacAddr;
1358#endif
1359 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1360 request has power constraints, this should be applied only to that session */
1361 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1362 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1363 */
1364 wpt_macAddr macBSSId;
1365
1366}WDI_SwitchChReqInfoType;
1367
1368/*---------------------------------------------------------------------------
1369 WDI_SwitchChReqParamsType
1370---------------------------------------------------------------------------*/
1371typedef struct
1372{
1373 /*Channel Info*/
1374 WDI_SwitchChReqInfoType wdiChInfo;
1375
1376 /*Request status callback offered by UMAC - it is called if the current
1377 req has returned PENDING as status; it delivers the status of sending
1378 the message over the BUS */
1379 WDI_ReqStatusCb wdiReqStatusCB;
1380
1381 /*The user data passed in by UMAC, it will be sent back when the above
1382 function pointer will be called */
1383 void* pUserData;
1384}WDI_SwitchChReqParamsType;
1385
1386/*---------------------------------------------------------------------------
1387 WDI_FinishScanReqParamsType
1388---------------------------------------------------------------------------*/
1389typedef struct
1390{
1391 /*Info for the Finish Scan request that will be sent down to the device*/
1392 WDI_FinishScanReqInfoType wdiReqInfo;
1393
1394 /*Request status callback offered by UMAC - it is called if the current
1395 req has returned PENDING as status; it delivers the status of sending
1396 the message over the BUS */
1397 WDI_ReqStatusCb wdiReqStatusCB;
1398
1399 /*The user data passed in by UMAC, it will be sent back when the above
1400 function pointer will be called */
1401 void* pUserData;
1402}WDI_FinishScanReqParamsType;
1403
1404/*---------------------------------------------------------------------------
1405 WDI_JoinReqInfoType
1406---------------------------------------------------------------------------*/
1407typedef struct
1408{
1409 /*Indicates the BSSID to which STA is going to associate*/
1410 wpt_macAddr macBSSID;
1411
1412 /*Indicates the MAC Address of the current Self STA*/
1413 wpt_macAddr macSTASelf;
1414
1415 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1416 wpt_uint32 linkState;
1417
1418 /*Indicates the channel to switch to.*/
1419 WDI_SwitchChReqInfoType wdiChannelInfo;
1420
1421}WDI_JoinReqInfoType;
1422
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001423typedef enum
1424{
1425 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1426 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1427 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1428 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1429 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1430} WDI_ChanSwitchSource;
1431
1432/*---------------------------------------------------------------------------
1433 WDI_SwitchChReqInfoType_V1
1434---------------------------------------------------------------------------*/
1435typedef struct
1436{
1437 /*Indicates the channel to switch to.*/
1438 wpt_uint8 ucChannel;
1439
1440 /*Local power constraint*/
1441 wpt_uint8 ucLocalPowerConstraint;
1442
1443 /*Secondary channel offset */
1444 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1445
1446#ifdef WLAN_FEATURE_VOWIFI
1447 wpt_int8 cMaxTxPower;
1448 /*Self STA Mac address*/
1449 wpt_macAddr macSelfStaMacAddr;
1450#endif
1451 /* VO Wifi comment: BSSID is needed to identify which session
1452 issued this request. As the request has power constraints, this
1453 should be applied only to that session
1454 */
1455 /* V IMP: Keep bssId field at the end of this msg. It is used to
1456 maintain backward compatibility by way of ignoring if using new
1457 host/old FW or old host/new FW since it is at the end of this struct
1458 */
1459 wpt_macAddr macBSSId;
1460 /* Source of Channel Switch */
1461 WDI_ChanSwitchSource channelSwitchSrc;
1462}WDI_SwitchChReqInfoType_V1;
1463
1464/*--------------------------------------------------------------------
1465 WDI_SwitchChReqParamsType_V1
1466----------------------------------------------------------------------*/
1467typedef struct
1468{
1469 /*Channel Info*/
1470 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1471
1472 /*Request status callback offered by UMAC - it is called if the current
1473 req has returned PENDING as status; it delivers the status of sending
1474 the message over the BUS */
1475 WDI_ReqStatusCb wdiReqStatusCB;
1476
1477 /*The user data passed in by UMAC, it will be sent back when the above
1478 function pointer will be called */
1479 void* pUserData;
1480}WDI_SwitchChReqParamsType_V1;
1481
Jeff Johnson295189b2012-06-20 16:38:30 -07001482/*---------------------------------------------------------------------------
1483 WDI_JoinReqParamsType
1484---------------------------------------------------------------------------*/
1485typedef struct
1486{
1487 /*Info for the Join request that will be sent down to the device*/
1488 WDI_JoinReqInfoType wdiReqInfo;
1489
1490 /*Request status callback offered by UMAC - it is called if the current
1491 req has returned PENDING as status; it delivers the status of sending
1492 the message over the BUS */
1493 WDI_ReqStatusCb wdiReqStatusCB;
1494
1495 /*The user data passed in by UMAC, it will be sent back when the above
1496 function pointer will be called */
1497 void* pUserData;
1498}WDI_JoinReqParamsType;
1499
1500/*---------------------------------------------------------------------------
1501 WDI_BssType
1502---------------------------------------------------------------------------*/
1503typedef enum
1504{
1505 WDI_INFRASTRUCTURE_MODE,
1506 WDI_INFRA_AP_MODE, //Added for softAP support
1507 WDI_IBSS_MODE,
1508 WDI_BTAMP_STA_MODE,
1509 WDI_BTAMP_AP_MODE,
1510 WDI_BSS_AUTO_MODE,
1511}WDI_BssType;
1512
1513/*---------------------------------------------------------------------------
1514 WDI_NwType
1515---------------------------------------------------------------------------*/
1516typedef enum
1517{
1518 WDI_11A_NW_TYPE,
1519 WDI_11B_NW_TYPE,
1520 WDI_11G_NW_TYPE,
1521 WDI_11N_NW_TYPE,
1522} WDI_NwType;
1523
1524/*---------------------------------------------------------------------------
1525 WDI_ConfigAction
1526---------------------------------------------------------------------------*/
1527typedef enum
1528{
1529 WDI_ADD_BSS,
1530 WDI_UPDATE_BSS
1531} WDI_ConfigAction;
1532
1533/*---------------------------------------------------------------------------
1534 WDI_HTOperatingMode
1535---------------------------------------------------------------------------*/
1536typedef enum
1537{
1538 WDI_HT_OP_MODE_PURE,
1539 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1540 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1541 WDI_HT_OP_MODE_MIXED
1542
1543} WDI_HTOperatingMode;
1544
1545
1546/*---------------------------------------------------------------------------
1547 WDI_STAEntryType
1548---------------------------------------------------------------------------*/
1549typedef enum
1550{
1551 WDI_STA_ENTRY_SELF,
1552 WDI_STA_ENTRY_PEER,
1553 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001554 WDI_STA_ENTRY_BCAST,
1555#ifdef FEATURE_WLAN_TDLS
1556 WDI_STA_ENTRY_TDLS_PEER,
1557#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001558}WDI_STAEntryType;
1559
1560/*---------------------------------------------------------------------------
1561 WDI_ConfigActionType
1562---------------------------------------------------------------------------*/
1563typedef enum
1564{
1565 WDI_ADD_STA,
1566 WDI_UPDATE_STA
1567} WDI_ConfigActionType;
1568
1569/*----------------------------------------------------------------------------
1570 Each station added has a rate mode which specifies the sta attributes
1571 ----------------------------------------------------------------------------*/
1572typedef enum
1573{
1574 WDI_RESERVED_1 = 0,
1575 WDI_RESERVED_2,
1576 WDI_RESERVED_3,
1577 WDI_11b,
1578 WDI_11bg,
1579 WDI_11a,
1580 WDI_11n,
1581} WDI_RateModeType;
1582
1583/*---------------------------------------------------------------------------
1584 WDI_SupportedRatesType
1585---------------------------------------------------------------------------*/
1586typedef struct
1587{
1588 /*
1589 * For Self STA Entry: this represents Self Mode.
1590 * For Peer Stations, this represents the mode of the peer.
1591 * On Station:
1592 * --this mode is updated when PE adds the Self Entry.
1593 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1594 * ON AP:
1595 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1596 * to indicate the self mode of the AP.
1597 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1598 */
1599
1600 WDI_RateModeType opRateMode;
1601
1602 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1603 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1604 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1605 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1606
1607 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1608 First 26 bits are reserved for those Titan rates and
1609 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1610 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1611
1612 /*
1613 * 0-76 bits used, remaining reserved
1614 * bits 0-15 and 32 should be set.
1615 */
1616 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1617
1618 /*
1619 * RX Highest Supported Data Rate defines the highest data
1620 * rate that the STA is able to receive, in unites of 1Mbps.
1621 * This value is derived from "Supported MCS Set field" inside
1622 * the HT capability element.
1623 */
1624 wpt_uint16 aRxHighestDataRate;
1625
Jeff Johnsone7245742012-09-05 17:12:55 -07001626
1627#ifdef WLAN_FEATURE_11AC
1628 /*Indicates the Maximum MCS that can be received for each number
1629 of spacial streams */
1630 wpt_uint16 vhtRxMCSMap;
1631 /*Indicate the highest VHT data rate that the STA is able to receive*/
1632 wpt_uint16 vhtRxHighestDataRate;
1633 /*Indicates the Maximum MCS that can be transmitted for each number
1634 of spacial streams */
1635 wpt_uint16 vhtTxMCSMap;
1636 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1637 wpt_uint16 vhtTxHighestDataRate;
1638#endif
1639
Jeff Johnson295189b2012-06-20 16:38:30 -07001640} WDI_SupportedRates;
1641
1642/*--------------------------------------------------------------------------
1643 WDI_HTMIMOPowerSaveState
1644 Spatial Multiplexing(SM) Power Save mode
1645 --------------------------------------------------------------------------*/
1646typedef enum
1647{
1648 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1649 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1650 WDI_HT_MIMO_PS_NA = 2, // reserved
1651 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1652} WDI_HTMIMOPowerSaveState;
1653
1654/*---------------------------------------------------------------------------
1655 WDI_ConfigStaReqInfoType
1656---------------------------------------------------------------------------*/
1657typedef struct
1658{
1659 /*BSSID of STA*/
1660 wpt_macAddr macBSSID;
1661
1662 /*ASSOC ID, as assigned by UMAC*/
1663 wpt_uint16 usAssocId;
1664
1665 /*Used for configuration of different HW modules.*/
1666 WDI_STAEntryType wdiSTAType;
1667
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001668 /*STA Index */
1669 wpt_uint8 staIdx;
1670
Jeff Johnson295189b2012-06-20 16:38:30 -07001671 /*Short Preamble Supported.*/
1672 wpt_uint8 ucShortPreambleSupported;
1673
1674 /*MAC Address of STA*/
1675 wpt_macAddr macSTA;
1676
1677 /*Listen interval of the STA*/
1678 wpt_uint16 usListenInterval;
1679
1680 /*Support for 11e/WMM*/
1681 wpt_uint8 ucWMMEnabled;
1682
1683 /*11n HT capable STA*/
1684 wpt_uint8 ucHTCapable;
1685
1686 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1687 wpt_uint8 ucTXChannelWidthSet;
1688
1689 /*RIFS mode 0 - NA, 1 - Allowed*/
1690 wpt_uint8 ucRIFSMode;
1691
1692 /*L-SIG TXOP Protection mechanism
1693 0 - No Support, 1 - Supported
1694 SG - there is global field*/
1695 wpt_uint8 ucLSIGTxopProtection;
1696
1697 /*Max Ampdu Size supported by STA. Device programming.
1698 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1699 wpt_uint8 ucMaxAmpduSize;
1700
1701 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1702 wpt_uint8 ucMaxAmpduDensity;
1703
1704 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1705 wpt_uint8 ucMaxAmsduSize;
1706
1707 /*Short GI support for 40Mhz packets*/
1708 wpt_uint8 ucShortGI40Mhz;
1709
1710 /*Short GI support for 20Mhz packets*/
1711 wpt_uint8 ucShortGI20Mhz;
1712
1713 /*These rates are the intersection of peer and self capabilities.*/
1714 WDI_SupportedRates wdiSupportedRates;
1715
1716 /*Robust Management Frame (RMF) enabled/disabled*/
1717 wpt_uint8 ucRMFEnabled;
1718
1719 /* The unicast encryption type in the association */
1720 wpt_uint32 ucEncryptType;
1721
1722 /*HAL should update the existing STA entry, if this flag is set. UMAC
1723 will set this flag in case of RE-ASSOC, where we want to reuse the old
1724 STA ID.*/
1725 WDI_ConfigActionType wdiAction;
1726
1727 /*U-APSD Flags: 1b per AC. Encoded as follows:
1728 b7 b6 b5 b4 b3 b2 b1 b0 =
1729 X X X X BE BK VI VO
1730 */
1731 wpt_uint8 ucAPSD;
1732
1733 /*Max SP Length*/
1734 wpt_uint8 ucMaxSPLen;
1735
1736 /*11n Green Field preamble support*/
1737 wpt_uint8 ucGreenFieldCapable;
1738
1739 /*MIMO Power Save mode*/
1740 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1741
1742 /*Delayed BA Support*/
1743 wpt_uint8 ucDelayedBASupport;
1744
1745 /*Max AMPDU duration in 32us*/
1746 wpt_uint8 us32MaxAmpduDuratio;
1747
1748 /*HT STA should set it to 1 if it is enabled in BSS
1749 HT STA should set it to 0 if AP does not support it. This indication is
1750 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1751 */
1752 wpt_uint8 ucDsssCckMode40Mhz;
1753
1754 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001755#ifdef WLAN_FEATURE_11AC
1756 wpt_uint8 ucVhtCapableSta;
1757 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001758 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301759 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001760#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001761
1762 wpt_uint8 ucHtLdpcEnabled;
1763 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001764}WDI_ConfigStaReqInfoType;
1765
1766
1767/*---------------------------------------------------------------------------
1768 WDI_RateSet
1769
1770 12 Bytes long because this structure can be used to represent rate
1771 and extended rate set IEs
1772 The parser assume this to be at least 12
1773---------------------------------------------------------------------------*/
1774#define WDI_RATESET_EID_MAX 12
1775
1776typedef struct
1777{
1778 wpt_uint8 ucNumRates;
1779 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1780} WDI_RateSet;
1781
1782/*---------------------------------------------------------------------------
1783 WDI_AciAifsnType
1784 access category record
1785---------------------------------------------------------------------------*/
1786typedef struct
1787{
1788 wpt_uint8 rsvd : 1;
1789 wpt_uint8 aci : 2;
1790 wpt_uint8 acm : 1;
1791 wpt_uint8 aifsn : 4;
1792} WDI_AciAifsnType;
1793
1794/*---------------------------------------------------------------------------
1795 WDI_CWType
1796 contention window size
1797---------------------------------------------------------------------------*/
1798typedef struct
1799{
1800 wpt_uint8 max : 4;
1801 wpt_uint8 min : 4;
1802} WDI_CWType;
1803
1804/*---------------------------------------------------------------------------
1805 WDI_EdcaParamRecord
1806---------------------------------------------------------------------------*/
1807typedef struct
1808{
1809 /*Access Category Record*/
1810 WDI_AciAifsnType wdiACI;
1811
1812 /*Contention WIndow Size*/
1813 WDI_CWType wdiCW;
1814
1815 /*TX Oportunity Limit*/
1816 wpt_uint16 usTXOPLimit;
1817} WDI_EdcaParamRecord;
1818
1819/*---------------------------------------------------------------------------
1820 WDI_EDCAParamsType
1821---------------------------------------------------------------------------*/
1822typedef struct
1823{
1824 /*BSS Index*/
1825 wpt_uint8 ucBSSIdx;
1826
1827 /*?*/
1828 wpt_boolean bHighPerformance;
1829
1830 /*Best Effort*/
1831 WDI_EdcaParamRecord wdiACBE;
1832
1833 /*Background*/
1834 WDI_EdcaParamRecord wdiACBK;
1835
1836 /*Video*/
1837 WDI_EdcaParamRecord wdiACVI;
1838
1839 /*Voice*/
1840 WDI_EdcaParamRecord acvo; // voice
1841} WDI_EDCAParamsType;
1842
1843/* operMode in ADD BSS message */
1844#define WDI_BSS_OPERATIONAL_MODE_AP 0
1845#define WDI_BSS_OPERATIONAL_MODE_STA 1
1846
1847/*---------------------------------------------------------------------------
1848 WDI_ConfigBSSRspParamsType
1849---------------------------------------------------------------------------*/
1850typedef struct
1851{
1852 /*Status of the response*/
1853 WDI_Status wdiStatus;
1854
1855 /*BSSID of the BSS*/
1856 wpt_macAddr macBSSID;
1857
1858 /*BSS Index*/
1859 wpt_uint8 ucBSSIdx;
1860
1861 /*Unicast DPU signature*/
1862 wpt_uint8 ucUcastSig;
1863
1864 /*Broadcast DPU Signature*/
1865 wpt_uint8 ucBcastSig;
1866
1867 /*MAC Address of STA*/
1868 wpt_macAddr macSTA;
1869
1870 /*BSS STA ID*/
1871 wpt_uint8 ucSTAIdx;
1872
1873#ifdef WLAN_FEATURE_VOWIFI
1874 /*HAL fills in the tx power used for mgmt frames in this field */
1875 wpt_int8 ucTxMgmtPower;
1876#endif
1877
1878}WDI_ConfigBSSRspParamsType;
1879
1880/*---------------------------------------------------------------------------
1881 WDI_DelBSSReqParamsType
1882---------------------------------------------------------------------------*/
1883typedef struct
1884{
1885 /*BSS Index of the BSS*/
1886 wpt_uint8 ucBssIdx;
1887
1888 /*Request status callback offered by UMAC - it is called if the current
1889 req has returned PENDING as status; it delivers the status of sending
1890 the message over the BUS */
1891 WDI_ReqStatusCb wdiReqStatusCB;
1892
1893 /*The user data passed in by UMAC, it will be sent back when the above
1894 function pointer will be called */
1895 void* pUserData;
1896}WDI_DelBSSReqParamsType;
1897
1898/*---------------------------------------------------------------------------
1899 WDI_DelBSSRspParamsType
1900---------------------------------------------------------------------------*/
1901typedef struct
1902{
1903 /*Status of the response*/
1904 WDI_Status wdiStatus;
1905
1906 /*BSSID of the BSS*/
1907 wpt_macAddr macBSSID;
1908
1909 wpt_uint8 ucBssIdx;
1910
1911}WDI_DelBSSRspParamsType;
1912
1913/*---------------------------------------------------------------------------
1914 WDI_ConfigSTARspParamsType
1915---------------------------------------------------------------------------*/
1916typedef struct
1917{
1918 /*Status of the response*/
1919 WDI_Status wdiStatus;
1920
1921 /*STA Idx allocated by HAL*/
1922 wpt_uint8 ucSTAIdx;
1923
1924 /*MAC Address of STA*/
1925 wpt_macAddr macSTA;
1926
1927 /* BSSID Index of BSS to which the station is associated */
1928 wpt_uint8 ucBssIdx;
1929
1930 /* DPU Index - PTK */
1931 wpt_uint8 ucDpuIndex;
1932
1933 /* Bcast DPU Index - GTK */
1934 wpt_uint8 ucBcastDpuIndex;
1935
1936 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1937 wpt_uint8 ucBcastMgmtDpuIdx;
1938
1939 /*Unicast DPU signature*/
1940 wpt_uint8 ucUcastSig;
1941
1942 /*Broadcast DPU Signature*/
1943 wpt_uint8 ucBcastSig;
1944
1945 /* IGTK DPU signature*/
1946 wpt_uint8 ucMgmtSig;
1947
1948}WDI_ConfigSTARspParamsType;
1949
1950/*---------------------------------------------------------------------------
1951 WDI_PostAssocRspParamsType
1952---------------------------------------------------------------------------*/
1953typedef struct
1954{
1955 /*Status of the response*/
1956 WDI_Status wdiStatus;
1957
1958 /*Parameters related to the BSS*/
1959 WDI_ConfigBSSRspParamsType bssParams;
1960
1961 /*Parameters related to the self STA*/
1962 WDI_ConfigSTARspParamsType staParams;
1963
1964}WDI_PostAssocRspParamsType;
1965
1966/*---------------------------------------------------------------------------
1967 WDI_DelSTAReqParamsType
1968---------------------------------------------------------------------------*/
1969typedef struct
1970{
1971 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1972 wpt_uint8 ucSTAIdx;
1973
1974 /*Request status callback offered by UMAC - it is called if the current
1975 req has returned PENDING as status; it delivers the status of sending
1976 the message over the BUS */
1977 WDI_ReqStatusCb wdiReqStatusCB;
1978
1979 /*The user data passed in by UMAC, it will be sent back when the above
1980 function pointer will be called */
1981 void* pUserData;
1982}WDI_DelSTAReqParamsType;
1983
1984/*---------------------------------------------------------------------------
1985 WDI_DelSTARspParamsType
1986---------------------------------------------------------------------------*/
1987typedef struct
1988{
1989 /*Status of the response*/
1990 WDI_Status wdiStatus;
1991
1992 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1993 wpt_uint8 ucSTAIdx;
1994}WDI_DelSTARspParamsType;
1995
1996/*---------------------------------------------------------------------------
1997 WDI_EncryptType
1998---------------------------------------------------------------------------*/
1999typedef enum
2000{
2001 WDI_ENCR_NONE,
2002 WDI_ENCR_WEP40,
2003 WDI_ENCR_WEP104,
2004 WDI_ENCR_TKIP,
2005 WDI_ENCR_CCMP,
2006#if defined(FEATURE_WLAN_WAPI)
2007 WDI_ENCR_WPI,
2008#endif
2009 WDI_ENCR_AES_128_CMAC
2010} WDI_EncryptType;
2011
2012/*---------------------------------------------------------------------------
2013 WDI_KeyDirectionType
2014---------------------------------------------------------------------------*/
2015typedef enum
2016{
2017 WDI_TX_ONLY,
2018 WDI_RX_ONLY,
2019 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002020 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002021 WDI_DONOT_USE_KEY_DIRECTION
2022} WDI_KeyDirectionType;
2023
2024#define WDI_MAX_ENCR_KEYS 4
2025#define WDI_MAX_KEY_LENGTH 32
2026#if defined(FEATURE_WLAN_WAPI)
2027#define WDI_MAX_KEY_RSC_LEN 16
2028#define WDI_WAPI_KEY_RSC_LEN 16
2029#else
2030#define WDI_MAX_KEY_RSC_LEN 8
2031#endif
2032
2033typedef struct
2034{
2035 /* Key ID */
2036 wpt_uint8 keyId;
2037 /* 0 for multicast */
2038 wpt_uint8 unicast;
2039 /* Key Direction */
2040 WDI_KeyDirectionType keyDirection;
2041 /* Usage is unknown */
2042 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2043 /* =1 for authenticator, =0 for supplicant */
2044 wpt_uint8 paeRole;
2045 wpt_uint16 keyLength;
2046 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2047
2048}WDI_KeysType;
2049
2050/*---------------------------------------------------------------------------
2051 WDI_SetBSSKeyReqInfoType
2052---------------------------------------------------------------------------*/
2053typedef struct
2054{
2055 /*BSS Index of the BSS*/
2056 wpt_uint8 ucBssIdx;
2057
2058 /*Encryption Type used with peer*/
2059 WDI_EncryptType wdiEncType;
2060
2061 /*Number of keys*/
2062 wpt_uint8 ucNumKeys;
2063
2064 /*Array of keys.*/
2065 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2066
2067 /*Control for Replay Count, 1= Single TID based replay count on Tx
2068 0 = Per TID based replay count on TX */
2069 wpt_uint8 ucSingleTidRc;
2070}WDI_SetBSSKeyReqInfoType;
2071
2072/*---------------------------------------------------------------------------
2073 WDI_SetBSSKeyReqParamsType
2074---------------------------------------------------------------------------*/
2075typedef struct
2076{
2077 /*Key Info */
2078 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2079
2080 /*Request status callback offered by UMAC - it is called if the current
2081 req has returned PENDING as status; it delivers the status of sending
2082 the message over the BUS */
2083 WDI_ReqStatusCb wdiReqStatusCB;
2084
2085 /*The user data passed in by UMAC, it will be sent back when the above
2086 function pointer will be called */
2087 void* pUserData;
2088}WDI_SetBSSKeyReqParamsType;
2089
2090/*---------------------------------------------------------------------------
2091 WDI_WepType
2092---------------------------------------------------------------------------*/
2093typedef enum
2094{
2095 WDI_WEP_STATIC,
2096 WDI_WEP_DYNAMIC
2097
2098} WDI_WepType;
2099
2100/*---------------------------------------------------------------------------
2101 WDI_RemoveBSSKeyReqInfoType
2102---------------------------------------------------------------------------*/
2103typedef struct
2104{
2105 /*BSS Index of the BSS*/
2106 wpt_uint8 ucBssIdx;
2107
2108 /*Encryption Type used with peer*/
2109 WDI_EncryptType wdiEncType;
2110
2111 /*Key Id*/
2112 wpt_uint8 ucKeyId;
2113
2114 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2115 keys*/
2116 WDI_WepType wdiWEPType;
2117}WDI_RemoveBSSKeyReqInfoType;
2118
2119/*---------------------------------------------------------------------------
2120 WDI_RemoveBSSKeyReqParamsType
2121---------------------------------------------------------------------------*/
2122typedef struct
2123{
2124 /*Key Info */
2125 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2126
2127 /*Request status callback offered by UMAC - it is called if the current
2128 req has returned PENDING as status; it delivers the status of sending
2129 the message over the BUS */
2130 WDI_ReqStatusCb wdiReqStatusCB;
2131
2132 /*The user data passed in by UMAC, it will be sent back when the above
2133 function pointer will be called */
2134 void* pUserData;
2135}WDI_RemoveBSSKeyReqParamsType;
2136
2137/*---------------------------------------------------------------------------
2138 WDI_SetSTAKeyReqInfoType
2139---------------------------------------------------------------------------*/
2140typedef struct
2141{
2142 /*STA Index*/
2143 wpt_uint8 ucSTAIdx;
2144
2145 /*Encryption Type used with peer*/
2146 WDI_EncryptType wdiEncType;
2147
2148 /*STATIC/DYNAMIC*/
2149 WDI_WepType wdiWEPType;
2150
2151 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2152 wpt_uint8 ucDefWEPIdx;
2153
2154 /*Number of keys*/
2155 wpt_uint8 ucNumKeys;
2156
2157 /*Array of keys.*/
2158 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2159
2160 /*Control for Replay Count, 1= Single TID based replay count on Tx
2161 0 = Per TID based replay count on TX */
2162 wpt_uint8 ucSingleTidRc;
2163}WDI_SetSTAKeyReqInfoType;
2164
2165/*---------------------------------------------------------------------------
2166 WDI_ConfigBSSReqInfoType
2167---------------------------------------------------------------------------*/
2168typedef struct
2169{
2170 /*Peer BSSID*/
2171 wpt_macAddr macBSSID;
2172
2173 /*Self MAC Address*/
2174 wpt_macAddr macSelfAddr;
2175
2176 /*BSS Type*/
2177 WDI_BssType wdiBSSType;
2178
2179 /*Operational Mode: AP =0, STA = 1*/
2180 wpt_uint8 ucOperMode;
2181
2182 /*Network Type*/
2183 WDI_NwType wdiNWType;
2184
2185 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2186 wpt_uint8 ucShortSlotTimeSupported;
2187
2188 /*Co-exist with 11a STA*/
2189 wpt_uint8 ucllaCoexist;
2190
2191 /*Co-exist with 11b STA*/
2192 wpt_uint8 ucllbCoexist;
2193
2194 /*Co-exist with 11g STA*/
2195 wpt_uint8 ucllgCoexist;
2196
2197 /*Coexistence with 11n STA*/
2198 wpt_uint8 ucHT20Coexist;
2199
2200 /*Non GF coexist flag*/
2201 wpt_uint8 ucllnNonGFCoexist;
2202
2203 /*TXOP protection support*/
2204 wpt_uint8 ucTXOPProtectionFullSupport;
2205
2206 /*RIFS mode*/
2207 wpt_uint8 ucRIFSMode;
2208
2209 /*Beacon Interval in TU*/
2210 wpt_uint16 usBeaconInterval;
2211
2212 /*DTIM period*/
2213 wpt_uint8 ucDTIMPeriod;
2214
2215 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2216 wpt_uint8 ucTXChannelWidthSet;
2217
2218 /*Operating channel*/
2219 wpt_uint8 ucCurrentOperChannel;
2220
2221 /*Extension channel for channel bonding*/
2222 wpt_uint8 ucCurrentExtChannel;
2223
2224 /*Context of the station being added in HW.*/
2225 WDI_ConfigStaReqInfoType wdiSTAContext;
2226
2227 /*SSID of the BSS*/
2228 WDI_MacSSid wdiSSID;
2229
2230 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2231 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2232 WDI_ConfigAction wdiAction;
2233
2234 /*Basic Rate Set*/
2235 WDI_RateSet wdiRateSet;
2236
2237 /*Enable/Disable HT capabilities of the BSS*/
2238 wpt_uint8 ucHTCapable;
2239
2240 /* Enable/Disable OBSS protection */
2241 wpt_uint8 ucObssProtEnabled;
2242
2243 /*RMF enabled/disabled*/
2244 wpt_uint8 ucRMFEnabled;
2245
2246 /*Determines the current HT Operating Mode operating mode of the
2247 802.11n STA*/
2248 WDI_HTOperatingMode wdiHTOperMod;
2249
2250 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2251 wpt_uint8 ucDualCTSProtection;
2252
2253 /* Probe Response Max retries */
2254 wpt_uint8 ucMaxProbeRespRetryLimit;
2255
2256 /* To Enable Hidden ssid */
2257 wpt_uint8 bHiddenSSIDEn;
2258
2259 /* To Enable Disable FW Proxy Probe Resp */
2260 wpt_uint8 bProxyProbeRespEn;
2261
2262 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2263 EDCA params or might not desire to apply EDCA params during config BSS.
2264 0 implies Not Valid ; Non-Zero implies valid*/
2265 wpt_uint8 ucEDCAParamsValid;
2266
2267 /*EDCA Parameters for BK*/
2268 WDI_EdcaParamRecord wdiBKEDCAParams;
2269
2270 /*EDCA Parameters for BE*/
2271 WDI_EdcaParamRecord wdiBEEDCAParams;
2272
2273 /*EDCA Parameters for VI*/
2274 WDI_EdcaParamRecord wdiVIEDCAParams;
2275
2276 /*EDCA Parameters for VO*/
2277 WDI_EdcaParamRecord wdiVOEDCAParams;
2278
2279#ifdef WLAN_FEATURE_VOWIFI
2280 /*max power to be used after applying the power constraint, if any */
2281 wpt_int8 cMaxTxPower;
2282#endif
2283
2284 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2285 wpt_uint8 ucPersona;
2286
2287 /* Spectrum Mangement Indicator */
2288 wpt_uint8 bSpectrumMgtEn;
2289
2290#ifdef WLAN_FEATURE_VOWIFI_11R
2291 wpt_uint8 bExtSetStaKeyParamValid;
2292 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2293#endif
2294
Jeff Johnsone7245742012-09-05 17:12:55 -07002295#ifdef WLAN_FEATURE_11AC
2296 wpt_uint8 ucVhtCapableSta;
2297 wpt_uint8 ucVhtTxChannelWidthSet;
2298#endif
2299
Jeff Johnson295189b2012-06-20 16:38:30 -07002300}WDI_ConfigBSSReqInfoType;
2301
2302/*---------------------------------------------------------------------------
2303 WDI_PostAssocReqParamsType
2304---------------------------------------------------------------------------*/
2305typedef struct
2306{
2307 /*Config STA arguments.*/
2308 WDI_ConfigStaReqInfoType wdiSTAParams;
2309
2310 /*Config BSS Arguments*/
2311 WDI_ConfigBSSReqInfoType wdiBSSParams;
2312
2313 /*Request status callback offered by UMAC - it is called if the current
2314 req has returned PENDING as status; it delivers the status of sending
2315 the message over the BUS */
2316 WDI_ReqStatusCb wdiReqStatusCB;
2317
2318 /*The user data passed in by UMAC, it will be sent back when the above
2319 function pointer will be called */
2320 void* pUserData;
2321}WDI_PostAssocReqParamsType;
2322
2323/*---------------------------------------------------------------------------
2324 WDI_ConfigBSSReqParamsType
2325---------------------------------------------------------------------------*/
2326typedef struct
2327{
2328 /*Info for the Join request that will be sent down to the device*/
2329 WDI_ConfigBSSReqInfoType wdiReqInfo;
2330
2331 /*Request status callback offered by UMAC - it is called if the current
2332 req has returned PENDING as status; it delivers the status of sending
2333 the message over the BUS */
2334 WDI_ReqStatusCb wdiReqStatusCB;
2335
2336 /*The user data passed in by UMAC, it will be sent back when the above
2337 function pointer will be called */
2338 void* pUserData;
2339}WDI_ConfigBSSReqParamsType;
2340
2341/*---------------------------------------------------------------------------
2342 WDI_SetSTAKeyReqParamsType
2343---------------------------------------------------------------------------*/
2344typedef struct
2345{
2346 /*Key Info*/
2347 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2348
2349 /*Request status callback offered by UMAC - it is called if the current
2350 req has returned PENDING as status; it delivers the status of sending
2351 the message over the BUS */
2352 WDI_ReqStatusCb wdiReqStatusCB;
2353
2354 /*The user data passed in by UMAC, it will be sent back when the above
2355 function pointer will be called */
2356 void* pUserData;
2357}WDI_SetSTAKeyReqParamsType;
2358
2359/*---------------------------------------------------------------------------
2360 WDI_RemoveSTAKeyReqInfoType
2361---------------------------------------------------------------------------*/
2362typedef struct
2363{
2364 /*STA Index*/
2365 wpt_uint8 ucSTAIdx;
2366
2367 /*Encryption Type used with peer*/
2368 WDI_EncryptType wdiEncType;
2369
2370 /*Key Id*/
2371 wpt_uint8 ucKeyId;
2372
2373 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2374 the same key is used for both broadcast and unicast.*/
2375 wpt_uint8 ucUnicast;
2376}WDI_RemoveSTAKeyReqInfoType;
2377
2378/*---------------------------------------------------------------------------
2379 WDI_RemoveSTAKeyReqParamsType
2380---------------------------------------------------------------------------*/
2381typedef struct
2382{
2383 /*Key Info */
2384 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2385
2386 /*Request status callback offered by UMAC - it is called if the current
2387 req has returned PENDING as status; it delivers the status of sending
2388 the message over the BUS */
2389 WDI_ReqStatusCb wdiReqStatusCB;
2390
2391 /*The user data passed in by UMAC, it will be sent back when the above
2392 function pointer will be called */
2393 void* pUserData;
2394}WDI_RemoveSTAKeyReqParamsType;
2395
2396/*---------------------------------------------------------------------------
2397 QOS Parameters
2398---------------------------------------------------------------------------*/
2399
2400/*---------------------------------------------------------------------------
2401 WDI_TSInfoTfc
2402---------------------------------------------------------------------------*/
2403typedef struct
2404{
2405 wpt_uint16 ackPolicy:2;
2406 wpt_uint16 userPrio:3;
2407 wpt_uint16 psb:1;
2408 wpt_uint16 aggregation : 1;
2409 wpt_uint16 accessPolicy : 2;
2410 wpt_uint16 direction : 2;
2411 wpt_uint16 tsid : 4;
2412 wpt_uint16 trafficType : 1;
2413} WDI_TSInfoTfc;
2414
2415/*---------------------------------------------------------------------------
2416 WDI_TSInfoSch
2417---------------------------------------------------------------------------*/
2418typedef struct
2419{
2420 wpt_uint8 rsvd : 7;
2421 wpt_uint8 schedule : 1;
2422} WDI_TSInfoSch;
2423
2424/*---------------------------------------------------------------------------
2425 WDI_TSInfoType
2426---------------------------------------------------------------------------*/
2427typedef struct
2428{
2429 WDI_TSInfoTfc wdiTraffic;
2430 WDI_TSInfoSch wdiSchedule;
2431} WDI_TSInfoType;
2432
2433/*---------------------------------------------------------------------------
2434 WDI_TspecIEType
2435---------------------------------------------------------------------------*/
2436typedef struct
2437{
2438 wpt_uint8 ucType;
2439 wpt_uint8 ucLength;
2440 WDI_TSInfoType wdiTSinfo;
2441 wpt_uint16 usNomMsduSz;
2442 wpt_uint16 usMaxMsduSz;
2443 wpt_uint32 uMinSvcInterval;
2444 wpt_uint32 uMaxSvcInterval;
2445 wpt_uint32 uInactInterval;
2446 wpt_uint32 uSuspendInterval;
2447 wpt_uint32 uSvcStartTime;
2448 wpt_uint32 uMinDataRate;
2449 wpt_uint32 uMeanDataRate;
2450 wpt_uint32 uPeakDataRate;
2451 wpt_uint32 uMaxBurstSz;
2452 wpt_uint32 uDelayBound;
2453 wpt_uint32 uMinPhyRate;
2454 wpt_uint16 usSurplusBw;
2455 wpt_uint16 usMediumTime;
2456}WDI_TspecIEType;
2457
2458/*---------------------------------------------------------------------------
2459 WDI_AddTSReqInfoType
2460---------------------------------------------------------------------------*/
2461typedef struct
2462{
2463 /*STA Index*/
2464 wpt_uint8 ucSTAIdx;
2465
2466 /*Identifier for TSpec*/
2467 wpt_uint16 ucTspecIdx;
2468
2469 /*Tspec IE negotiated OTA*/
2470 WDI_TspecIEType wdiTspecIE;
2471
2472 /*UAPSD delivery and trigger enabled flags */
2473 wpt_uint8 ucUapsdFlags;
2474
2475 /*SI for each AC*/
2476 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2477
2478 /*Suspend Interval for each AC*/
2479 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2480
2481 /*DI for each AC*/
2482 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2483
2484}WDI_AddTSReqInfoType;
2485
2486
2487/*---------------------------------------------------------------------------
2488 WDI_AddTSReqParamsType
2489---------------------------------------------------------------------------*/
2490typedef struct
2491{
2492 /*TSpec Info */
2493 WDI_AddTSReqInfoType wdiTsInfo;
2494
2495 /*Request status callback offered by UMAC - it is called if the current
2496 req has returned PENDING as status; it delivers the status of sending
2497 the message over the BUS */
2498 WDI_ReqStatusCb wdiReqStatusCB;
2499
2500 /*The user data passed in by UMAC, it will be sent back when the above
2501 function pointer will be called */
2502 void* pUserData;
2503}WDI_AddTSReqParamsType;
2504
2505/*---------------------------------------------------------------------------
2506 WDI_DelTSReqInfoType
2507---------------------------------------------------------------------------*/
2508typedef struct
2509{
2510 /*STA Index*/
2511 wpt_uint8 ucSTAIdx;
2512
2513 /*Identifier for TSpec*/
2514 wpt_uint16 ucTspecIdx;
2515
2516 /*BSSID of the BSS*/
2517 wpt_macAddr macBSSID;
2518}WDI_DelTSReqInfoType;
2519
2520/*---------------------------------------------------------------------------
2521 WDI_DelTSReqParamsType
2522---------------------------------------------------------------------------*/
2523typedef struct
2524{
2525 /*Del TSpec Info*/
2526 WDI_DelTSReqInfoType wdiDelTSInfo;
2527
2528 /*Request status callback offered by UMAC - it is called if the current
2529 req has returned PENDING as status; it delivers the status of sending
2530 the message over the BUS */
2531 WDI_ReqStatusCb wdiReqStatusCB;
2532
2533 /*The user data passed in by UMAC, it will be sent back when the above
2534 function pointer will be called */
2535 void* pUserData;
2536}WDI_DelTSReqParamsType;
2537
2538/*---------------------------------------------------------------------------
2539 WDI_UpdateEDCAInfoType
2540---------------------------------------------------------------------------*/
2541typedef struct
2542{
krunal soni0b366c02013-07-17 19:55:57 -07002543 /*BSS Index of the BSS*/
2544 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002545
Jeff Johnson295189b2012-06-20 16:38:30 -07002546 /*EDCA params for BE*/
2547 WDI_EdcaParamRecord wdiEdcaBEInfo;
2548
2549 /*EDCA params for BK*/
2550 WDI_EdcaParamRecord wdiEdcaBKInfo;
2551
2552 /*EDCA params for VI*/
2553 WDI_EdcaParamRecord wdiEdcaVIInfo;
2554
2555 /*EDCA params for VO*/
2556 WDI_EdcaParamRecord wdiEdcaVOInfo;
2557
2558}WDI_UpdateEDCAInfoType;
2559
2560/*---------------------------------------------------------------------------
2561 WDI_UpdateEDCAParamsType
2562---------------------------------------------------------------------------*/
2563typedef struct
2564{
2565 /*EDCA Info */
2566 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2567
2568 /*Request status callback offered by UMAC - it is called if the current
2569 req has returned PENDING as status; it delivers the status of sending
2570 the message over the BUS */
2571 WDI_ReqStatusCb wdiReqStatusCB;
2572
2573 /*The user data passed in by UMAC, it will be sent back when the above
2574 function pointer will be called */
2575 void* pUserData;
2576}WDI_UpdateEDCAParamsType;
2577
2578/*---------------------------------------------------------------------------
2579 WDI_AddBASessionReqinfoType
2580---------------------------------------------------------------------------*/
2581typedef struct
2582{
2583 /*Indicates the station for which BA is added..*/
2584 wpt_uint8 ucSTAIdx;
2585
2586 /*The peer mac address*/
2587 wpt_macAddr macPeerAddr;
2588
2589 /*TID for which BA was negotiated*/
2590 wpt_uint8 ucBaTID;
2591
2592 /*Delayed or imediate */
2593 wpt_uint8 ucBaPolicy;
2594
2595 /*The number of buffers for this TID (baTID)*/
2596 wpt_uint16 usBaBufferSize;
2597
2598 /*BA timeout in TU's*/
2599 wpt_uint16 usBaTimeout;
2600
2601 /*b0..b3 - Fragment Number - Always set to 0
2602 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2603 wpt_uint16 usBaSSN;
2604
2605 /*Originator/Recipient*/
2606 wpt_uint8 ucBaDirection;
2607
2608}WDI_AddBASessionReqinfoType;
2609
2610
2611/*---------------------------------------------------------------------------
2612 WDI_AddBASessionReqParamsType
2613---------------------------------------------------------------------------*/
2614typedef struct
2615{
2616 /*BA Session Info Type*/
2617 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2618
2619 /*Request status callback offered by UMAC - it is called if the current
2620 req has returned PENDING as status; it delivers the status of sending
2621 the message over the BUS */
2622 WDI_ReqStatusCb wdiReqStatusCB;
2623
2624 /*The user data passed in by UMAC, it will be sent back when the above
2625 function pointer will be called */
2626 void* pUserData;
2627}WDI_AddBASessionReqParamsType;
2628
2629/*---------------------------------------------------------------------------
2630 WDI_AddBASessionRspParamsType
2631---------------------------------------------------------------------------*/
2632typedef struct
2633{
2634 /*Status of the response*/
2635 WDI_Status wdiStatus;
2636
2637 /* Dialog token */
2638 wpt_uint8 ucBaDialogToken;
2639
2640 /* TID for which the BA session has been setup */
2641 wpt_uint8 ucBaTID;
2642
2643 /* BA Buffer Size allocated for the current BA session */
2644 wpt_uint8 ucBaBufferSize;
2645
2646 /* BA session ID */
2647 wpt_uint16 usBaSessionID;
2648
2649 /* Reordering Window buffer */
2650 wpt_uint8 ucWinSize;
2651
2652 /*Station Index to id the sta */
2653 wpt_uint8 ucSTAIdx;
2654
2655 /* Starting Sequence Number */
2656 wpt_uint16 usBaSSN;
2657
2658}WDI_AddBASessionRspParamsType;
2659
2660/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302661 WDI_SpoofMacAddrRspParamType
2662---------------------------------------------------------------------------*/
2663typedef struct
2664{
2665 /* wdi status */
2666 wpt_uint32 wdiStatus;
2667
2668 /* Reserved Field */
2669 wpt_uint32 reserved;
2670
2671}WDI_SpoofMacAddrRspParamType;
2672/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302673 WDI_GetFrameLogRspParamType
2674---------------------------------------------------------------------------*/
2675typedef struct
2676{
2677 /* wdi status */
2678 wpt_uint32 wdiStatus;
2679}WDI_GetFrameLogRspParamType;
2680/*---------------------------------------------------------------------------
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302681 WDI_FWLoggingInitRspParamType
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302682---------------------------------------------------------------------------*/
2683typedef struct
2684{
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302685 //FW mail box address
2686 wpt_uint64 logMailBoxAddr;
2687 wpt_uint32 status;
2688 //Logging mail box version
2689 wpt_uint8 logMailBoxVer;
2690 //Qshrink is enabled
2691 wpt_boolean logCompressEnabled;
2692 //Reserved for future purpose
2693 wpt_uint32 reserved0;
2694 wpt_uint32 reserved1;
2695 wpt_uint32 reserved2;
2696}WDI_FWLoggingInitRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302697
2698
2699/*---------------------------------------------------------------------------
2700 WDI_FatalEventLogsRspParamType
2701---------------------------------------------------------------------------*/
2702typedef struct
2703{
2704 /* wdi status */
2705 wpt_uint32 wdiStatus;
2706}WDI_FatalEventLogsRspParamType;
2707
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302708/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002709 WDI_AddBAReqinfoType
2710---------------------------------------------------------------------------*/
2711typedef struct
2712{
2713 /*Indicates the station for which BA is added..*/
2714 wpt_uint8 ucSTAIdx;
2715
2716 /* Session Id */
2717 wpt_uint8 ucBaSessionID;
2718
2719 /* Reorder Window Size */
2720 wpt_uint8 ucWinSize;
2721
2722#ifdef FEATURE_ON_CHIP_REORDERING
2723 wpt_boolean bIsReorderingDoneOnChip;
2724#endif
2725
2726}WDI_AddBAReqinfoType;
2727
2728
2729/*---------------------------------------------------------------------------
2730 WDI_AddBAReqParamsType
2731---------------------------------------------------------------------------*/
2732typedef struct
2733{
2734 /*BA Info Type*/
2735 WDI_AddBAReqinfoType wdiBAInfoType;
2736
2737 /*Request status callback offered by UMAC - it is called if the current
2738 req has returned PENDING as status; it delivers the status of sending
2739 the message over the BUS */
2740 WDI_ReqStatusCb wdiReqStatusCB;
2741
2742 /*The user data passed in by UMAC, it will be sent back when the above
2743 function pointer will be called */
2744 void* pUserData;
2745}WDI_AddBAReqParamsType;
2746
2747
2748/*---------------------------------------------------------------------------
2749 WDI_AddBARspinfoType
2750---------------------------------------------------------------------------*/
2751typedef struct
2752{
2753 /*Status of the response*/
2754 WDI_Status wdiStatus;
2755
2756 /* Dialog token */
2757 wpt_uint8 ucBaDialogToken;
2758
2759}WDI_AddBARspinfoType;
2760
2761/*---------------------------------------------------------------------------
2762 WDI_TriggerBAReqCandidateType
2763---------------------------------------------------------------------------*/
2764typedef struct
2765{
2766 /* STA index */
2767 wpt_uint8 ucSTAIdx;
2768
2769 /* TID bit map for the STA's*/
2770 wpt_uint8 ucTidBitmap;
2771
2772}WDI_TriggerBAReqCandidateType;
2773
2774
2775/*---------------------------------------------------------------------------
2776 WDI_TriggerBAReqinfoType
2777---------------------------------------------------------------------------*/
2778typedef struct
2779{
2780 /*Indicates the station for which BA is added..*/
2781 wpt_uint8 ucSTAIdx;
2782
2783 /* Session Id */
2784 wpt_uint8 ucBASessionID;
2785
2786 /* Trigger BA Request candidate count */
2787 wpt_uint16 usBACandidateCnt;
2788
2789 /* WDI_TriggerBAReqCandidateType followed by this*/
2790
2791}WDI_TriggerBAReqinfoType;
2792
2793
2794/*---------------------------------------------------------------------------
2795 WDI_TriggerBAReqParamsType
2796---------------------------------------------------------------------------*/
2797typedef struct
2798{
2799 /*BA Trigger Info Type*/
2800 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2801
2802 /*Request status callback offered by UMAC - it is called if the current
2803 req has returned PENDING as status; it delivers the status of sending
2804 the message over the BUS */
2805 WDI_ReqStatusCb wdiReqStatusCB;
2806
2807 /*The user data passed in by UMAC, it will be sent back when the above
2808 function pointer will be called */
2809 void* pUserData;
2810}WDI_TriggerBAReqParamsType;
2811
2812/*---------------------------------------------------------------------------
2813 WDI_AddBAInfoType
2814---------------------------------------------------------------------------*/
2815typedef struct
2816{
2817 wpt_uint16 fBaEnable : 1;
2818 wpt_uint16 startingSeqNum: 12;
2819 wpt_uint16 reserved : 3;
2820}WDI_AddBAInfoType;
2821
2822/*---------------------------------------------------------------------------
2823 WDI_TriggerBARspCandidateType
2824---------------------------------------------------------------------------*/
2825#define STA_MAX_TC 8
2826
2827typedef struct
2828{
2829 /* STA index */
2830 wpt_macAddr macSTA;
2831
2832 /* BA Info */
2833 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2834}WDI_TriggerBARspCandidateType;
2835
2836/*---------------------------------------------------------------------------
2837 WDI_TriggerBARspParamsType
2838---------------------------------------------------------------------------*/
2839typedef struct
2840{
2841 /*Status of the response*/
2842 WDI_Status wdiStatus;
2843
2844 /*BSSID of the BSS*/
2845 wpt_macAddr macBSSID;
2846
2847 /* Trigger BA response candidate count */
2848 wpt_uint16 usBaCandidateCnt;
2849
2850 /* WDI_TriggerBARspCandidateType followed by this*/
2851
2852}WDI_TriggerBARspParamsType;
2853
2854/*---------------------------------------------------------------------------
2855 WDI_DelBAReqinfoType
2856---------------------------------------------------------------------------*/
2857typedef struct
2858{
2859 /*Indicates the station for which BA is added..*/
2860 wpt_uint8 ucSTAIdx;
2861
2862 /*TID for which BA was negotiated*/
2863 wpt_uint8 ucBaTID;
2864
2865 /*Originator/Recipient*/
2866 wpt_uint8 ucBaDirection;
2867
2868}WDI_DelBAReqinfoType;
2869
2870/*---------------------------------------------------------------------------
2871 WDI_DelBAReqParamsType
2872---------------------------------------------------------------------------*/
2873typedef struct
2874{
2875 /*BA Info */
2876 WDI_DelBAReqinfoType wdiBAInfo;
2877
2878 /*Request status callback offered by UMAC - it is called if the current
2879 req has returned PENDING as status; it delivers the status of sending
2880 the message over the BUS */
2881 WDI_ReqStatusCb wdiReqStatusCB;
2882
2883 /*The user data passed in by UMAC, it will be sent back when the above
2884 function pointer will be called */
2885 void* pUserData;
2886}WDI_DelBAReqParamsType;
2887
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002888/*---------------------------------------------------------------------------
2889 WDI_UpdateChannelReqinfoType
2890---------------------------------------------------------------------------*/
2891typedef struct
2892{
2893 /** primary 20 MHz channel frequency in mhz */
2894 wpt_uint32 mhz;
2895 /** Center frequency 1 in MHz*/
2896 wpt_uint32 band_center_freq1;
2897 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2898 wpt_uint32 band_center_freq2;
2899 /* The first 26 bits are a bit mask to indicate any channel flags,
2900 (see WLAN_HAL_CHAN_FLAG*)
2901 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2902 wpt_uint32 channel_info;
2903 /** contains min power, max power, reg power and reg class id. */
2904 wpt_uint32 reg_info_1;
2905 /** contains antennamax */
2906 wpt_uint32 reg_info_2;
2907}WDI_UpdateChannelReqinfoType;
2908
2909typedef struct
2910{
2911 wpt_uint8 numchan;
2912 WDI_UpdateChannelReqinfoType *pchanParam;
2913}WDI_UpdateChannelReqType;
2914/*---------------------------------------------------------------------------
2915 WDI_UpdateChReqParamsType
2916---------------------------------------------------------------------------*/
2917typedef struct
2918{
2919 /*BA Info */
2920 WDI_UpdateChannelReqType wdiUpdateChanParams;
2921
2922 /*Request status callback offered by UMAC - it is called if the current
2923 req has returned PENDING as status; it delivers the status of sending
2924 the message over the BUS */
2925 WDI_ReqStatusCb wdiReqStatusCB;
2926
2927 /*The user data passed in by UMAC, it will be sent back when the above
2928 function pointer will be called */
2929 void* pUserData;
2930}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002931
2932/*---------------------------------------------------------------------------
2933 WDI_SwitchCHRspParamsType
2934---------------------------------------------------------------------------*/
2935typedef struct
2936{
2937 /*Status of the response*/
2938 WDI_Status wdiStatus;
2939
2940 /*Indicates the channel that WLAN is on*/
2941 wpt_uint8 ucChannel;
2942
2943#ifdef WLAN_FEATURE_VOWIFI
2944 /*HAL fills in the tx power used for mgmt frames in this field.*/
2945 wpt_int8 ucTxMgmtPower;
2946#endif
2947
2948}WDI_SwitchCHRspParamsType;
2949
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002950/*--------------------------------------------------------------------
2951 WDI_SwitchChRspParamsType_V1
2952--------------------------------------------------------------------*/
2953typedef struct
2954{
2955 /*Status of the response*/
2956 WDI_Status wdiStatus;
2957
2958 /*Indicates the channel that WLAN is on*/
2959 wpt_uint8 ucChannel;
2960
2961#ifdef WLAN_FEATURE_VOWIFI
2962 /*HAL fills in the tx power used for mgmt frames in this field.*/
2963 wpt_int8 ucTxMgmtPower;
2964#endif
2965
2966 /* Source of Channel Switch */
2967 WDI_ChanSwitchSource channelSwitchSrc;
2968}WDI_SwitchChRspParamsType_V1;
2969
Jeff Johnson295189b2012-06-20 16:38:30 -07002970/*---------------------------------------------------------------------------
2971 WDI_ConfigSTAReqParamsType
2972---------------------------------------------------------------------------*/
2973typedef struct
2974{
2975 /*Info for the Join request that will be sent down to the device*/
2976 WDI_ConfigStaReqInfoType wdiReqInfo;
2977
2978 /*Request status callback offered by UMAC - it is called if the current
2979 req has returned PENDING as status; it delivers the status of sending
2980 the message over the BUS */
2981 WDI_ReqStatusCb wdiReqStatusCB;
2982
2983 /*The user data passed in by UMAC, it will be sent back when the above
2984 function pointer will be called */
2985 void* pUserData;
2986}WDI_ConfigSTAReqParamsType;
2987
2988
2989/*---------------------------------------------------------------------------
2990 WDI_UpdateBeaconParamsInfoType
2991---------------------------------------------------------------------------*/
2992
2993typedef struct
2994{
2995 /*BSS Index of the BSS*/
2996 wpt_uint8 ucBssIdx;
2997
2998 /*shortPreamble mode. HAL should update all the STA rates when it
2999 receives this message*/
3000 wpt_uint8 ucfShortPreamble;
3001 /* short Slot time.*/
3002 wpt_uint8 ucfShortSlotTime;
3003 /* Beacon Interval */
3004 wpt_uint16 usBeaconInterval;
3005 /*Protection related */
3006 wpt_uint8 ucllaCoexist;
3007 wpt_uint8 ucllbCoexist;
3008 wpt_uint8 ucllgCoexist;
3009 wpt_uint8 ucHt20MhzCoexist;
3010 wpt_uint8 ucllnNonGFCoexist;
3011 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
3012 wpt_uint8 ucfRIFSMode;
3013
3014 wpt_uint16 usChangeBitmap;
3015}WDI_UpdateBeaconParamsInfoType;
3016
Mohit Khanna4a70d262012-09-11 16:30:12 -07003017#ifdef WLAN_FEATURE_11AC
3018typedef struct
3019{
3020 wpt_uint16 opMode;
3021 wpt_uint16 staId;
3022}WDI_UpdateVHTOpMode;
3023#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003024
3025/*---------------------------------------------------------------------------
3026 WDI_UpdateBeaconParamsType
3027---------------------------------------------------------------------------*/
3028typedef struct
3029{
3030 /*Update Beacon Params Info*/
3031 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3032
3033 /*Request status callback offered by UMAC - it is called if the current
3034 req has returned PENDING as status; it delivers the status of sending
3035 the message over the BUS */
3036 WDI_ReqStatusCb wdiReqStatusCB;
3037
3038 /*The user data passed in by UMAC, it will be sent back when the above
3039 function pointer will be called */
3040 void* pUserData;
3041}WDI_UpdateBeaconParamsType;
3042
3043/*---------------------------------------------------------------------------
3044 WDI_SendBeaconParamsInfoType
3045---------------------------------------------------------------------------*/
3046
3047typedef struct {
3048
3049 /*BSSID of the BSS*/
3050 wpt_macAddr macBSSID;
3051
3052 /* Beacon data */
3053 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3054
3055 /* length of the template */
3056 wpt_uint32 beaconLength;
3057
Jeff Johnson295189b2012-06-20 16:38:30 -07003058 /* TIM IE offset from the beginning of the template.*/
3059 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003060
Jeff Johnson295189b2012-06-20 16:38:30 -07003061 /* P2P IE offset from the beginning of the template */
3062 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003063} WDI_SendBeaconParamsInfoType;
3064
3065/*---------------------------------------------------------------------------
3066 WDI_SendBeaconParamsType
3067---------------------------------------------------------------------------*/
3068typedef struct
3069{
3070 /*Send Beacon Params Info*/
3071 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3072
3073 /*Request status callback offered by UMAC - it is called if the current
3074 req has returned PENDING as status; it delivers the status of sending
3075 the message over the BUS */
3076 WDI_ReqStatusCb wdiReqStatusCB;
3077
3078 /*The user data passed in by UMAC, it will be sent back when the above
3079 function pointer will be called */
3080 void* pUserData;
3081}WDI_SendBeaconParamsType;
3082
3083/*---------------------------------------------------------------------------
3084 WDI_LinkStateType
3085---------------------------------------------------------------------------*/
3086typedef enum
3087{
3088 WDI_LINK_IDLE_STATE = 0,
3089 WDI_LINK_PREASSOC_STATE = 1,
3090 WDI_LINK_POSTASSOC_STATE = 2,
3091 WDI_LINK_AP_STATE = 3,
3092 WDI_LINK_IBSS_STATE = 4,
3093
3094 // BT-AMP Case
3095 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3096 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3097 WDI_LINK_BTAMP_AP_STATE = 7,
3098 WDI_LINK_BTAMP_STA_STATE = 8,
3099
3100 // Reserved for HAL internal use
3101 WDI_LINK_LEARN_STATE = 9,
3102 WDI_LINK_SCAN_STATE = 10,
3103 WDI_LINK_FINISH_SCAN_STATE = 11,
3104 WDI_LINK_INIT_CAL_STATE = 12,
3105 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003106 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303107 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003108 WDI_LINK_MAX = 0x7FFFFFFF
3109} WDI_LinkStateType;
3110
3111/*---------------------------------------------------------------------------
3112 WDI_SetLinkReqInfoType
3113---------------------------------------------------------------------------*/
3114typedef struct
3115{
3116 /*BSSID of the BSS*/
3117 wpt_macAddr macBSSID;
3118
3119 /*Link state*/
3120 WDI_LinkStateType wdiLinkState;
3121
3122 /*BSSID of the BSS*/
3123 wpt_macAddr macSelfStaMacAddr;
3124}WDI_SetLinkReqInfoType;
3125
3126/*---------------------------------------------------------------------------
3127 WDI_SetLinkReqParamsType
3128---------------------------------------------------------------------------*/
3129typedef struct
3130{
3131 /*Link Info*/
3132 WDI_SetLinkReqInfoType wdiLinkInfo;
3133
3134 /*Request status callback offered by UMAC - it is called if the current
3135 req has returned PENDING as status; it delivers the status of sending
3136 the message over the BUS */
3137 WDI_ReqStatusCb wdiReqStatusCB;
3138
3139 /*The user data passed in by UMAC, it will be sent back when the above
3140 function pointer will be called */
3141 void* pUserData;
3142}WDI_SetLinkReqParamsType;
3143
3144/*---------------------------------------------------------------------------
3145 WDI_GetStatsParamsInfoType
3146---------------------------------------------------------------------------*/
3147typedef struct
3148{
3149 /*Indicates the station for which Get Stats are requested..*/
3150 wpt_uint8 ucSTAIdx;
3151
3152 /* categories of stats requested */
3153 wpt_uint32 uStatsMask;
3154}WDI_GetStatsParamsInfoType;
3155
3156/*---------------------------------------------------------------------------
3157 WDI_GetStatsReqParamsType
3158---------------------------------------------------------------------------*/
3159typedef struct
3160{
3161 /*Get Stats Params Info*/
3162 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3163
3164 /*Request status callback offered by UMAC - it is called if the current
3165 req has returned PENDING as status; it delivers the status of sending
3166 the message over the BUS */
3167 WDI_ReqStatusCb wdiReqStatusCB;
3168
3169 /*The user data passed in by UMAC, it will be sent back when the above
3170 function pointer will be called */
3171 void* pUserData;
3172}WDI_GetStatsReqParamsType;
3173
3174/*---------------------------------------------------------------------------
3175 WDI_GetStatsRspParamsType
3176---------------------------------------------------------------------------*/
3177typedef struct
3178{
3179 /*message type is same as the request type*/
3180 wpt_uint16 usMsgType;
3181
3182 /* length of the entire request, includes the pStatsBuf length too*/
3183 wpt_uint16 usMsgLen;
3184
3185 /*Result of the operation*/
3186 WDI_Status wdiStatus;
3187
3188 /*Indicates the station for which Get Stats are requested..*/
3189 wpt_uint8 ucSTAIdx;
3190
3191 /* categories of stats requested */
3192 wpt_uint32 uStatsMask;
3193
3194 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3195 * structure depending on statsMask.*/
3196}WDI_GetStatsRspParamsType;
3197
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003198#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003199/*---------------------------------------------------------------------------
3200 WDI_GetRoamRssiParamsInfoType
3201---------------------------------------------------------------------------*/
3202typedef struct
3203{
3204 /*Indicates the station for which Get Stats are requested..*/
3205 wpt_uint8 ucSTAIdx;
3206
3207 /* categories of stats requested */
3208 wpt_uint32 uStatsMask;
3209}WDI_GetRoamRssiParamsInfoType;
3210
3211/*---------------------------------------------------------------------------
3212 WDI_GetRoamRssiReqParamsType
3213---------------------------------------------------------------------------*/
3214typedef struct
3215{
3216 /*Get Roam Rssi Params Info*/
3217 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3218
3219 /*Request status callback offered by UMAC - it is called if the current
3220 req has returned PENDING as status; it delivers the status of sending
3221 the message over the BUS */
3222 WDI_ReqStatusCb wdiReqStatusCB;
3223
3224 /*The user data passed in by UMAC, it will be sent back when the above
3225 function pointer will be called */
3226 void* pUserData;
3227}WDI_GetRoamRssiReqParamsType;
3228
3229/*---------------------------------------------------------------------------
3230 WDI_GetRoamRssiRspParamsType
3231---------------------------------------------------------------------------*/
3232typedef struct
3233{
3234 /*Result of the operation*/
3235 WDI_Status wdiStatus;
3236
3237 /*Indicates the station for which Get Stats are requested..*/
3238 wpt_uint8 ucSTAIdx;
3239
3240 /* roam rssi requested */
3241 wpt_int8 rssi;
3242
3243 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3244 * structure depending on statsMask.*/
3245}WDI_GetRoamRssiRspParamsType;
3246#endif
3247
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003248#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003249/*---------------------------------------------------------------------------
3250 WDI_TSMStatsParamsInfoType
3251---------------------------------------------------------------------------*/
3252typedef struct
3253{
3254 /*Indicates the station for which Get Stats are requested..*/
3255 wpt_uint8 ucTid;
3256
3257 wpt_macAddr bssid;
3258}WDI_TSMStatsParamsInfoType;
3259
3260/*---------------------------------------------------------------------------
3261 WDI_TSMStatsReqParamsType
3262---------------------------------------------------------------------------*/
3263typedef struct
3264{
3265 /*Get TSM Stats Params Info*/
3266 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3267
3268 WDI_ReqStatusCb wdiReqStatusCB;
3269
3270 /*The user data passed in by UMAC, it will be sent back when the above
3271 function pointer will be called */
3272 void* pUserData;
3273
3274}WDI_TSMStatsReqParamsType;
3275
3276
3277/*---------------------------------------------------------------------------
3278 WDI_TSMStatsRspParamsType
3279---------------------------------------------------------------------------*/
3280typedef struct
3281{
3282 /*Indicates the status of the operation */
3283 WDI_Status wdiStatus;
3284
3285 wpt_uint16 UplinkPktQueueDly;
3286 wpt_uint16 UplinkPktQueueDlyHist[4];
3287 wpt_uint32 UplinkPktTxDly;
3288 wpt_uint16 UplinkPktLoss;
3289 wpt_uint16 UplinkPktCount;
3290 wpt_uint8 RoamingCount;
3291 wpt_uint16 RoamingDly;
3292}WDI_TSMStatsRspParamsType;
3293
3294
3295#endif
3296/*---------------------------------------------------------------------------
3297 WDI_UpdateCfgReqParamsType
3298---------------------------------------------------------------------------*/
3299typedef struct
3300{
3301 /*This is a TLV formatted buffer containing all config values that can
3302 be set through the DAL Interface
3303
3304 The TLV is expected to be formatted like this:
3305
3306 0 7 15 31 ....
3307 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3308
3309 Or from a C construct point of VU it would look like this:
3310
3311 typedef struct WPT_PACK_POST
3312 {
3313 #ifdef WPT_BIG_ENDIAN
3314 wpt_uint32 ucCfgId:8;
3315 wpt_uint32 ucCfgLen:8;
3316 wpt_uint32 usReserved:16;
3317 #else
3318 wpt_uint32 usReserved:16;
3319 wpt_uint32 ucCfgLen:8;
3320 wpt_uint32 ucCfgId:8;
3321 #endif
3322
3323 wpt_uint8 ucCfgBody[ucCfgLen];
3324 }WDI_ConfigType;
3325
3326 Multiple such tuplets are to be placed in the config buffer. One for
3327 each required configuration item:
3328
3329 | TLV 1 | TLV2 | ....
3330
3331 The buffer is expected to be a flat area of memory that can be manipulated
3332 with standard memory routines.
3333
3334 For more info please check paragraph 2.3.1 Config Structure from the
3335 HAL LLD.
3336
3337 For a list of accepted configuration list and IDs please look up
3338 wlan_qct_dal_cfg.h
3339 */
3340 void* pConfigBuffer;
3341
3342 /*Length of the config buffer above*/
3343 wpt_uint32 uConfigBufferLen;
3344
3345 /*Request status callback offered by UMAC - it is called if the current
3346 req has returned PENDING as status; it delivers the status of sending
3347 the message over the BUS */
3348 WDI_ReqStatusCb wdiReqStatusCB;
3349
3350 /*The user data passed in by UMAC, it will be sent back when the above
3351 function pointer will be called */
3352 void* pUserData;
3353}WDI_UpdateCfgReqParamsType;
3354
3355/*---------------------------------------------------------------------------
3356 WDI_UpdateProbeRspTemplateInfoType
3357---------------------------------------------------------------------------*/
3358//Default Beacon template size
3359#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3360
3361#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3362
3363typedef struct
3364{
3365 /*BSSID for which the Probe Template is to be used*/
3366 wpt_macAddr macBSSID;
3367
3368 /*Probe response template*/
3369 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3370
3371 /*Template Len*/
3372 wpt_uint32 uProbeRespTemplateLen;
3373
3374 /*Bitmap for the IEs that are to be handled at SLM level*/
3375 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3376
3377}WDI_UpdateProbeRspTemplateInfoType;
3378
3379/*---------------------------------------------------------------------------
3380 WDI_UpdateProbeRspParamsType
3381---------------------------------------------------------------------------*/
3382typedef struct
3383{
3384 /*Link Info*/
3385 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3386
3387 /*Request status callback offered by UMAC - it is called if the current
3388 req has returned PENDING as status; it delivers the status of sending
3389 the message over the BUS */
3390 WDI_ReqStatusCb wdiReqStatusCB;
3391
3392 /*The user data passed in by UMAC, it will be sent back when the above
3393 function pointer will be called */
3394 void* pUserData;
3395}WDI_UpdateProbeRspTemplateParamsType;
3396
3397/*---------------------------------------------------------------------------
3398 WDI_NvDownloadReqBlobInfo
3399---------------------------------------------------------------------------*/
3400
3401typedef struct
3402{
3403 /* Blob starting address*/
3404 void *pBlobAddress;
3405
3406 /* Blob size */
3407 wpt_uint32 uBlobSize;
3408
3409}WDI_NvDownloadReqBlobInfo;
3410
3411/*---------------------------------------------------------------------------
3412 WDI_NvDownloadReqParamsType
3413---------------------------------------------------------------------------*/
3414typedef struct
3415{
3416 /*NV Blob Info*/
3417 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3418
3419 /*Request status callback offered by UMAC - it is called if the current
3420 req has returned PENDING as status; it delivers the status of sending
3421 the message over the BUS */
3422 WDI_ReqStatusCb wdiReqStatusCB;
3423
3424 /*The user data passed in by UMAC, it will be sent back when the above
3425 function pointer will be called */
3426 void* pUserData;
3427
3428}WDI_NvDownloadReqParamsType;
3429
3430/*---------------------------------------------------------------------------
3431 WDI_NvDownloadRspInfoType
3432---------------------------------------------------------------------------*/
3433typedef struct
3434{
3435 /*Status of the response*/
3436 WDI_Status wdiStatus;
3437
3438}WDI_NvDownloadRspInfoType;
3439
3440/*---------------------------------------------------------------------------
3441 WDI_SetMaxTxPowerInfoType
3442---------------------------------------------------------------------------*/
3443
3444typedef struct
3445{
3446 /*BSSID is needed to identify which session issued this request. As the request has
3447 power constraints, this should be applied only to that session*/
3448 wpt_macAddr macBSSId;
3449
3450
3451 wpt_macAddr macSelfStaMacAddr;
3452
3453 /* In request power == MaxTxpower to be used.*/
3454 wpt_int8 ucPower;
3455
3456}WDI_SetMaxTxPowerInfoType;
3457
3458/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003459 WDI_SetTxPowerInfoType
3460---------------------------------------------------------------------------*/
3461
3462typedef struct
3463{
3464 wpt_uint8 bssIdx;
3465 /* In request power == MaxTxpower to be used.*/
3466 wpt_uint8 ucPower;
3467
3468}WDI_SetTxPowerInfoType;
3469
3470/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003471 WDI_SetMaxTxPowerParamsType
3472---------------------------------------------------------------------------*/
3473typedef struct
3474{
3475 /*Link Info*/
3476 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3477
3478 /*Request status callback offered by UMAC - it is called if the current
3479 req has returned PENDING as status; it delivers the status of sending
3480 the message over the BUS */
3481 WDI_ReqStatusCb wdiReqStatusCB;
3482
3483 /*The user data passed in by UMAC, it will be sent back when the above
3484 function pointer will be called */
3485 void* pUserData;
3486}WDI_SetMaxTxPowerParamsType;
3487
schang86c22c42013-03-13 18:41:24 -07003488/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003489 WDI_Band
3490---------------------------------------------------------------------------*/
3491typedef enum
3492{
3493 WDI_BAND_ALL,
3494 WDI_BAND_24,
3495 WDI_BAND_5G,
3496 WDI_BAND_MAX,
3497}eWDIBand;
3498
3499/*---------------------------------------------------------------------------
3500 WDI_MaxTxPowerPerBandInfoType
3501---------------------------------------------------------------------------*/
3502typedef struct
3503{
3504 eWDIBand bandInfo;
3505 /* In request power == MaxTxpower to be used.*/
3506 wpt_uint8 ucPower;
3507}WDI_MaxTxPowerPerBandInfoType;
3508
3509/*---------------------------------------------------------------------------
3510 WDI_SetMaxTxPowerPerBandParamsType
3511---------------------------------------------------------------------------*/
3512typedef struct
3513{
3514 /*Link Info*/
3515 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3516
3517 /*Request status callback offered by UMAC - it is called if the current
3518 req has returned PENDING as status; it delivers the status of sending
3519 the message over the BUS */
3520 WDI_ReqStatusCb wdiReqStatusCB;
3521
3522 /*The user data passed in by UMAC, it will be sent back when the above
3523 function pointer will be called */
3524 void* pUserData;
3525}WDI_SetMaxTxPowerPerBandParamsType;
3526
3527/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003528 WDI_SetTxPowerParamsType
3529---------------------------------------------------------------------------*/
3530typedef struct
3531{
3532 /*Link Info*/
3533 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3534
3535 /*Request status callback offered by UMAC - it is called if the current
3536 req has returned PENDING as status; it delivers the status of sending
3537 the message over the BUS */
3538 WDI_ReqStatusCb wdiReqStatusCB;
3539
3540 /*The user data passed in by UMAC, it will be sent back when the above
3541 function pointer will be called */
3542 void* pUserData;
3543}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003544
3545/*---------------------------------------------------------------------------
3546 WDI_SetMaxTxPowerRspMsg
3547---------------------------------------------------------------------------*/
3548
3549typedef struct
3550{
3551 /* In response, power==tx power used for management frames*/
3552 wpt_int8 ucPower;
3553
3554 /*Result of the operation*/
3555 WDI_Status wdiStatus;
3556
3557}WDI_SetMaxTxPowerRspMsg;
3558
schang86c22c42013-03-13 18:41:24 -07003559/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003560 WDI_SetMaxTxPowerPerBandRspMsg
3561---------------------------------------------------------------------------*/
3562typedef struct
3563{
3564 /* In response, power==tx power used for management frames*/
3565 wpt_int8 ucPower;
3566
3567 /*Result of the operation*/
3568 WDI_Status wdiStatus;
3569
3570}WDI_SetMaxTxPowerPerBandRspMsg;
3571
3572/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003573 WDI_SetTxPowerRspMsg
3574---------------------------------------------------------------------------*/
3575
3576typedef struct
3577{
3578 /* In response, power==tx power used for management frames*/
3579 wpt_int8 ucPower;
3580
3581 /*Result of the operation*/
3582 WDI_Status wdiStatus;
3583
3584}WDI_SetTxPowerRspMsg;
3585
Jeff Johnson295189b2012-06-20 16:38:30 -07003586typedef struct
3587{
3588 wpt_uint8 ucOpp_ps;
3589 wpt_uint32 uCtWindow;
3590 wpt_uint8 ucCount;
3591 wpt_uint32 uDuration;
3592 wpt_uint32 uInterval;
3593 wpt_uint32 uSingle_noa_duration;
3594 wpt_uint8 ucPsSelection;
3595}WDI_SetP2PGONOAReqInfoType;
3596
3597/*---------------------------------------------------------------------------
3598 WDI_SetP2PGONOAReqParamsType
3599---------------------------------------------------------------------------*/
3600typedef struct
3601{
3602 /*P2P GO NOA Req*/
3603 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3604
3605 /*Request status callback offered by UMAC - it is called if the current
3606 req has returned PENDING as status; it delivers the status of sending
3607 the message over the BUS */
3608 WDI_ReqStatusCb wdiReqStatusCB;
3609
3610 /*The user data passed in by UMAC, it will be sent back when the above
3611 function pointer will be called */
3612 void* pUserData;
3613}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003614
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303615#define WDI_MAX_SUPP_CHANNELS 128
3616#define WDI_MAX_SUPP_OPER_CLASSES 32
3617
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303618typedef struct
3619{
3620 wpt_uint16 uStaIdx;
3621 wpt_uint8 uIsResponder;
3622 wpt_uint8 uUapsdQueues;
3623 wpt_uint8 uMaxSp;
3624 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303625 wpt_uint8 uIsOffChannelSupported;
3626 wpt_uint8 peerCurrOperClass;
3627 wpt_uint8 selfCurrOperClass;
3628 wpt_uint8 validChannelsLen;
3629 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3630 wpt_uint8 validOperClassesLen;
3631 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303632}WDI_SetTDLSLinkEstablishReqInfoType;
3633/*---------------------------------------------------------------------------
3634 WDI_SetTDLSLinkEstablishReqParamsType
3635---------------------------------------------------------------------------*/
3636typedef struct
3637{
3638 /*TDLS Link Establish Req*/
3639 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3640
3641 /*Request status callback offered by UMAC - it is called if the current
3642 req has returned PENDING as status; it delivers the status of sending
3643 the message over the BUS */
3644 WDI_ReqStatusCb wdiReqStatusCB;
3645
3646 /*The user data passed in by UMAC, it will be sent back when the above
3647 function pointer will be called */
3648 void* pUserData;
3649}WDI_SetTDLSLinkEstablishReqParamsType;
3650
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303651typedef struct
3652{
3653 /*Result of the operation*/
3654 WDI_Status wdiStatus;
3655
3656 /*STA Idx*/
3657 wpt_uint16 uStaIdx;
3658}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003659
Atul Mittalc0f739f2014-07-31 13:47:47 +05303660
3661
3662typedef struct
3663{
3664 /*STA Index*/
3665 wpt_uint8 staIdx;
3666 /* if this is 1, self is initiator otherwise responder only*/
3667 wpt_uint8 isOffchannelInitiator;
3668 /*TDLS off channel related params */
3669 wpt_uint8 targetOperClass;
3670 wpt_uint8 targetChannel;
3671 wpt_uint8 secondaryChannelOffset;
3672 wpt_uint8 reserved[64];
3673}WDI_SetTDLSChanSwitchReqInfoType;
3674
3675typedef struct
3676{
3677 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3678 WDI_ReqStatusCb wdiReqStatusCB;
3679 void* pUserData;
3680}WDI_SetTDLSChanSwitchReqParamsType;
3681
3682
3683typedef struct
3684{
3685 /*Result of the operation*/
3686 WDI_Status wdiStatus;
3687
3688 /*STA Idx*/
3689 wpt_uint16 uStaIdx;
3690}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003691/*---------------------------------------------------------------------------
3692 WDI_SetAddSTASelfParamsType
3693---------------------------------------------------------------------------*/
3694typedef struct
3695{
3696 /*Self Station MAC address*/
3697 wpt_macAddr selfMacAddr;
3698
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003699 /*Self STA device mode*/
3700 wpt_uint32 currDeviceMode;
3701
Jeff Johnson295189b2012-06-20 16:38:30 -07003702 /*Status of the operation*/
3703 wpt_uint32 uStatus;
3704}WDI_AddSTASelfInfoType;
3705
3706/*---------------------------------------------------------------------------
3707 WDI_SetAddSTASelfParamsType
3708---------------------------------------------------------------------------*/
3709typedef struct
3710{
3711 /* Add Sta Self Req */
3712 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3713
3714 /*Request status callback offered by UMAC - it is called if the current
3715 req has returned PENDING as status; it delivers the status of sending
3716 the message over the BUS */
3717 WDI_ReqStatusCb wdiReqStatusCB;
3718
3719 /*The user data passed in by UMAC, it will be sent back when the above
3720 function pointer will be called */
3721 void* pUserData;
3722}WDI_AddSTASelfReqParamsType;
3723
3724
3725/*---------------------------------------------------------------------------
3726 WDI_AddSTASelfRspParamsType
3727---------------------------------------------------------------------------*/
3728typedef struct
3729{
3730 /*Status of the response*/
3731 WDI_Status wdiStatus;
3732
3733 /*STA Idx allocated by HAL*/
3734 wpt_uint8 ucSTASelfIdx;
3735
3736 /* DPU Index (IGTK, PTK, GTK all same) */
3737 wpt_uint8 dpuIdx;
3738
3739 /* DPU Signature */
3740 wpt_uint8 dpuSignature;
3741
3742 /*Self STA Mac*/
3743 wpt_macAddr macSelfSta;
3744
3745}WDI_AddSTASelfRspParamsType;
3746
3747/*---------------------------------------------------------------------------
3748 WDI_DelSTASelfReqParamsType
3749 Del Sta Self info passed to WDI form WDA
3750---------------------------------------------------------------------------*/
3751typedef struct
3752{
3753 wpt_macAddr selfMacAddr;
3754
3755}WDI_DelSTASelfInfoType;
3756
3757/*---------------------------------------------------------------------------
3758 WDI_DelSTASelfReqParamsType
3759 Del Sta Self info passed to WDI form WDA
3760---------------------------------------------------------------------------*/
3761typedef struct
3762{
3763 /*Del Sta Self Info Type */
3764 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3765 /*Request status callback offered by UMAC - it is called if the current req
3766 has returned PENDING as status; it delivers the status of sending the message
3767 over the BUS */
3768 WDI_ReqStatusCb wdiReqStatusCB;
3769 /*The user data passed in by UMAC, it will be sent back when the above
3770 function pointer will be called */
3771 void* pUserData;
3772}WDI_DelSTASelfReqParamsType;
3773
3774/*---------------------------------------------------------------------------
3775 WDI_DelSTASelfRspParamsType
3776---------------------------------------------------------------------------*/
3777typedef struct
3778{
3779 /*Status of the response*/
3780 WDI_Status wdiStatus;
3781
3782 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3783// wpt_uint8 ucSTAIdx;
3784}WDI_DelSTASelfRspParamsType;
3785
3786/*---------------------------------------------------------------------------
3787 WDI_UapsdInfoType
3788 UAPSD parameters passed per AC to WDA from UMAC
3789---------------------------------------------------------------------------*/
3790typedef struct
3791{
3792 wpt_uint8 ucSTAIdx; // STA index
3793 wpt_uint8 ucAc; // Access Category
3794 wpt_uint8 ucUp; // User Priority
3795 wpt_uint32 uSrvInterval; // Service Interval
3796 wpt_uint32 uSusInterval; // Suspend Interval
3797 wpt_uint32 uDelayInterval; // Delay Interval
3798} WDI_UapsdInfoType;
3799
3800/*---------------------------------------------------------------------------
3801 WDI_SetUapsdAcParamsReqParamsType
3802 UAPSD parameters passed per AC to WDI from WDA
3803---------------------------------------------------------------------------*/
3804typedef struct
3805{
3806 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3807 WDI_UapsdInfoType wdiUapsdInfo;
3808 /*Request status callback offered by UMAC - it is called if the current req
3809 has returned PENDING as status; it delivers the status of sending the message
3810 over the BUS */
3811 WDI_ReqStatusCb wdiReqStatusCB;
3812 /*The user data passed in by UMAC, it will be sent back when the above
3813 function pointer will be called */
3814 void* pUserData;
3815}WDI_SetUapsdAcParamsReqParamsType;
3816
3817/*---------------------------------------------------------------------------
3818 WDI_EnterBmpsReqinfoType
3819 Enter BMPS parameters passed to WDA from UMAC
3820---------------------------------------------------------------------------*/
3821typedef struct
3822{
3823 //TBTT value derived from the last beacon
3824 wpt_uint8 ucBssIdx;
3825 wpt_uint64 uTbtt;
3826 wpt_uint8 ucDtimCount;
3827 //DTIM period given to HAL during association may not be valid,
3828 //if association is based on ProbeRsp instead of beacon.
3829 wpt_uint8 ucDtimPeriod;
3830 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3831 DXE when DXE wakes up from power save*/
3832 unsigned int dxePhyAddr;
3833
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003834 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003835 wpt_uint32 rssiFilterPeriod;
3836 wpt_uint32 numBeaconPerRssiAverage;
3837 wpt_uint8 bRssiFilterEnable;
3838}WDI_EnterBmpsReqinfoType;
3839
3840/*---------------------------------------------------------------------------
3841 WDI_EnterBmpsReqParamsType
3842 Enter BMPS parameters passed to WDI from WDA
3843---------------------------------------------------------------------------*/
3844typedef struct
3845{
3846 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3847 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3848 /*Request status callback offered by UMAC - it is called if the current req
3849 has returned PENDING as status; it delivers the status of sending the message
3850 over the BUS */
3851 WDI_ReqStatusCb wdiReqStatusCB;
3852 /*The user data passed in by UMAC, it will be sent back when the above
3853 function pointer will be called */
3854 void* pUserData;
3855}WDI_EnterBmpsReqParamsType;
3856
3857/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303858 WDI_EnterImpsReqParamsType
3859 Enter IMPS parameters passed to WDI from WDA
3860---------------------------------------------------------------------------*/
3861typedef struct
3862{
3863 /*Request status callback offered by UMAC - it is called if the current req
3864 has returned PENDING as status; it delivers the status of sending the message
3865 over the BUS */
3866 WDI_ReqStatusCb wdiReqStatusCB;
3867 /*The user data passed in by UMAC, it will be sent back when the above
3868 function pointer will be called */
3869 void* pUserData;
3870}WDI_EnterImpsReqParamsType;
3871
3872/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303873 WDI_ExitImpsReqParamsType
3874 Exit IMPS parameters passed to WDI from WDA
3875----------------------------------------------------------------------------*/
3876typedef struct
3877{
3878 /*Request status callback offered by UMAC */
3879 WDI_ReqStatusCb wdiReqStatusCB;
3880 /*The user data passed in by UMAC, it will be sent back when the above
3881 function pointer will be called */
3882 void* pUserData;
3883
3884}WDI_ExitImpsReqParamsType;
3885
3886/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003887 WDI_EnterBmpsReqParamsType
3888 Enter BMPS parameters passed from WDI to WDA
3889---------------------------------------------------------------------------*/
3890typedef struct
3891{
3892 /*Status of the response*/
3893 WDI_Status wdiStatus;
3894
3895 /*BssIDX of the session*/
3896 wpt_uint8 bssIdx;
3897}WDI_EnterBmpsRspParamsType;
3898
3899/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003900 WDI_ExitBmpsReqinfoType
3901 Exit BMPS parameters passed to WDA from UMAC
3902---------------------------------------------------------------------------*/
3903typedef struct
3904{
3905 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003906 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003907}WDI_ExitBmpsReqinfoType;
3908
3909/*---------------------------------------------------------------------------
3910 WDI_ExitBmpsReqParamsType
3911 Exit BMPS parameters passed to WDI from WDA
3912---------------------------------------------------------------------------*/
3913typedef struct
3914{
3915 /*Exit BMPS Info Type, same as tExitBmpsParams */
3916 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3917 /*Request status callback offered by UMAC - it is called if the current req
3918 has returned PENDING as status; it delivers the status of sending the message
3919 over the BUS */
3920 WDI_ReqStatusCb wdiReqStatusCB;
3921 /*The user data passed in by UMAC, it will be sent back when the above
3922 function pointer will be called */
3923 void* pUserData;
3924}WDI_ExitBmpsReqParamsType;
3925
3926/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003927 WDI_ExitBmpsReqParamsType
3928 Exit BMPS parameters passed from WDI to WDA
3929---------------------------------------------------------------------------*/
3930typedef struct
3931{
3932 /*Status of the response*/
3933 WDI_Status wdiStatus;
3934
3935 /*BssIDX of the session*/
3936 wpt_uint8 bssIdx;
3937}WDI_ExitBmpsRspParamsType;
3938
3939/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003940 WDI_EnterUapsdReqinfoType
3941 Enter UAPSD parameters passed to WDA from UMAC
3942---------------------------------------------------------------------------*/
3943typedef struct
3944{
3945 wpt_uint8 ucBkDeliveryEnabled:1;
3946 wpt_uint8 ucBeDeliveryEnabled:1;
3947 wpt_uint8 ucViDeliveryEnabled:1;
3948 wpt_uint8 ucVoDeliveryEnabled:1;
3949 wpt_uint8 ucBkTriggerEnabled:1;
3950 wpt_uint8 ucBeTriggerEnabled:1;
3951 wpt_uint8 ucViTriggerEnabled:1;
3952 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003953 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003954}WDI_EnterUapsdReqinfoType;
3955
3956/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003957 WDI_EnterUapsdRspParamsType
3958 Enter UAPSD parameters passed from WDI to WDA
3959---------------------------------------------------------------------------*/
3960typedef struct
3961{
3962 /*Status of the response*/
3963 WDI_Status wdiStatus;
3964
3965 /*BssIDX of the session*/
3966 wpt_uint8 bssIdx;
3967}WDI_EnterUapsdRspParamsType;
3968
3969/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003970 WDI_EnterUapsdReqinfoType
3971 Enter UAPSD parameters passed to WDI from WDA
3972---------------------------------------------------------------------------*/
3973typedef struct
3974{
3975 /*Enter UAPSD Info Type, same as tUapsdParams */
3976 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3977 /*Request status callback offered by UMAC - it is called if the current req
3978 has returned PENDING as status; it delivers the status of sending the message
3979 over the BUS */
3980 WDI_ReqStatusCb wdiReqStatusCB;
3981 /*The user data passed in by UMAC, it will be sent back when the above
3982 function pointer will be called */
3983 void* pUserData;
3984}WDI_EnterUapsdReqParamsType;
3985
3986/*---------------------------------------------------------------------------
3987 WDI_UpdateUapsdReqinfoType
3988 Update UAPSD parameters passed to WDA from UMAC
3989---------------------------------------------------------------------------*/
3990typedef struct
3991{
3992 wpt_uint8 ucSTAIdx;
3993 wpt_uint8 ucUapsdACMask;
3994 wpt_uint32 uMaxSpLen;
3995}WDI_UpdateUapsdReqinfoType;
3996
3997/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003998 WDI_ExitUapsdReqinfoType
3999 Exit UAPSD parameters passed to WDA from UMAC
4000---------------------------------------------------------------------------*/
4001typedef struct
4002{
4003 wpt_uint8 bssIdx;
4004}WDI_ExitUapsdReqinfoType;
4005
4006/*---------------------------------------------------------------------------
4007 WDI_ExitUapsdReqParamsType
4008 Exit UAPSD parameters passed to WDI from WDA
4009---------------------------------------------------------------------------*/
4010typedef struct
4011{
4012 /*Exit UAPSD Info Type, same as tUapsdParams */
4013 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
4014 /*Request status callback offered by UMAC - it is called if the current req
4015 has returned PENDING as status; it delivers the status of sending the message
4016 over the BUS */
4017 WDI_ReqStatusCb wdiReqStatusCB;
4018 /*The user data passed in by UMAC, it will be sent back when the above
4019 function pointer will be called */
4020 void* pUserData;
4021}WDI_ExitUapsdReqParamsType;
4022
4023/*---------------------------------------------------------------------------
4024 WDI_ExitUapsdRspParamsType
4025 Exit UAPSD parameters passed from WDI to WDA
4026---------------------------------------------------------------------------*/
4027typedef struct
4028{
4029 /*Status of the response*/
4030 WDI_Status wdiStatus;
4031
4032 /*BssIDX of the session*/
4033 wpt_uint8 bssIdx;
4034}WDI_ExitUapsdRspParamsType;
4035
4036/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004037 WDI_UpdateUapsdReqParamsType
4038 Update UAPSD parameters passed to WDI form WDA
4039---------------------------------------------------------------------------*/
4040typedef struct
4041{
4042 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4043 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4044 /*Request status callback offered by UMAC - it is called if the current req
4045 has returned PENDING as status; it delivers the status of sending the message
4046 over the BUS */
4047 WDI_ReqStatusCb wdiReqStatusCB;
4048 /*The user data passed in by UMAC, it will be sent back when the above
4049 function pointer will be called */
4050 void* pUserData;
4051}WDI_UpdateUapsdReqParamsType;
4052
4053/*---------------------------------------------------------------------------
4054 WDI_ConfigureRxpFilterReqParamsType
4055 RXP filter parameters passed to WDI form WDA
4056---------------------------------------------------------------------------*/
4057typedef struct
4058{
4059 /* Mode of Mcast and Bcast filters configured */
4060 wpt_uint8 ucSetMcstBcstFilterSetting;
4061
4062 /* Mcast Bcast Filters enable/disable*/
4063 wpt_uint8 ucSetMcstBcstFilter;
4064}WDI_RxpFilterReqParamsType;
4065
4066typedef struct
4067{
4068 /* Rxp Filter */
4069 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4070
4071 /*Request status callback offered by UMAC - it is called if the current req
4072 has returned PENDING as status; it delivers the status of sending the message
4073 over the BUS */
4074 WDI_ReqStatusCb wdiReqStatusCB;
4075 /*The user data passed in by UMAC, it will be sent back when the above
4076 function pointer will be called */
4077 void* pUserData;
4078}WDI_ConfigureRxpFilterReqParamsType;
4079
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304080typedef struct
4081{
4082 wpt_uint8 enableFlag;
4083 wpt_uint8 frameType;
4084 wpt_uint8 frameSize;
4085 wpt_uint8 bufferMode;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304086 wpt_uint8 continuousFrameLogging;
4087 wpt_uint8 minLogBufferSize;
4088 wpt_uint8 maxLogBufferSize;
4089}WDI_FWLoggingInitReqInfoType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304090
Siddharth Bhal64246172015-02-27 01:04:37 +05304091typedef struct
4092{
Sachin Ahuja715aafc2015-07-21 23:35:10 +05304093 wpt_uint32 reason_code;
4094}WDI_FatalEventLogsReqInfoType;
4095
4096
4097typedef struct
4098{
Siddharth Bhal64246172015-02-27 01:04:37 +05304099 wpt_uint8 flags;
4100}WDI_GetFrameLogReqInfoType;
4101
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304102typedef struct
4103{
4104 wpt_uint64 logBuffAddress[MAX_NUM_OF_BUFFER];
4105 wpt_uint32 status;
4106 wpt_uint32 logBuffLength[MAX_NUM_OF_BUFFER];
4107}WDI_FWLoggingDXEdoneIndInfoType;
4108
Jeff Johnson295189b2012-06-20 16:38:30 -07004109/*---------------------------------------------------------------------------
4110 WDI_BeaconFilterInfoType
4111 Beacon Filtering data structures passed to WDA form UMAC
4112---------------------------------------------------------------------------*/
4113typedef struct
4114{
4115 wpt_uint16 usCapabilityInfo;
4116 wpt_uint16 usCapabilityMask;
4117 wpt_uint16 usBeaconInterval;
4118 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004119 wpt_uint8 bssIdx;
4120 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004121}WDI_BeaconFilterInfoType;
4122
4123/*---------------------------------------------------------------------------
4124 WDI_BeaconFilterReqParamsType
4125 Beacon Filtering parameters passed to WDI form WDA
4126---------------------------------------------------------------------------*/
4127typedef struct
4128{
4129 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4130 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4131 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4132 copy of params from WDA to WDI */
4133 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4134 /*Request status callback offered by UMAC - it is called if the current req
4135 has returned PENDING as status; it delivers the status of sending the message
4136 over the BUS */
4137 WDI_ReqStatusCb wdiReqStatusCB;
4138 /*The user data passed in by UMAC, it will be sent back when the above
4139 function pointer will be called */
4140 void* pUserData;
4141}WDI_BeaconFilterReqParamsType;
4142
4143/*---------------------------------------------------------------------------
4144 WDI_RemBeaconFilterInfoType
4145 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4146---------------------------------------------------------------------------*/
4147typedef struct
4148{
4149 wpt_uint8 ucIeCount;
4150 wpt_uint8 ucRemIeId[1];
4151}WDI_RemBeaconFilterInfoType;
4152
4153/*---------------------------------------------------------------------------
4154 WDI_RemBeaconFilterReqParamsType
4155 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4156---------------------------------------------------------------------------*/
4157typedef struct
4158{
4159 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4160 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4161 /*Request status callback offered by UMAC - it is called if the current req
4162 has returned PENDING as status; it delivers the status of sending the message
4163 over the BUS */
4164 WDI_ReqStatusCb wdiReqStatusCB;
4165 /*The user data passed in by UMAC, it will be sent back when the above
4166 function pointer will be called */
4167 void* pUserData;
4168}WDI_RemBeaconFilterReqParamsType;
4169
4170/*---------------------------------------------------------------------------
4171 WDI_RSSIThresholdsType
4172 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4173---------------------------------------------------------------------------*/
4174typedef struct
4175{
4176 wpt_int8 ucRssiThreshold1 : 8;
4177 wpt_int8 ucRssiThreshold2 : 8;
4178 wpt_int8 ucRssiThreshold3 : 8;
4179 wpt_uint8 bRssiThres1PosNotify : 1;
4180 wpt_uint8 bRssiThres1NegNotify : 1;
4181 wpt_uint8 bRssiThres2PosNotify : 1;
4182 wpt_uint8 bRssiThres2NegNotify : 1;
4183 wpt_uint8 bRssiThres3PosNotify : 1;
4184 wpt_uint8 bRssiThres3NegNotify : 1;
4185 wpt_uint8 bReserved10 : 2;
4186} WDI_RSSIThresholdsType;
4187
4188/*---------------------------------------------------------------------------
4189 WDI_SetRSSIThresholdsReqParamsType
4190 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4191---------------------------------------------------------------------------*/
4192typedef struct
4193{
4194 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4195 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4196 /*Request status callback offered by UMAC - it is called if the current req
4197 has returned PENDING as status; it delivers the status of sending the message
4198 over the BUS */
4199 WDI_ReqStatusCb wdiReqStatusCB;
4200 /*The user data passed in by UMAC, it will be sent back when the above
4201 function pointer will be called */
4202 void* pUserData;
4203}WDI_SetRSSIThresholdsReqParamsType;
4204
4205/*---------------------------------------------------------------------------
4206 WDI_HostOffloadReqType
4207 host offload info passed to WDA form UMAC
4208---------------------------------------------------------------------------*/
4209#ifdef WLAN_NS_OFFLOAD
4210typedef struct
4211{
4212 wpt_uint8 srcIPv6Addr[16];
4213 wpt_uint8 selfIPv6Addr[16];
4214 //Only support 2 possible Network Advertisement IPv6 address
4215 wpt_uint8 targetIPv6Addr1[16];
4216 wpt_uint8 targetIPv6Addr2[16];
4217 wpt_uint8 selfMacAddr[6];
4218 wpt_uint8 srcIPv6AddrValid : 1;
4219 wpt_uint8 targetIPv6Addr1Valid : 1;
4220 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304221 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004222} WDI_NSOffloadParams;
4223#endif //WLAN_NS_OFFLOAD
4224
4225typedef struct
4226{
4227 wpt_uint8 ucOffloadType;
4228 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004229 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004230 union
4231 {
4232 wpt_uint8 aHostIpv4Addr [4];
4233 wpt_uint8 aHostIpv6Addr [16];
4234 } params;
4235} WDI_HostOffloadReqType;
4236
4237/*---------------------------------------------------------------------------
4238 WDI_HostOffloadReqParamsType
4239 host offload info passed to WDI form WDA
4240---------------------------------------------------------------------------*/
4241typedef struct
4242{
4243 /*Host offload Info Type, same as tHalHostOffloadReq */
4244 WDI_HostOffloadReqType wdiHostOffloadInfo;
4245#ifdef WLAN_NS_OFFLOAD
4246 WDI_NSOffloadParams wdiNsOffloadParams;
4247#endif //WLAN_NS_OFFLOAD
4248 /*Request status callback offered by UMAC - it is called if the current req
4249 has returned PENDING as status; it delivers the status of sending the message
4250 over the BUS */
4251 WDI_ReqStatusCb wdiReqStatusCB;
4252 /*The user data passed in by UMAC, it will be sent back when the above
4253 function pointer will be called */
4254 void* pUserData;
4255}WDI_HostOffloadReqParamsType;
4256
4257/*---------------------------------------------------------------------------
4258 WDI_KeepAliveReqType
4259 Keep Alive info passed to WDA form UMAC
4260---------------------------------------------------------------------------*/
4261typedef struct
4262{
4263 wpt_uint8 ucPacketType;
4264 wpt_uint32 ucTimePeriod;
4265 wpt_uint8 aHostIpv4Addr[4];
4266 wpt_uint8 aDestIpv4Addr[4];
4267 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004268 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004269} WDI_KeepAliveReqType;
4270
4271/*---------------------------------------------------------------------------
4272 WDI_KeepAliveReqParamsType
4273 Keep Alive passed to WDI form WDA
4274---------------------------------------------------------------------------*/
4275typedef struct
4276{
4277 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4278 WDI_KeepAliveReqType wdiKeepAliveInfo;
4279 /*Request status callback offered by UMAC - it is called if the current req
4280 has returned PENDING as status; it delivers the status of sending the message
4281 over the BUS */
4282 WDI_ReqStatusCb wdiReqStatusCB;
4283 /*The user data passed in by UMAC, it will be sent back when the above
4284 function pointer will be called */
4285 void* pUserData;
4286}WDI_KeepAliveReqParamsType;
4287
4288/*---------------------------------------------------------------------------
4289 WDI_WowlAddBcPtrnInfoType
4290 Wowl add ptrn info passed to WDA form UMAC
4291---------------------------------------------------------------------------*/
4292typedef struct
4293{
4294 wpt_uint8 ucPatternId; // Pattern ID
4295 // Pattern byte offset from beginning of the 802.11 packet to start of the
4296 // wake-up pattern
4297 wpt_uint8 ucPatternByteOffset;
4298 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4299 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4300 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4301 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4302 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4303 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004304 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004305} WDI_WowlAddBcPtrnInfoType;
4306
4307/*---------------------------------------------------------------------------
4308 WDI_WowlAddBcPtrnReqParamsType
4309 Wowl add ptrn info passed to WDI form WDA
4310---------------------------------------------------------------------------*/
4311typedef struct
4312{
4313 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4314 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4315 /*Request status callback offered by UMAC - it is called if the current req
4316 has returned PENDING as status; it delivers the status of sending the message
4317 over the BUS */
4318 WDI_ReqStatusCb wdiReqStatusCB;
4319 /*The user data passed in by UMAC, it will be sent back when the above
4320 function pointer will be called */
4321 void* pUserData;
4322}WDI_WowlAddBcPtrnReqParamsType;
4323
4324/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004325 WDI_WowlAddBcPtrnRspParamsType
4326 Wowl add ptrn info passed from WDI to WDA
4327---------------------------------------------------------------------------*/
4328typedef struct
4329{
4330 /*Status of the response*/
4331 WDI_Status wdiStatus;
4332 /*BssIDX of the session*/
4333 wpt_uint8 bssIdx;
4334}WDI_WowlAddBcPtrnRspParamsType;
4335
4336/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004337 WDI_WowlDelBcPtrnInfoType
4338 Wowl add ptrn info passed to WDA form UMAC
4339---------------------------------------------------------------------------*/
4340typedef struct
4341{
4342 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004343 wpt_uint8 ucPatternId;
4344 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004345} WDI_WowlDelBcPtrnInfoType;
4346
4347/*---------------------------------------------------------------------------
4348 WDI_WowlDelBcPtrnReqParamsType
4349 Wowl add ptrn info passed to WDI form WDA
4350---------------------------------------------------------------------------*/
4351typedef struct
4352{
4353 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4354 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4355 /*Request status callback offered by UMAC - it is called if the current req
4356 has returned PENDING as status; it delivers the status of sending the message
4357 over the BUS */
4358 WDI_ReqStatusCb wdiReqStatusCB;
4359 /*The user data passed in by UMAC, it will be sent back when the above
4360 function pointer will be called */
4361 void* pUserData;
4362}WDI_WowlDelBcPtrnReqParamsType;
4363
4364/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004365 WDI_WowlDelBcPtrnRspParamsType
4366 Wowl Del ptrn info passed from WDI to WDA
4367---------------------------------------------------------------------------*/
4368typedef struct
4369{
4370 /*Status of the response*/
4371 WDI_Status wdiStatus;
4372 /*BssIDX of the session*/
4373 wpt_uint8 bssIdx;
4374}WDI_WowlDelBcPtrnRspParamsType;
4375
4376/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004377 WDI_WowlEnterInfoType
4378 Wowl enter info passed to WDA form UMAC
4379---------------------------------------------------------------------------*/
4380typedef struct
4381{
4382 /* Enables/disables magic packet filtering */
4383 wpt_uint8 ucMagicPktEnable;
4384
4385 /* Magic pattern */
4386 wpt_macAddr magicPtrn;
4387
4388 /* Enables/disables packet pattern filtering in firmware.
4389 Enabling this flag enables broadcast pattern matching
4390 in Firmware. If unicast pattern matching is also desired,
4391 ucUcastPatternFilteringEnable flag must be set tot true
4392 as well
4393 */
4394 wpt_uint8 ucPatternFilteringEnable;
4395
4396 /* Enables/disables unicast packet pattern filtering.
4397 This flag specifies whether we want to do pattern match
4398 on unicast packets as well and not just broadcast packets.
4399 This flag has no effect if the ucPatternFilteringEnable
4400 (main controlling flag) is set to false
4401 */
4402 wpt_uint8 ucUcastPatternFilteringEnable;
4403
4404 /* This configuration is valid only when magicPktEnable=1.
4405 * It requests hardware to wake up when it receives the
4406 * Channel Switch Action Frame.
4407 */
4408 wpt_uint8 ucWowChnlSwitchRcv;
4409
4410 /* This configuration is valid only when magicPktEnable=1.
4411 * It requests hardware to wake up when it receives the
4412 * Deauthentication Frame.
4413 */
4414 wpt_uint8 ucWowDeauthRcv;
4415
4416 /* This configuration is valid only when magicPktEnable=1.
4417 * It requests hardware to wake up when it receives the
4418 * Disassociation Frame.
4419 */
4420 wpt_uint8 ucWowDisassocRcv;
4421
4422 /* This configuration is valid only when magicPktEnable=1.
4423 * It requests hardware to wake up when it has missed
4424 * consecutive beacons. This is a hardware register
4425 * configuration (NOT a firmware configuration).
4426 */
4427 wpt_uint8 ucWowMaxMissedBeacons;
4428
4429 /* This configuration is valid only when magicPktEnable=1.
4430 * This is a timeout value in units of microsec. It requests
4431 * hardware to unconditionally wake up after it has stayed
4432 * in WoWLAN mode for some time. Set 0 to disable this feature.
4433 */
4434 wpt_uint8 ucWowMaxSleepUsec;
4435
4436#ifdef WLAN_WAKEUP_EVENTS
4437 /* This configuration directs the WoW packet filtering to look for EAP-ID
4438 * requests embedded in EAPOL frames and use this as a wake source.
4439 */
4440 wpt_uint8 ucWoWEAPIDRequestEnable;
4441
4442 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4443 * requests and use this as a wake source.
4444 */
4445 wpt_uint8 ucWoWEAPOL4WayEnable;
4446
4447 /* This configuration allows a host wakeup on an network scan offload match.
4448 */
4449 wpt_uint8 ucWowNetScanOffloadMatch;
4450
4451 /* This configuration allows a host wakeup on any GTK rekeying error.
4452 */
4453 wpt_uint8 ucWowGTKRekeyError;
4454
4455 /* This configuration allows a host wakeup on BSS connection loss.
4456 */
4457 wpt_uint8 ucWoWBSSConnLoss;
4458#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004459
4460 /* BSSIDX used to find the current session
4461 */
4462 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004463} WDI_WowlEnterInfoType;
4464
4465/*---------------------------------------------------------------------------
4466 WDI_WowlEnterReqParamsType
4467 Wowl enter info passed to WDI form WDA
4468---------------------------------------------------------------------------*/
4469typedef struct
4470{
4471 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4472 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4473 /*Request status callback offered by UMAC - it is called if the current req
4474 has returned PENDING as status; it delivers the status of sending the message
4475 over the BUS */
4476 WDI_ReqStatusCb wdiReqStatusCB;
4477 /*The user data passed in by UMAC, it will be sent back when the above
4478 function pointer will be called */
4479 void* pUserData;
4480}WDI_WowlEnterReqParamsType;
4481
4482/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004483 WDI_WowlEnterRsqParamsType
4484 Wowl enter info passed from WDI to WDA
4485---------------------------------------------------------------------------*/
4486typedef struct
4487{
4488 /*Status of the response message*/
4489 WDI_Status status;
4490
4491 /* BSSIDX used to find the current session
4492 */
4493 wpt_uint8 bssIdx;
4494}WDI_WowlEnterRspParamsType;
4495
4496/*---------------------------------------------------------------------------
4497 WDI_WowlExitInfoType
4498 Wowl exit info passed to WDA form UMAC
4499 ---------------------------------------------------------------------------*/
4500typedef struct
4501{
4502 /* BSSIDX used to find the current session
4503 */
4504 wpt_uint8 bssIdx;
4505} WDI_WowlExitInfoType;
4506
4507/*---------------------------------------------------------------------------
4508 WDI_WowlExitReqParamsType
4509 Wowl exit info passed to WDI form WDA
4510---------------------------------------------------------------------------*/
4511typedef struct
4512{
4513 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4514 WDI_WowlExitInfoType wdiWowlExitInfo;
4515 /*Request status callback offered by UMAC - it is called if the current req
4516 has returned PENDING as status; it delivers the status of sending the message
4517 over the BUS */
4518 WDI_ReqStatusCb wdiReqStatusCB;
4519 /*The user data passed in by UMAC, it will be sent back when the above
4520 function pointer will be called */
4521 void* pUserData;
4522}WDI_WowlExitReqParamsType;
4523
4524/*---------------------------------------------------------------------------
4525 WDI_WowlExitRspParamsType
4526 Wowl exit info passed from WDI to WDA
4527---------------------------------------------------------------------------*/
4528typedef struct
4529{
4530 /*Status of the response message*/
4531 WDI_Status status;
4532
4533 /* BSSIDX used to find the current session
4534 */
4535 wpt_uint8 bssIdx;
4536}WDI_WowlExitRspParamsType;
4537
4538/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004539 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4540 Apps Cpu Wakeup State parameters passed to WDI form WDA
4541---------------------------------------------------------------------------*/
4542typedef struct
4543{
4544 /*Depicts the state of the Apps CPU */
4545 wpt_boolean bIsAppsAwake;
4546 /*Request status callback offered by UMAC - it is called if the current req
4547 has returned PENDING as status; it delivers the status of sending the message
4548 over the BUS */
4549 WDI_ReqStatusCb wdiReqStatusCB;
4550 /*The user data passed in by UMAC, it will be sent back when the above
4551 function pointer will be called */
4552 void* pUserData;
4553}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4554/*---------------------------------------------------------------------------
4555 WDI_FlushAcReqinfoType
4556---------------------------------------------------------------------------*/
4557typedef struct
4558{
4559 // Message Type
4560 wpt_uint16 usMesgType;
4561
4562 // Message Length
4563 wpt_uint16 usMesgLen;
4564
4565 // Station Index. originates from HAL
4566 wpt_uint8 ucSTAId;
4567
4568 // TID for which the transmit queue is being flushed
4569 wpt_uint8 ucTid;
4570
4571}WDI_FlushAcReqinfoType;
4572
4573/*---------------------------------------------------------------------------
4574 WDI_FlushAcReqParamsType
4575---------------------------------------------------------------------------*/
4576typedef struct
4577{
4578 /*AC Info */
4579 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4580
4581 /*Request status callback offered by UMAC - it is called if the current
4582 req has returned PENDING as status; it delivers the status of sending
4583 the message over the BUS */
4584 WDI_ReqStatusCb wdiReqStatusCB;
4585
4586 /*The user data passed in by UMAC, it will be sent back when the above
4587 function pointer will be called */
4588 void* pUserData;
4589}WDI_FlushAcReqParamsType;
4590
4591/*---------------------------------------------------------------------------
4592 WDI_BtAmpEventinfoType
4593 BT-AMP Event Structure
4594---------------------------------------------------------------------------*/
4595typedef struct
4596{
4597 wpt_uint8 ucBtAmpEventType;
4598
4599} WDI_BtAmpEventinfoType;
4600
4601/*---------------------------------------------------------------------------
4602 WDI_BtAmpEventParamsType
4603---------------------------------------------------------------------------*/
4604typedef struct
4605{
4606 /*BT AMP event Info */
4607 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4608
4609 /*Request status callback offered by UMAC - it is called if the current
4610 req has returned PENDING as status; it delivers the status of sending
4611 the message over the BUS */
4612 WDI_ReqStatusCb wdiReqStatusCB;
4613
4614 /*The user data passed in by UMAC, it will be sent back when the above
4615 function pointer will be called */
4616 void* pUserData;
4617}WDI_BtAmpEventParamsType;
4618
Jeff Johnsone7245742012-09-05 17:12:55 -07004619#ifdef FEATURE_OEM_DATA_SUPPORT
4620
4621#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004622#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004623#endif
4624#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004625#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004626#endif
4627
4628/*----------------------------------------------------------------------------
4629 WDI_oemDataReqInfoType
4630----------------------------------------------------------------------------*/
4631typedef struct
4632{
4633 wpt_macAddr selfMacAddr;
4634 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4635}WDI_oemDataReqInfoType;
4636
4637/*----------------------------------------------------------------------------
4638 WDI_oemDataReqParamsType
4639----------------------------------------------------------------------------*/
4640typedef struct
4641{
4642 /*Request status callback offered by UMAC - it is called if the current
4643 req has returned PENDING as status; it delivers the status of sending
4644 the message over the BUS */
4645 WDI_ReqStatusCb wdiReqStatusCB;
4646
4647 /*The user data passed in by UMAC, it will be sent back when the above
4648 function pointer will be called */
4649 void* pUserData;
4650
4651 /*OEM DATA REQ Info */
4652 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4653
4654}WDI_oemDataReqParamsType;
4655
4656/*----------------------------------------------------------------------------
4657 WDI_oemDataRspParamsType
4658----------------------------------------------------------------------------*/
4659typedef struct
4660{
4661 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4662}WDI_oemDataRspParamsType;
4663
4664#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004665
4666#ifdef WLAN_FEATURE_VOWIFI_11R
4667/*---------------------------------------------------------------------------
4668 WDI_AggrAddTSReqInfoType
4669---------------------------------------------------------------------------*/
4670typedef struct
4671{
4672 /*STA Index*/
4673 wpt_uint8 ucSTAIdx;
4674
4675 /*Identifier for TSpec*/
4676 wpt_uint8 ucTspecIdx;
4677
4678 /*Tspec IE negotiated OTA*/
4679 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4680
4681 /*UAPSD delivery and trigger enabled flags */
4682 wpt_uint8 ucUapsdFlags;
4683
4684 /*SI for each AC*/
4685 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4686
4687 /*Suspend Interval for each AC*/
4688 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4689
4690 /*DI for each AC*/
4691 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4692
4693}WDI_AggrAddTSReqInfoType;
4694
4695
4696/*---------------------------------------------------------------------------
4697 WDI_AggrAddTSReqParamsType
4698---------------------------------------------------------------------------*/
4699typedef struct
4700{
4701 /*TSpec Info */
4702 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4703
4704 /*Request status callback offered by UMAC - it is called if the current
4705 req has returned PENDING as status; it delivers the status of sending
4706 the message over the BUS */
4707 WDI_ReqStatusCb wdiReqStatusCB;
4708
4709 /*The user data passed in by UMAC, it will be sent back when the above
4710 function pointer will be called */
4711 void* pUserData;
4712}WDI_AggrAddTSReqParamsType;
4713
4714#endif /* WLAN_FEATURE_VOWIFI_11R */
4715
Jeff Johnson295189b2012-06-20 16:38:30 -07004716/*---------------------------------------------------------------------------
4717 WDI_FTMCommandReqType
4718---------------------------------------------------------------------------*/
4719typedef struct
4720{
4721 /* FTM Command Body length */
4722 wpt_uint32 bodyLength;
4723 /* Actual FTM Command body */
4724 void *FTMCommandBody;
4725}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004726
4727/*---------------------------------------------------------------------------
4728 WDI_WlanSuspendInfoType
4729---------------------------------------------------------------------------*/
4730typedef struct
4731{
4732 /* Mode of Mcast and Bcast filters configured */
4733 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4734}WDI_WlanSuspendInfoType;
4735
4736/*---------------------------------------------------------------------------
4737 WDI_SuspendParamsType
4738---------------------------------------------------------------------------*/
4739typedef struct
4740{
4741 WDI_WlanSuspendInfoType wdiSuspendParams;
4742
4743 /*Request status callback offered by UMAC - it is called if the current
4744 req has returned PENDING as status; it delivers the status of sending
4745 the message over the BUS */
4746 WDI_ReqStatusCb wdiReqStatusCB;
4747
4748 /*The user data passed in by UMAC, it will be sent back when the above
4749 function pointer will be called */
4750 void* pUserData;
4751
4752}WDI_SuspendParamsType;
4753
4754/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004755 WDI_TrafficStatsType - This is collected for each STA
4756---------------------------------------------------------------------------*/
4757
4758typedef struct
4759{
4760 /* TX stats */
4761 wpt_uint32 txBytesPushed;
4762 wpt_uint32 txPacketsPushed;
4763
4764 /* RX stats */
4765 wpt_uint32 rxBytesRcvd;
4766 wpt_uint32 rxPacketsRcvd;
4767 wpt_uint32 rxTimeTotal;
4768}WDI_TrafficStatsType;
4769
4770typedef struct
4771{
4772 WDI_TrafficStatsType *pTrafficStats;
4773 wpt_uint32 length;
4774 wpt_uint32 duration;
4775
4776 /*Request status callback offered by UMAC - it is called if the current
4777 req has returned PENDING as status; it delivers the status of sending
4778 the message over the BUS */
4779 WDI_ReqStatusCb wdiReqStatusCB;
4780
4781 /*The user data passed in by UMAC, it will be sent back when the above
4782 function pointer will be called */
4783 void* pUserData;
4784}WDI_TrafficStatsIndType;
4785
Chet Lanctot186b5732013-03-18 10:26:30 -07004786#ifdef WLAN_FEATURE_11W
4787typedef struct
4788{
4789
4790 wpt_boolean bExcludeUnencrypt;
4791 wpt_macAddr bssid;
4792 /*Request status callback offered by UMAC - it is called if the current
4793 req has returned PENDING as status; it delivers the status of sending
4794 the message over the BUS */
4795 WDI_ReqStatusCb wdiReqStatusCB;
4796
4797 /*The user data passed in by UMAC, it will be sent back when the above
4798 function pointer will be called */
4799 void* pUserData;
4800}WDI_ExcludeUnencryptIndType;
4801#endif
4802
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004803/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004804 WDI_WlanResumeInfoType
4805---------------------------------------------------------------------------*/
4806typedef struct
4807{
4808 /* Mode of Mcast and Bcast filters configured */
4809 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4810}WDI_WlanResumeInfoType;
4811
4812/*---------------------------------------------------------------------------
4813 WDI_ResumeParamsType
4814---------------------------------------------------------------------------*/
4815typedef struct
4816{
4817 WDI_WlanResumeInfoType wdiResumeParams;
4818
4819 /*Request status callback offered by UMAC - it is called if the current
4820 req has returned PENDING as status; it delivers the status of sending
4821 the message over the BUS */
4822 WDI_ReqStatusCb wdiReqStatusCB;
4823
4824 /*The user data passed in by UMAC, it will be sent back when the above
4825 function pointer will be called */
4826 void* pUserData;
4827
4828}WDI_ResumeParamsType;
4829
4830#ifdef WLAN_FEATURE_GTK_OFFLOAD
4831/*---------------------------------------------------------------------------
4832 * WDI_GTK_OFFLOAD_REQ
4833 *--------------------------------------------------------------------------*/
4834
4835typedef struct
4836{
4837 wpt_uint32 ulFlags; /* optional flags */
4838 wpt_uint8 aKCK[16]; /* Key confirmation key */
4839 wpt_uint8 aKEK[16]; /* key encryption key */
4840 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004841 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004842} WDI_GtkOffloadReqParams;
4843
4844typedef struct
4845{
4846 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4847
4848 /*Request status callback offered by UMAC - it is called if the current
4849 req has returned PENDING as status; it delivers the status of sending
4850 the message over the BUS */
4851 WDI_ReqStatusCb wdiReqStatusCB;
4852
4853 /*The user data passed in by UMAC, it will be sent back when the above
4854 function pointer will be called */
4855 void* pUserData;
4856} WDI_GtkOffloadReqMsg;
4857
4858/*---------------------------------------------------------------------------
4859 * WDI_GTK_OFFLOAD_RSP
4860 *--------------------------------------------------------------------------*/
4861typedef struct
4862{
4863 /* success or failure */
4864 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004865 /*BssIdx of the response */
4866 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004867} WDI_GtkOffloadRspParams;
4868
4869typedef struct
4870{
4871 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4872
4873 /*Request status callback offered by UMAC - it is called if the current
4874 req has returned PENDING as status; it delivers the status of sending
4875 the message over the BUS */
4876 WDI_ReqStatusCb wdiReqStatusCB;
4877
4878 /*The user data passed in by UMAC, it will be sent back when the above
4879 function pointer will be called */
4880 void* pUserData;
4881} WDI_GtkOffloadRspMsg;
4882
4883
4884/*---------------------------------------------------------------------------
4885* WDI_GTK_OFFLOAD_GETINFO_REQ
4886*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004887typedef struct
4888{
4889 /*BssIdx of the response */
4890 wpt_macAddr bssId;
4891} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004892
4893typedef struct
4894{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004895
4896 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004897 /*Request status callback offered by UMAC - it is called if the current
4898 req has returned PENDING as status; it delivers the status of sending
4899 the message over the BUS */
4900 WDI_ReqStatusCb wdiReqStatusCB;
4901
4902 /*The user data passed in by UMAC, it will be sent back when the above
4903 function pointer will be called */
4904 void* pUserData;
4905} WDI_GtkOffloadGetInfoReqMsg;
4906
4907/*---------------------------------------------------------------------------
4908* WDI_GTK_OFFLOAD_GETINFO_RSP
4909*--------------------------------------------------------------------------*/
4910typedef struct
4911{
4912 wpt_uint32 ulStatus; /* success or failure */
4913 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4914 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4915 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4916 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304917 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004918} WDI_GtkOffloadGetInfoRspParams;
4919
4920typedef struct
4921{
4922 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4923
4924 /*Request status callback offered by UMAC - it is called if the current
4925 req has returned PENDING as status; it delivers the status of sending
4926 the message over the BUS */
4927 WDI_ReqStatusCb wdiReqStatusCB;
4928
4929 /*The user data passed in by UMAC, it will be sent back when the above
4930 function pointer will be called */
4931 void* pUserData;
4932} WDI_GtkOffloadGetInfoRspMsg;
4933#endif // WLAN_FEATURE_GTK_OFFLOAD
4934
4935/*---------------------------------------------------------------------------
4936 WDI_SuspendResumeRspParamsType
4937---------------------------------------------------------------------------*/
4938typedef struct
4939{
4940 /*Status of the response*/
4941 WDI_Status wdiStatus;
4942}WDI_SuspendResumeRspParamsType;
4943
Leo Chang9056f462013-08-01 19:21:11 -07004944#ifdef FEATURE_WLAN_LPHB
4945/*---------------------------------------------------------------------------
4946 WDI Low Power Heart Beat Config request
4947 Copy from sirApi.h to avoid compile error
4948---------------------------------------------------------------------------*/
4949#define WDI_LPHB_FILTER_LEN 64
4950
4951typedef enum
4952{
4953 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4954 WDI_LPHB_SET_TCP_PARAMS_INDID,
4955 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4956 WDI_LPHB_SET_UDP_PARAMS_INDID,
4957 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4958 WDI_LPHB_SET_NETWORK_INFO_INDID,
4959} WDI_LPHBIndType;
4960
4961typedef struct
4962{
4963 wpt_uint8 enable;
4964 wpt_uint8 item;
4965 wpt_uint8 session;
4966} WDI_LPHBEnableStruct;
4967
4968typedef struct
4969{
4970 wpt_uint32 srv_ip;
4971 wpt_uint32 dev_ip;
4972 wpt_uint16 src_port;
4973 wpt_uint16 dst_port;
4974 wpt_uint16 timeout;
4975 wpt_uint8 session;
4976 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004977 wpt_uint16 timePeriodSec; // in seconds
4978 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004979} WDI_LPHBTcpParamStruct;
4980
4981typedef struct
4982{
4983 wpt_uint16 length;
4984 wpt_uint8 offset;
4985 wpt_uint8 session;
4986 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4987} WDI_LPHBTcpFilterStruct;
4988
4989typedef struct
4990{
4991 wpt_uint32 srv_ip;
4992 wpt_uint32 dev_ip;
4993 wpt_uint16 src_port;
4994 wpt_uint16 dst_port;
4995 wpt_uint16 interval;
4996 wpt_uint16 timeout;
4997 wpt_uint8 session;
4998 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4999} WDI_LPHBUdpParamStruct;
5000
5001typedef struct
5002{
5003 wpt_uint16 length;
5004 wpt_uint8 offset;
5005 wpt_uint8 session;
5006 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5007} WDI_LPHBUdpFilterStruct;
5008
5009typedef struct
5010{
5011 wpt_uint16 cmd;
5012 wpt_uint16 dummy;
5013 union
5014 {
5015 WDI_LPHBEnableStruct lphbEnableReq;
5016 WDI_LPHBTcpParamStruct lphbTcpParamReq;
5017 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
5018 WDI_LPHBUdpParamStruct lphbUdpParamReq;
5019 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
5020 } params;
5021} WDI_LPHBReq;
5022#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07005023
Jeff Johnson295189b2012-06-20 16:38:30 -07005024/*---------------------------------------------------------------------------
5025 WDI_AuthType
5026---------------------------------------------------------------------------*/
5027typedef enum
5028{
5029 WDI_AUTH_TYPE_ANY = 0,
5030
5031 WDI_AUTH_TYPE_NONE,
5032 WDI_AUTH_TYPE_OPEN_SYSTEM,
5033 WDI_AUTH_TYPE_SHARED_KEY,
5034
5035 WDI_AUTH_TYPE_WPA,
5036 WDI_AUTH_TYPE_WPA_PSK,
5037 WDI_AUTH_TYPE_WPA_NONE,
5038
5039 WDI_AUTH_TYPE_RSN,
5040 WDI_AUTH_TYPE_RSN_PSK,
5041 WDI_AUTH_TYPE_FT_RSN,
5042 WDI_AUTH_TYPE_FT_RSN_PSK,
5043 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5044 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5045 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5046
5047}WDI_AuthType;
5048
5049/*---------------------------------------------------------------------------
5050 WDI_EdType
5051---------------------------------------------------------------------------*/
5052typedef enum
5053{
5054 WDI_ED_ANY = 0,
5055 WDI_ED_NONE,
5056 WDI_ED_WEP40,
5057 WDI_ED_WEP104,
5058 WDI_ED_TKIP,
5059 WDI_ED_CCMP,
5060 WDI_ED_WPI,
5061 WDI_ED_AES_128_CMAC,
5062 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5063} WDI_EdType;
5064
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005065#ifdef FEATURE_WLAN_SCAN_PNO
5066
5067/*Max number of channels for a given network supported by PNO*/
5068#define WDI_PNO_MAX_NETW_CHANNELS 26
5069
5070/*Max number of channels for a given network supported by PNO*/
5071#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5072
5073/*The max number of programable networks for PNO*/
5074#define WDI_PNO_MAX_SUPP_NETWORKS 16
5075
5076/*The max number of scan timers programable in Riva*/
5077#define WDI_PNO_MAX_SCAN_TIMERS 10
5078
5079#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005080
5081/*---------------------------------------------------------------------------
5082 WDI_PNOMode
5083---------------------------------------------------------------------------*/
5084typedef enum
5085{
5086 /*Network offload is to start immediately*/
5087 WDI_PNO_MODE_IMMEDIATE,
5088
5089 /*Network offload is to start on host suspend*/
5090 WDI_PNO_MODE_ON_SUSPEND,
5091
5092 /*Network offload is to start on host resume*/
5093 WDI_PNO_MODE_ON_RESUME,
5094 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5095} WDI_PNOMode;
5096
5097/* SSID broadcast type */
5098typedef enum
5099{
5100 WDI_BCAST_UNKNOWN = 0,
5101 WDI_BCAST_NORMAL = 1,
5102 WDI_BCAST_HIDDEN = 2,
5103
5104 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5105} WDI_SSIDBcastType;
5106
5107/*---------------------------------------------------------------------------
5108 WDI_NetworkType
5109---------------------------------------------------------------------------*/
5110typedef struct
5111{
5112 /*The SSID of the preferred network*/
5113 WDI_MacSSid ssId;
5114
5115 /*The authentication method of the preferred network*/
5116 WDI_AuthType wdiAuth;
5117
5118 /*The encryption method of the preferred network*/
5119 WDI_EdType wdiEncryption;
5120
5121 /*SSID broadcast type, normal, hidden or unknown*/
5122 WDI_SSIDBcastType wdiBcastNetworkType;
5123
5124 /*channel count - 0 for all channels*/
5125 wpt_uint8 ucChannelCount;
5126
5127 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305128 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005129
5130 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5131 wpt_uint8 rssiThreshold;
5132} WDI_NetworkType;
5133
5134
5135/*---------------------------------------------------------------------------
5136 WDI_ScanTimer
5137---------------------------------------------------------------------------*/
5138typedef struct
5139{
5140 /*The timer value*/
5141 wpt_uint32 uTimerValue;
5142
5143 /*The amount of time we should be repeating the interval*/
5144 wpt_uint32 uTimerRepeat;
5145} WDI_ScanTimer;
5146
5147/*---------------------------------------------------------------------------
5148 WDI_ScanTimersType
5149---------------------------------------------------------------------------*/
5150typedef struct
5151{
5152 /*The number of value pair intervals present in the array*/
5153 wpt_uint8 ucScanTimersCount;
5154
5155 /*The time-repeat value pairs*/
5156 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5157} WDI_ScanTimersType;
5158
5159/*---------------------------------------------------------------------------
5160 WDI_PNOScanReqType
5161---------------------------------------------------------------------------*/
5162typedef struct
5163{
5164 /*Enable or disable PNO feature*/
5165 wpt_uint8 bEnable;
5166
5167 /*PNO mode requested*/
5168 WDI_PNOMode wdiModePNO;
5169
5170 /*Network count*/
5171 wpt_uint8 ucNetworksCount;
5172
5173 /*The networks to look for*/
5174 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5175
5176 /*Scan timer intervals*/
5177 WDI_ScanTimersType scanTimers;
5178
5179 /*Probe template for 2.4GHz band*/
5180 wpt_uint16 us24GProbeSize;
5181 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5182
5183 /*Probe template for 5GHz band*/
5184 wpt_uint16 us5GProbeSize;
5185 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5186} WDI_PNOScanReqType;
5187
5188/*---------------------------------------------------------------------------
5189 WDI_PNOScanReqParamsType
5190 PNO info passed to WDI form WDA
5191---------------------------------------------------------------------------*/
5192typedef struct
5193{
5194 /* PNO Info Type, same as tPrefNetwListParams */
5195 WDI_PNOScanReqType wdiPNOScanInfo;
5196 /* Request status callback offered by UMAC - it is called if the current req
5197 has returned PENDING as status; it delivers the status of sending the message
5198 over the BUS */
5199 WDI_ReqStatusCb wdiReqStatusCB;
5200 /* The user data passed in by UMAC, it will be sent back when the above
5201 function pointer will be called */
5202 void* pUserData;
5203} WDI_PNOScanReqParamsType;
5204
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005205/*---------------------------------------------------------------------------
5206 WDI_SetRssiFilterReqParamsType
5207 PNO info passed to WDI form WDA
5208---------------------------------------------------------------------------*/
5209typedef struct
5210{
5211 /* RSSI Threshold */
5212 wpt_uint8 rssiThreshold;
5213 /* Request status callback offered by UMAC - it is called if the current req
5214 has returned PENDING as status; it delivers the status of sending the message
5215 over the BUS */
5216 WDI_ReqStatusCb wdiReqStatusCB;
5217 /* The user data passed in by UMAC, it will be sent back when the above
5218 function pointer will be called */
5219 void* pUserData;
5220} WDI_SetRssiFilterReqParamsType;
5221
5222/*---------------------------------------------------------------------------
5223 WDI_UpdateScanParamsInfo
5224---------------------------------------------------------------------------*/
5225typedef struct
5226{
5227 /*Is 11d enabled*/
5228 wpt_uint8 b11dEnabled;
5229
5230 /*Was UMAc able to find the regulatory domain*/
5231 wpt_uint8 b11dResolved;
5232
5233 /*Number of channel allowed in the regulatory domain*/
5234 wpt_uint8 ucChannelCount;
5235
5236 /*The actual channels allowed in the regulatory domain*/
5237 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5238
5239 /*Passive min channel time*/
5240 wpt_uint16 usPassiveMinChTime;
5241
5242 /*Passive max channel time*/
5243 wpt_uint16 usPassiveMaxChTime;
5244
5245 /*Active min channel time*/
5246 wpt_uint16 usActiveMinChTime;
5247
5248 /*Active max channel time*/
5249 wpt_uint16 usActiveMaxChTime;
5250
5251 /*channel bonding info*/
5252 wpt_uint8 cbState;
5253} WDI_UpdateScanParamsInfo;
5254
5255/*---------------------------------------------------------------------------
5256 WDI_UpdateScanParamsInfoType
5257 UpdateScanParams info passed to WDI form WDA
5258---------------------------------------------------------------------------*/
5259typedef struct
5260{
5261 /* PNO Info Type, same as tUpdateScanParams */
5262 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5263 /* Request status callback offered by UMAC - it is called if the current req
5264 has returned PENDING as status; it delivers the status of sending the message
5265 over the BUS */
5266 WDI_ReqStatusCb wdiReqStatusCB;
5267 /* The user data passed in by UMAC, it will be sent back when the above
5268 function pointer will be called */
5269 void* pUserData;
5270} WDI_UpdateScanParamsInfoType;
5271#endif //FEATURE_WLAN_SCAN_PNO
5272
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005273#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5274
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005275#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005276#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005277
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005278typedef struct
5279{
5280 /*The SSID of the preferred network*/
5281 WDI_MacSSid ssId;
5282 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5283
5284 /*The authentication method of the preferred network*/
5285 WDI_AuthType authentication;
5286
5287 /*The encryption method of the preferred network*/
5288 WDI_EdType encryption;
5289 WDI_EdType mcencryption;
5290
5291 /*SSID broadcast type, normal, hidden or unknown*/
5292 //WDI_SSIDBcastType wdiBcastNetworkType;
5293
5294 /*channel count - 0 for all channels*/
5295 wpt_uint8 ChannelCount;
5296
5297 /*the actual channels*/
5298 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5299
5300} WDI_RoamNetworkType;
5301
5302typedef struct WDIMobilityDomainInfo
5303{
5304 wpt_uint8 mdiePresent;
5305 wpt_uint16 mobilityDomain;
5306} WDI_MobilityDomainInfo;
5307
5308/*---------------------------------------------------------------------------
5309 WDI_RoamOffloadScanInfo
5310---------------------------------------------------------------------------*/
5311typedef struct
5312{
5313 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005314 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005315 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005316 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005317 wpt_uint8 RoamRssiDiff;
5318 wpt_uint8 ChannelCacheType;
5319 wpt_uint8 Command;
5320 wpt_uint8 StartScanReason;
5321 wpt_uint16 NeighborScanTimerPeriod;
5322 wpt_uint16 NeighborRoamScanRefreshPeriod;
5323 wpt_uint16 NeighborScanChannelMinTime;
5324 wpt_uint16 NeighborScanChannelMaxTime;
5325 wpt_uint16 EmptyRefreshScanPeriod;
5326 wpt_uint8 ValidChannelCount;
5327 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005328 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005329 /*Probe template for 2.4GHz band*/
5330 wpt_uint16 us24GProbeSize;
5331 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5332
5333 /*Probe template for 5GHz band*/
5334 wpt_uint16 us5GProbeSize;
5335 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005336 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005337 * As per requirement, later, the following structure can be used as an array of networks.*/
5338 WDI_RoamNetworkType ConnectedNetwork;
5339 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005340 wpt_uint8 nProbes;
5341 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005342} WDI_RoamOffloadScanInfo;
5343
5344typedef struct
5345{
5346 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5347 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5348 /* Request status callback offered by UMAC - it is called if the current req
5349 has returned PENDING as status; it delivers the status of sending the message
5350 over the BUS */
5351 WDI_ReqStatusCb wdiReqStatusCB;
5352 /* The user data passed in by UMAC, it will be sent back when the above
5353 function pointer will be called */
5354 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005355} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005356#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005357
5358/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305359 WDI_HT40ObssScanIndType
5360---------------------------------------------------------------------------*/
5361typedef struct
5362{
5363 wpt_uint8 cmdType;
5364 wpt_uint8 scanType;
5365 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5366 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5367 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5368 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5369 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5370 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5371 wpt_uint16 OBSSScanActivityThreshold;
5372 wpt_uint8 selfStaIdx;
5373 wpt_uint8 bssIdx;
5374 wpt_uint8 fortyMHZIntolerent;
5375 wpt_uint8 channelCount;
5376 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5377 wpt_uint8 currentOperatingClass;
5378 wpt_uint16 ieFieldLen;
5379 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5380} WDI_HT40ObssScanIndType;
5381
5382
5383/*---------------------------------------------------------------------------
5384 WDI_OBSSScanIndParamsType
5385---------------------------------------------------------------------------*/
5386typedef struct
5387{
5388 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5389
5390 /*Request status callback offered by UMAC - it is called if the current
5391 req has returned PENDING as status; it delivers the status of sending
5392 the message over the BUS */
5393 WDI_ReqStatusCb wdiReqStatusCB;
5394
5395 /*The user data passed in by UMAC, it will be sent back when the above
5396 function pointer will be called */
5397 void* pUserData;
5398
5399}WDI_HT40ObssScanParamsType;
5400
5401/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005402 WDI_UpdateScanParamsInfo
5403---------------------------------------------------------------------------*/
5404typedef struct
5405{
5406 /* Ignore DTIM */
5407 wpt_uint32 uIgnoreDTIM;
5408
5409 /*DTIM Period*/
5410 wpt_uint32 uDTIMPeriod;
5411
5412 /* Listen Interval */
5413 wpt_uint32 uListenInterval;
5414
5415 /* Broadcast Multicas Filter */
5416 wpt_uint32 uBcastMcastFilter;
5417
5418 /* Beacon Early Termination */
5419 wpt_uint32 uEnableBET;
5420
5421 /* Beacon Early Termination Interval */
5422 wpt_uint32 uBETInterval;
5423
Yue Mac24062f2013-05-13 17:01:29 -07005424 /* MAX LI for modulated DTIM */
5425 wpt_uint32 uMaxLIModulatedDTIM;
5426
Jeff Johnson295189b2012-06-20 16:38:30 -07005427} WDI_SetPowerParamsInfo;
5428
5429/*---------------------------------------------------------------------------
5430 WDI_UpdateScanParamsInfoType
5431 UpdateScanParams info passed to WDI form WDA
5432---------------------------------------------------------------------------*/
5433typedef struct
5434{
5435 /* Power params Info Type, same as tSetPowerParamsReq */
5436 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5437 /* Request status callback offered by UMAC - it is called if the current req
5438 has returned PENDING as status; it delivers the status of sending the message
5439 over the BUS */
5440 WDI_ReqStatusCb wdiReqStatusCB;
5441 /* The user data passed in by UMAC, it will be sent back when the above
5442 function pointer will be called */
5443 void* pUserData;
5444}WDI_SetPowerParamsReqParamsType;
5445
5446/*---------------------------------------------------------------------------
5447 WDI_SetTxPerTrackingConfType
5448 Wowl add ptrn info passed to WDA form UMAC
5449---------------------------------------------------------------------------*/
5450typedef struct
5451{
5452 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5453 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5454 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5455 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5456} WDI_TxPerTrackingParamType;
5457
5458/*---------------------------------------------------------------------------
5459 WDI_SetTxPerTrackingReqParamsType
5460 Tx PER Tracking parameters passed to WDI from WDA
5461---------------------------------------------------------------------------*/
5462typedef struct
5463{
5464 /* Configurations for Tx PER Tracking */
5465 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5466 /*Request status callback offered by UMAC - it is called if the current req
5467 has returned PENDING as status; it delivers the status of sending the message
5468 over the BUS */
5469 WDI_ReqStatusCb wdiReqStatusCB;
5470 /*The user data passed in by UMAC, it will be sent back when the above
5471 function pointer will be called */
5472 void* pUserData;
5473}WDI_SetTxPerTrackingReqParamsType;
5474
5475#ifdef WLAN_FEATURE_PACKET_FILTERING
5476/*---------------------------------------------------------------------------
5477 Packet Filtering Parameters
5478---------------------------------------------------------------------------*/
5479
5480#define WDI_IPV4_ADDR_LEN 4
5481#define WDI_MAC_ADDR_LEN 6
5482#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5483#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5484#define WDI_MAX_NUM_FILTERS 20
5485#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5486
5487//
5488// Receive Filter Parameters
5489//
5490typedef enum
5491{
5492 WDI_RCV_FILTER_TYPE_INVALID,
5493 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5494 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5495 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5496}WDI_ReceivePacketFilterType;
5497
5498typedef enum
5499{
5500 WDI_FILTER_HDR_TYPE_INVALID,
5501 WDI_FILTER_HDR_TYPE_MAC,
5502 WDI_FILTER_HDR_TYPE_ARP,
5503 WDI_FILTER_HDR_TYPE_IPV4,
5504 WDI_FILTER_HDR_TYPE_IPV6,
5505 WDI_FILTER_HDR_TYPE_UDP,
5506 WDI_FILTER_HDR_TYPE_MAX
5507}WDI_RcvPktFltProtocolType;
5508
5509typedef enum
5510{
5511 WDI_FILTER_CMP_TYPE_INVALID,
5512 WDI_FILTER_CMP_TYPE_EQUAL,
5513 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5514 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5515 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5516 WDI_FILTER_CMP_TYPE_MAX
5517}WDI_RcvPktFltCmpFlagType;
5518
5519typedef struct
5520{
5521 WDI_RcvPktFltProtocolType protocolLayer;
5522 WDI_RcvPktFltCmpFlagType cmpFlag;
5523/* Length of the data to compare */
5524 wpt_uint16 dataLength;
5525/* from start of the respective frame header */
5526 wpt_uint8 dataOffset;
5527 wpt_uint8 reserved; /* Reserved field */
5528/* Data to compare */
5529 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5530/* Mask to be applied on the received packet data before compare */
5531 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5532}WDI_RcvPktFilterFieldParams;
5533
5534typedef struct
5535{
5536 wpt_uint8 filterId;
5537 wpt_uint8 filterType;
5538 wpt_uint32 numFieldParams;
5539 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005540 wpt_macAddr selfMacAddr;
5541 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005542 WDI_RcvPktFilterFieldParams paramsData[1];
5543
Jeff Johnson295189b2012-06-20 16:38:30 -07005544}WDI_RcvPktFilterCfgType;
5545
5546typedef struct
5547{
5548 /*Request status callback offered by UMAC - it is called if the current
5549 req has returned PENDING as status; it delivers the status of sending
5550 the message over the BUS */
5551 WDI_ReqStatusCb wdiReqStatusCB;
5552
5553 /*The user data passed in by UMAC, it will be sent back when the above
5554 function pointer will be called */
5555 void* pUserData;
5556
5557 // Variable length packet filter field params
5558 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5559} WDI_SetRcvPktFilterReqParamsType;
5560
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005561typedef struct
5562{
5563 /*Result of the operation*/
5564 WDI_Status wdiStatus;
5565 /* BSSIDX of the Set Receive Filter
5566 */
5567 wpt_uint8 bssIdx;
5568} WDI_SetRcvPktFilterRspParamsType;
5569
Jeff Johnson295189b2012-06-20 16:38:30 -07005570//
5571// Filter Packet Match Count Parameters
5572//
5573typedef struct
5574{
5575 /*Request status callback offered by UMAC - it is called if the current
5576 req has returned PENDING as status; it delivers the status of sending
5577 the message over the BUS */
5578 WDI_ReqStatusCb wdiReqStatusCB;
5579
5580 /*The user data passed in by UMAC, it will be sent back when the above
5581 function pointer will be called */
5582 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005583
5584 /* BSSID of the Match count
5585 */
5586 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005587} WDI_RcvFltPktMatchCntReqParamsType;
5588
5589typedef struct
5590{
5591 wpt_uint8 filterId;
5592 wpt_uint32 matchCnt;
5593} WDI_RcvFltPktMatchCnt;
5594
5595typedef struct
5596{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005597 /*Result of the operation*/
5598 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005599
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005600 /* BSSIDX of the Match count response
5601 */
5602 wpt_uint8 bssIdx;
5603
Jeff Johnson295189b2012-06-20 16:38:30 -07005604} WDI_RcvFltPktMatchCntRspParamsType;
5605
Jeff Johnson295189b2012-06-20 16:38:30 -07005606//
5607// Receive Filter Clear Parameters
5608//
5609typedef struct
5610{
5611 wpt_uint32 status; /* only valid for response message */
5612 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005613 wpt_macAddr selfMacAddr;
5614 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005615}WDI_RcvFltPktClearParam;
5616
5617typedef struct
5618{
5619 WDI_RcvFltPktClearParam filterClearParam;
5620 /*Request status callback offered by UMAC - it is called if the current
5621 req has returned PENDING as status; it delivers the status of sending
5622 the message over the BUS */
5623 WDI_ReqStatusCb wdiReqStatusCB;
5624
5625 /*The user data passed in by UMAC, it will be sent back when the above
5626 function pointer will be called */
5627 void* pUserData;
5628} WDI_RcvFltPktClearReqParamsType;
5629
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005630typedef struct
5631{
5632 /*Result of the operation*/
5633 WDI_Status wdiStatus;
5634 /* BSSIDX of the Match count response
5635 */
5636 wpt_uint8 bssIdx;
5637
5638} WDI_RcvFltPktClearRspParamsType;
5639
Jeff Johnson295189b2012-06-20 16:38:30 -07005640//
5641// Multicast Address List Parameters
5642//
5643typedef struct
5644{
5645 wpt_uint32 ulMulticastAddrCnt;
5646 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005647 wpt_macAddr selfMacAddr;
5648 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005649} WDI_RcvFltMcAddrListType;
5650
5651typedef struct
5652{
5653 WDI_RcvFltMcAddrListType mcAddrList;
5654 /*Request status callback offered by UMAC - it is called if the current
5655 req has returned PENDING as status; it delivers the status of sending
5656 the message over the BUS */
5657 WDI_ReqStatusCb wdiReqStatusCB;
5658
5659 /*The user data passed in by UMAC, it will be sent back when the above
5660 function pointer will be called */
5661 void* pUserData;
5662} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005663
5664typedef struct
5665{
5666 /*Result of the operation*/
5667 WDI_Status wdiStatus;
5668 /* BSSIDX of the Match count response
5669 */
5670 wpt_uint8 bssIdx;
5671} WDI_RcvFltPktSetMcListRspParamsType;
5672
Jeff Johnson295189b2012-06-20 16:38:30 -07005673#endif // WLAN_FEATURE_PACKET_FILTERING
5674
5675/*---------------------------------------------------------------------------
5676 WDI_HALDumpCmdReqInfoType
5677---------------------------------------------------------------------------*/
5678typedef struct
5679{
5680 /*command*/
5681 wpt_uint32 command;
5682
5683 /*Arguments*/
5684 wpt_uint32 argument1;
5685 wpt_uint32 argument2;
5686 wpt_uint32 argument3;
5687 wpt_uint32 argument4;
5688
5689}WDI_HALDumpCmdReqInfoType;
5690
5691/*---------------------------------------------------------------------------
5692 WDI_HALDumpCmdReqParamsType
5693---------------------------------------------------------------------------*/
5694typedef struct
5695{
5696 /*NV Blob Info*/
5697 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5698
5699 /*Request status callback offered by UMAC - it is called if the current
5700 req has returned PENDING as status; it delivers the status of sending
5701 the message over the BUS */
5702 WDI_ReqStatusCb wdiReqStatusCB;
5703
5704 /*The user data passed in by UMAC, it will be sent back when the above
5705 function pointer will be called */
5706 void* pUserData;
5707
5708}WDI_HALDumpCmdReqParamsType;
5709
5710
5711/*---------------------------------------------------------------------------
5712 WDI_HALDumpCmdRspParamsType
5713---------------------------------------------------------------------------*/
5714typedef struct
5715{
5716 /*Result of the operation*/
5717 WDI_Status wdiStatus;
5718
5719 /* length of the buffer */
5720 wpt_uint16 usBufferLen;
5721
5722 /* Buffer */
5723 wpt_uint8 *pBuffer;
5724}WDI_HALDumpCmdRspParamsType;
5725
5726
5727/*---------------------------------------------------------------------------
5728 WDI_SetTmLevelReqType
5729---------------------------------------------------------------------------*/
5730typedef struct
5731{
5732 wpt_uint16 tmMode;
5733 wpt_uint16 tmLevel;
5734 void* pUserData;
5735}WDI_SetTmLevelReqType;
5736
5737/*---------------------------------------------------------------------------
5738 WDI_SetTmLevelRspType
5739---------------------------------------------------------------------------*/
5740typedef struct
5741{
5742 WDI_Status wdiStatus;
5743 void* pUserData;
5744}WDI_SetTmLevelRspType;
5745
Leo Chang9056f462013-08-01 19:21:11 -07005746#ifdef FEATURE_WLAN_LPHB
5747/*---------------------------------------------------------------------------
5748 WDI_LPHBConfigParamsType
5749---------------------------------------------------------------------------*/
5750typedef struct
5751{
5752 void* pLphsConfIndData;
5753}WDI_LPHBConfigParamsType;
5754#endif /* FEATURE_WLAN_LPHB */
5755
Yue Mab9c86f42013-08-14 15:59:08 -07005756/*---------------------------------------------------------------------------
5757 WDI_AddPeriodicTxPtrnInfoType
5758---------------------------------------------------------------------------*/
5759typedef struct
5760{
5761 /* MAC Address for the adapter */
5762 wpt_macAddr macAddr;
5763
5764 wpt_uint8 ucPtrnId; // Pattern ID
5765 wpt_uint16 ucPtrnSize; // Pattern size
5766 wpt_uint32 usPtrnIntervalMs; // In msec
5767 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5768} WDI_AddPeriodicTxPtrnInfoType;
5769
5770/*---------------------------------------------------------------------------
5771 WDI_DelPeriodicTxPtrnInfoType
5772---------------------------------------------------------------------------*/
5773typedef struct
5774{
5775 /* MAC Address for the adapter */
5776 wpt_macAddr macAddr;
5777
5778 /* Bitmap of pattern IDs that needs to be deleted */
5779 wpt_uint32 ucPatternIdBitmap;
5780} WDI_DelPeriodicTxPtrnInfoType;
5781
5782/*---------------------------------------------------------------------------
5783 WDI_AddPeriodicTxPtrnParamsType
5784---------------------------------------------------------------------------*/
5785typedef struct
5786{
5787 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5788
5789 /*Request status callback offered by UMAC - it is called if the current
5790 req has returned PENDING as status; it delivers the status of sending
5791 the message over the BUS */
5792 WDI_ReqStatusCb wdiReqStatusCB;
5793
5794 /*The user data passed in by UMAC, it will be sent back when the above
5795 function pointer will be called */
5796 void* pUserData;
5797} WDI_AddPeriodicTxPtrnParamsType;
5798
5799/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305800 WDI_NanRequestType
5801---------------------------------------------------------------------------*/
5802typedef struct
5803{
5804 wpt_uint16 request_data_len;
5805 wpt_uint8 request_data[1];
5806} WDI_NanRequestType;
5807
5808
5809/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005810 WDI_DelPeriodicTxPtrnParamsType
5811---------------------------------------------------------------------------*/
5812typedef struct
5813{
5814 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5815
5816 /*Request status callback offered by UMAC - it is called if the current
5817 req has returned PENDING as status; it delivers the status of sending
5818 the message over the BUS */
5819 WDI_ReqStatusCb wdiReqStatusCB;
5820
5821 /*The user data passed in by UMAC, it will be sent back when the above
5822 function pointer will be called */
5823 void* pUserData;
5824} WDI_DelPeriodicTxPtrnParamsType;
5825
Dino Mycle41bdc942014-06-10 11:30:24 +05305826#ifdef WLAN_FEATURE_EXTSCAN
5827
5828#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5829#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5830#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5831#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5832
5833typedef enum
5834{
5835 WDI_WIFI_BAND_UNSPECIFIED,
5836 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5837 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5838 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5839 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5840 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5841 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5842
5843 /* Keep it last */
5844 WDI_WIFI_BAND_MAX
5845} WDI_WifiBand;
5846
5847typedef struct
5848{
5849 wpt_uint32 channel; // frequency
5850 wpt_uint32 dwellTimeMs; // dwell time hint
5851 wpt_uint8 passive; // 0 => active,
5852 // 1 => passive scan; ignored for DFS
5853 wpt_uint8 chnlClass;
5854} WDI_WifiScanChannelSpec;
5855
5856typedef struct
5857{
5858 wpt_uint8 bucket; // bucket index, 0 based
5859 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5860
5861 /*
5862 * desired period, in millisecond; if this is too
5863 * low, the firmware should choose to generate results as fast as
5864 * it can instead of failing the command byte
5865 */
5866 wpt_uint32 period;
5867
5868 /*
5869 * 0 => normal reporting (reporting rssi history
5870 * only, when rssi history buffer is % full)
5871 * 1 => same as 0 + report a scan completion event after scanning
5872 * this bucket
5873 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5874 * in real time to HAL
5875 */
5876 wpt_uint8 reportEvents;
5877
5878 wpt_uint8 numChannels;
5879
5880 /*
5881 * channels to scan; these may include DFS channels
5882 */
5883 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5884} WDI_WifiScanBucketSpec;
5885
5886typedef struct
5887{
5888 wpt_uint32 requestId;
5889 wpt_uint8 sessionId;
5890 wpt_uint32 basePeriod; // base timer period
5891 wpt_uint32 maxAPperScan;
5892
5893 /* in %, when buffer is this much full, wake up host */
5894 wpt_uint32 reportThreshold;
5895
5896 wpt_uint8 numBuckets;
5897 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5898} WDI_EXTScanStartReqParams;
5899
5900typedef struct
5901{
5902 wpt_uint32 requestId;
5903 wpt_uint8 sessionId;
5904} WDI_EXTScanStopReqParams;
5905
5906typedef struct
5907{
5908 wpt_uint32 requestId;
5909 wpt_uint8 sessionId;
5910
5911 /*
5912 * 1 return cached results and flush it
5913 * 0 return cached results and do not flush
5914 */
5915 wpt_boolean flush;
5916} WDI_EXTScanGetCachedResultsReqParams;
5917
5918typedef struct
5919{
5920 wpt_uint32 requestId;
5921 wpt_uint8 sessionId;
5922} WDI_EXTScanGetCapabilitiesReqParams;
5923
5924typedef struct
5925{
5926 wpt_uint8 bssid[6]; /* BSSID */
5927 wpt_int32 low; // low threshold
5928 wpt_int32 high; // high threshold
5929 wpt_uint32 channel; // channel hint
5930} WDI_APThresholdParam;
5931
5932typedef struct
5933{
5934 wpt_int32 requestId;
5935 wpt_int8 sessionId; // session Id mapped to vdev_id
5936
5937 wpt_int32 numAp; // number of hotlist APs
5938 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5939} WDI_EXTScanSetBSSIDHotlistReqParams;
5940
5941typedef struct
5942{
5943 wpt_uint32 requestId;
5944 wpt_uint8 sessionId;
5945} WDI_EXTScanResetBSSIDHotlistReqParams;
5946
5947
5948typedef struct
5949{
5950 wpt_int32 requestId;
5951 wpt_int8 sessionId; // session Id mapped to vdev_id
5952
5953 /* number of samples for averaging RSSI */
5954 wpt_int32 rssiSampleSize;
5955
5956 /* number of missed samples to confirm AP loss */
5957 wpt_int32 lostApSampleSize;
5958
5959 /* number of APs breaching threshold required for firmware
5960 * to generate event
5961 */
5962 wpt_int32 minBreaching;
5963
5964 wpt_int32 numAp; // number of hotlist APs
5965 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5966} WDI_EXTScanSetSignfRSSIChangeReqParams;
5967
5968typedef struct
5969{
5970 wpt_uint32 requestId;
5971 wpt_uint8 sessionId;
5972} WDI_EXTScanResetSignfRSSIChangeReqParams;
5973#endif /* WLAN_FEATURE_EXTSCAN */
5974
Sunil Duttbd736ed2014-05-26 21:19:41 +05305975#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5976typedef struct
5977{
5978 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305979 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305980 wpt_uint32 mpduSizeThreshold;
5981 wpt_uint32 aggressiveStatisticsGathering;
5982}WDI_LLStatsSetReqType;
5983
5984typedef struct
5985{
5986 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305987 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305988 wpt_uint32 paramIdMask;
5989}WDI_LLStatsGetReqType;
5990
5991typedef struct
5992{
5993 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305994 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305995 wpt_uint32 statsClearReqMask;
5996 wpt_uint8 stopReq;
5997}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305998
Sunil Duttbd736ed2014-05-26 21:19:41 +05305999#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
6000
Siddharth Bhal171788a2014-09-29 21:02:40 +05306001/*---------------------------------------------------------------------------
6002 WDI_SPOOF_MAC_ADDR_REQ
6003---------------------------------------------------------------------------*/
6004typedef struct
6005{
6006 /* Spoof MAC Address for FW */
6007 wpt_macAddr macAddr;
6008
6009 /* Reserved Params/fields */
6010 wpt_uint32 params;
6011 wpt_uint32 reserved;
6012} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306013
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05306014//This is to force compiler to use the maximum of an int for enum
6015#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
6016// Enum to specify whether key is used
6017// for TX only, RX only or both
6018typedef enum
6019{
6020 eWDI_TX_ONLY,
6021 eWDI_RX_ONLY,
6022 eWDI_TX_RX,
6023 eWDI_TX_DEFAULT,
6024 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
6025} tWDIKeyDirection;
6026
6027// MAX key length when ULA is used
6028#define SIR_MAC_MAX_KEY_LENGTH 32
6029/* Max key size including the WAPI and TKIP */
6030#define WLAN_MAX_KEY_RSC_LEN 16
6031// Definition for Encryption Keys
6032//typedef struct sSirKeys
6033typedef struct
6034{
6035 wpt_uint8 keyId;
6036 wpt_uint8 unicast; // 0 for multicast
6037 tWDIKeyDirection keyDirection;
6038 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6039 wpt_uint8 paeRole; // =1 for authenticator,
6040 // =0 for supplicant
6041 wpt_uint16 keyLength;
6042 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6043} tWDIKeys, *tpWDIKeys;
6044
6045typedef enum
6046{
6047 eWDI_WEP_STATIC,
6048 eWDI_WEP_DYNAMIC,
6049} tWDIWepType;
6050
6051// Encryption type enum used with peer
6052typedef enum
6053{
6054 eWDI_ED_NONE,
6055 eWDI_ED_WEP40,
6056 eWDI_ED_WEP104,
6057 eWDI_ED_TKIP,
6058 eWDI_ED_CCMP,
6059#if defined(FEATURE_WLAN_WAPI)
6060 eWDI_ED_WPI,
6061#endif
6062 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6063 * Thus while setting BIP encryption mode in corresponding DPU Desc
6064 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6065 */
6066 eWDI_ED_AES_128_CMAC,
6067 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6068} tWDIEdType;
6069#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6070/*
6071 * This is used by PE to configure the key information on a given station.
6072 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6073 * a preconfigured key from a BSS the station assoicated with; otherwise
6074 * a new key descriptor is created based on the key field.
6075 */
6076typedef struct
6077{
6078 wpt_uint16 staIdx;
6079 tWDIEdType encType; // Encryption/Decryption type
6080 tWDIWepType wepType; // valid only for WEP
6081 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6082 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6083 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6084 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6085} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6086
6087typedef struct
6088{
6089 tWDISetStaKeyParams keyParams;
6090 wpt_uint8 pn[6];
6091}wpt_encConfigParams;
6092
6093typedef struct
6094{
6095 wpt_uint16 length;
6096 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6097}wpt_payload;
6098
6099typedef struct
6100{
6101 wpt_80211Header macHeader;
6102 wpt_encConfigParams encParams;
6103 wpt_payload data;
6104}wpt_pkt80211;
6105
Katya Nigamf0511f62015-05-05 16:40:57 +05306106#define NUM_FILTERS_SUPPORTED 1
6107typedef struct
6108{
6109 wpt_macAddr macAddr;
6110 wpt_uint8 isA1filter;
6111 wpt_uint8 isA2filter;
6112 wpt_uint8 isA3filter;
6113}WDI_filter;
6114
6115typedef struct
6116{
6117 /* start or stop */
6118 wpt_uint8 state;
6119 /*Conversion of packet required or not*/
6120 wpt_uint8 is80211to803ConReq;
6121 wpt_uint32 ChannelNo;
6122 wpt_uint32 ChannelBW;
6123 wpt_uint8 crcCheckEnabled;
6124 wpt_uint8 numOfMacFilters;
6125 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6126 wpt_uint64 typeSubtypeBitmap;
6127 wpt_uint64 rsvd;
6128
6129}WDI_MonStartReqType;
6130
Jeff Johnson295189b2012-06-20 16:38:30 -07006131/*----------------------------------------------------------------------------
6132 * WDI callback types
6133 *--------------------------------------------------------------------------*/
6134
6135/*---------------------------------------------------------------------------
6136 WDI_StartRspCb
6137
6138 DESCRIPTION
6139
6140 This callback is invoked by DAL when it has received a Start response from
6141 the underlying device.
6142
6143 PARAMETERS
6144
6145 IN
6146 wdiRspParams: response parameters received from HAL
6147 pUserData: user data
6148
6149
6150 RETURN VALUE
6151 The result code associated with performing the operation
6152---------------------------------------------------------------------------*/
6153typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6154 void* pUserData);
6155
6156/*---------------------------------------------------------------------------
6157 WDI_StartRspCb
6158
6159 DESCRIPTION
6160
6161 This callback is invoked by DAL when it has received a Stop response from
6162 the underlying device.
6163
6164 PARAMETERS
6165
6166 IN
6167 wdiStatus: response status received from HAL
6168 pUserData: user data
6169
6170
6171
6172 RETURN VALUE
6173 The result code associated with performing the operation
6174---------------------------------------------------------------------------*/
6175typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6176 void* pUserData);
6177
6178/*---------------------------------------------------------------------------
6179 WDI_StartRspCb
6180
6181 DESCRIPTION
6182
6183 This callback is invoked by DAL when it has received an Init Scan response
6184 from the underlying device.
6185
6186 PARAMETERS
6187
6188 IN
6189 wdiStatus: response status received from HAL
6190 pUserData: user data
6191
6192
6193
6194 RETURN VALUE
6195 The result code associated with performing the operation
6196---------------------------------------------------------------------------*/
6197typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6198 void* pUserData);
6199
6200
6201/*---------------------------------------------------------------------------
6202 WDI_StartRspCb
6203
6204 DESCRIPTION
6205
6206 This callback is invoked by DAL when it has received a StartScan response
6207 from the underlying device.
6208
6209 PARAMETERS
6210
6211 IN
6212 wdiParams: response params received from HAL
6213 pUserData: user data
6214
6215
6216
6217 RETURN VALUE
6218 The result code associated with performing the operation
6219---------------------------------------------------------------------------*/
6220typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6221 void* pUserData);
6222
6223
6224/*---------------------------------------------------------------------------
6225 WDI_StartRspCb
6226
6227 DESCRIPTION
6228
6229 This callback is invoked by DAL when it has received a End Scan response
6230 from the underlying device.
6231
6232 PARAMETERS
6233
6234 IN
6235 wdiStatus: response status received from HAL
6236 pUserData: user data
6237
6238
6239
6240 RETURN VALUE
6241 The result code associated with performing the operation
6242---------------------------------------------------------------------------*/
6243typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6244 void* pUserData);
6245
6246
6247/*---------------------------------------------------------------------------
6248 WDI_StartRspCb
6249
6250 DESCRIPTION
6251
6252 This callback is invoked by DAL when it has received a Finish Scan response
6253 from the underlying device.
6254
6255 PARAMETERS
6256
6257 IN
6258 wdiStatus: response status received from HAL
6259 pUserData: user data
6260
6261
6262
6263 RETURN VALUE
6264 The result code associated with performing the operation
6265---------------------------------------------------------------------------*/
6266typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6267 void* pUserData);
6268
6269
6270/*---------------------------------------------------------------------------
6271 WDI_StartRspCb
6272
6273 DESCRIPTION
6274
6275 This callback is invoked by DAL when it has received a Join response from
6276 the underlying device.
6277
6278 PARAMETERS
6279
6280 IN
6281 wdiStatus: response status received from HAL
6282 pUserData: user data
6283
6284
6285
6286 RETURN VALUE
6287 The result code associated with performing the operation
6288---------------------------------------------------------------------------*/
6289typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6290 void* pUserData);
6291
6292
6293/*---------------------------------------------------------------------------
6294 WDI_StartRspCb
6295
6296 DESCRIPTION
6297
6298 This callback is invoked by DAL when it has received a Config BSS response
6299 from the underlying device.
6300
6301 PARAMETERS
6302
6303 IN
6304 wdiConfigBSSRsp: response parameters received from HAL
6305 pUserData: user data
6306
6307
6308 RETURN VALUE
6309 The result code associated with performing the operation
6310---------------------------------------------------------------------------*/
6311typedef void (*WDI_ConfigBSSRspCb)(
6312 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6313 void* pUserData);
6314
6315
6316/*---------------------------------------------------------------------------
6317 WDI_StartRspCb
6318
6319 DESCRIPTION
6320
6321 This callback is invoked by DAL when it has received a Del BSS response from
6322 the underlying device.
6323
6324 PARAMETERS
6325
6326 IN
6327 wdiDelBSSRsp: response parameters received from HAL
6328 pUserData: user data
6329
6330
6331 RETURN VALUE
6332 The result code associated with performing the operation
6333---------------------------------------------------------------------------*/
6334typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6335 void* pUserData);
6336
6337
6338/*---------------------------------------------------------------------------
6339 WDI_StartRspCb
6340
6341 DESCRIPTION
6342
6343 This callback is invoked by DAL when it has received a Post Assoc response
6344 from the underlying device.
6345
6346 PARAMETERS
6347
6348 IN
6349 wdiRspParams: response parameters received from HAL
6350 pUserData: user data
6351
6352
6353 RETURN VALUE
6354 The result code associated with performing the operation
6355---------------------------------------------------------------------------*/
6356typedef void (*WDI_PostAssocRspCb)(
6357 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6358 void* pUserData);
6359
6360
6361/*---------------------------------------------------------------------------
6362 WDI_StartRspCb
6363
6364 DESCRIPTION
6365
6366 This callback is invoked by DAL when it has received a Del STA response from
6367 the underlying device.
6368
6369 PARAMETERS
6370
6371 IN
6372 wdiDelSTARsp: response parameters received from HAL
6373 pUserData: user data
6374
6375
6376 RETURN VALUE
6377 The result code associated with performing the operation
6378---------------------------------------------------------------------------*/
6379typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6380 void* pUserData);
6381
6382
6383
6384/*---------------------------------------------------------------------------
6385 WDI_StartRspCb
6386
6387 DESCRIPTION
6388
6389 This callback is invoked by DAL when it has received a Set BSS Key response
6390 from the underlying device.
6391
6392 PARAMETERS
6393
6394 IN
6395 wdiStatus: response status received from HAL
6396 pUserData: user data
6397
6398
6399
6400 RETURN VALUE
6401 The result code associated with performing the operation
6402---------------------------------------------------------------------------*/
6403typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6404 void* pUserData);
6405
6406/*---------------------------------------------------------------------------
6407 WDI_StartRspCb
6408
6409 DESCRIPTION
6410
6411 This callback is invoked by DAL when it has received a Remove BSS Key
6412 response from the underlying device.
6413
6414 PARAMETERS
6415
6416 IN
6417 wdiStatus: response status received from HAL
6418 pUserData: user data
6419
6420
6421
6422 RETURN VALUE
6423 The result code associated with performing the operation
6424---------------------------------------------------------------------------*/
6425typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6426 void* pUserData);
6427
6428/*---------------------------------------------------------------------------
6429 WDI_StartRspCb
6430
6431 DESCRIPTION
6432
6433 This callback is invoked by DAL when it has received a Set STA Key response
6434 from the underlying device.
6435
6436 PARAMETERS
6437
6438 IN
6439 wdiStatus: response status received from HAL
6440 pUserData: user data
6441
6442
Jeff Johnson295189b2012-06-20 16:38:30 -07006443 RETURN VALUE
6444 The result code associated with performing the operation
6445---------------------------------------------------------------------------*/
6446typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6447 void* pUserData);
6448
Jeff Johnson295189b2012-06-20 16:38:30 -07006449/*---------------------------------------------------------------------------
6450 WDI_StartRspCb
6451
6452 DESCRIPTION
6453
6454 This callback is invoked by DAL when it has received a Remove STA Key
6455 response from the underlying device.
6456
6457 PARAMETERS
6458
6459 IN
6460 wdiStatus: response status received from HAL
6461 pUserData: user data
6462
Siddharth Bhal171788a2014-09-29 21:02:40 +05306463
Jeff Johnson295189b2012-06-20 16:38:30 -07006464 RETURN VALUE
6465 The result code associated with performing the operation
6466---------------------------------------------------------------------------*/
6467typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6468 void* pUserData);
6469
6470
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006471#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006472/*---------------------------------------------------------------------------
6473 WDI_TsmRspCb
6474
6475 DESCRIPTION
6476
6477 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6478
6479 PARAMETERS
6480
6481 IN
6482 pTSMStats: response status received from HAL
6483 pUserData: user data
6484
6485
6486
6487 RETURN VALUE
6488 The result code associated with performing the operation
6489---------------------------------------------------------------------------*/
6490typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6491 void* pUserData);
6492#endif
6493
6494/*---------------------------------------------------------------------------
6495 WDI_StartRspCb
6496
6497 DESCRIPTION
6498
6499 This callback is invoked by DAL when it has received a Add TS response from
6500 the underlying device.
6501
6502 PARAMETERS
6503
6504 IN
6505 wdiStatus: response status received from HAL
6506 pUserData: user data
6507
6508
6509
6510 RETURN VALUE
6511 The result code associated with performing the operation
6512---------------------------------------------------------------------------*/
6513typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6514 void* pUserData);
6515
6516/*---------------------------------------------------------------------------
6517 WDI_StartRspCb
6518
6519 DESCRIPTION
6520
6521 This callback is invoked by DAL when it has received a Del TS response from
6522 the underlying device.
6523
6524 PARAMETERS
6525
6526 IN
6527 wdiStatus: response status received from HAL
6528 pUserData: user data
6529
6530
6531
6532 RETURN VALUE
6533 The result code associated with performing the operation
6534---------------------------------------------------------------------------*/
6535typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6536 void* pUserData);
6537
6538/*---------------------------------------------------------------------------
6539 WDI_StartRspCb
6540
6541 DESCRIPTION
6542
6543 This callback is invoked by DAL when it has received an Update EDCA Params
6544 response from the underlying device.
6545
6546 PARAMETERS
6547
6548 IN
6549 wdiStatus: response status received from HAL
6550 pUserData: user data
6551
6552
6553
6554 RETURN VALUE
6555 The result code associated with performing the operation
6556---------------------------------------------------------------------------*/
6557typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6558 void* pUserData);
6559
6560/*---------------------------------------------------------------------------
6561 WDI_StartRspCb
6562
6563 DESCRIPTION
6564
6565 This callback is invoked by DAL when it has received a Add BA response from
6566 the underlying device.
6567
6568 PARAMETERS
6569
6570 IN
6571 wdiStatus: response status received from HAL
6572 pUserData: user data
6573
6574
6575
6576 RETURN VALUE
6577 The result code associated with performing the operation
6578---------------------------------------------------------------------------*/
6579typedef void (*WDI_AddBASessionRspCb)(
6580 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6581 void* pUserData);
6582
6583
6584/*---------------------------------------------------------------------------
6585 WDI_StartRspCb
6586
6587 DESCRIPTION
6588
6589 This callback is invoked by DAL when it has received a Del BA response from
6590 the underlying device.
6591
6592 PARAMETERS
6593
6594 IN
6595 wdiStatus: response status received from HAL
6596 pUserData: user data
6597
6598
6599
6600 RETURN VALUE
6601 The result code associated with performing the operation
6602---------------------------------------------------------------------------*/
6603typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6604 void* pUserData);
6605
6606
6607/*---------------------------------------------------------------------------
6608 WDI_StartRspCb
6609
6610 DESCRIPTION
6611
6612 This callback is invoked by DAL when it has received a Switch Ch response
6613 from the underlying device.
6614
6615 PARAMETERS
6616
6617 IN
6618 wdiRspParams: response parameters received from HAL
6619 pUserData: user data
6620
6621
6622 RETURN VALUE
6623 The result code associated with performing the operation
6624---------------------------------------------------------------------------*/
6625typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6626 void* pUserData);
6627
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006628typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6629 void* pUserData);
6630
Jeff Johnson295189b2012-06-20 16:38:30 -07006631
6632/*---------------------------------------------------------------------------
6633 WDI_StartRspCb
6634
6635 DESCRIPTION
6636
6637 This callback is invoked by DAL when it has received a Config STA response
6638 from the underlying device.
6639
6640 PARAMETERS
6641
6642 IN
6643 wdiRspParams: response parameters received from HAL
6644 pUserData: user data
6645
6646
6647 RETURN VALUE
6648 The result code associated with performing the operation
6649---------------------------------------------------------------------------*/
6650typedef void (*WDI_ConfigSTARspCb)(
6651 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6652 void* pUserData);
6653
6654
6655/*---------------------------------------------------------------------------
6656 WDI_StartRspCb
6657
6658 DESCRIPTION
6659
6660 This callback is invoked by DAL when it has received a Set Link State
6661 response from the underlying device.
6662
6663 PARAMETERS
6664
6665 IN
6666 wdiRspParams: response parameters received from HAL
6667 pUserData: user data
6668
6669
6670 RETURN VALUE
6671 The result code associated with performing the operation
6672---------------------------------------------------------------------------*/
6673typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6674 void* pUserData);
6675
6676
6677/*---------------------------------------------------------------------------
6678 WDI_StartRspCb
6679
6680 DESCRIPTION
6681
6682 This callback is invoked by DAL when it has received a Get Stats response
6683 from the underlying device.
6684
6685 PARAMETERS
6686
6687 IN
6688 wdiRspParams: response parameters received from HAL
6689 pUserData: user data
6690
6691
6692 RETURN VALUE
6693 The result code associated with performing the operation
6694---------------------------------------------------------------------------*/
6695typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6696 void* pUserData);
6697
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006698#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006699/*---------------------------------------------------------------------------
6700 WDI_GetRoamRssiRspCb
6701
6702 DESCRIPTION
6703
6704 This callback is invoked by DAL when it has received a Get Roam Rssi response
6705 from the underlying device.
6706
6707 PARAMETERS
6708
6709 IN
6710 wdiRspParams: response parameters received from HAL
6711 pUserData: user data
6712
6713
6714 RETURN VALUE
6715 The result code associated with performing the operation
6716---------------------------------------------------------------------------*/
6717typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6718 void* pUserData);
6719#endif
6720
Jeff Johnson295189b2012-06-20 16:38:30 -07006721
6722/*---------------------------------------------------------------------------
6723 WDI_StartRspCb
6724
6725 DESCRIPTION
6726
6727 This callback is invoked by DAL when it has received a Update Cfg response
6728 from the underlying device.
6729
6730 PARAMETERS
6731
6732 IN
6733 wdiStatus: response status received from HAL
6734 pUserData: user data
6735
6736
6737 RETURN VALUE
6738 The result code associated with performing the operation
6739---------------------------------------------------------------------------*/
6740typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6741 void* pUserData);
6742
6743/*---------------------------------------------------------------------------
6744 WDI_AddBARspCb
6745
6746 DESCRIPTION
6747
6748 This callback is invoked by DAL when it has received a ADD BA response
6749 from the underlying device.
6750
6751 PARAMETERS
6752
6753 IN
6754 wdiStatus: response status received from HAL
6755 pUserData: user data
6756
6757
6758 RETURN VALUE
6759 The result code associated with performing the operation
6760---------------------------------------------------------------------------*/
6761typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6762 void* pUserData);
6763
6764/*---------------------------------------------------------------------------
6765 WDI_TriggerBARspCb
6766
6767 DESCRIPTION
6768
6769 This callback is invoked by DAL when it has received a ADD BA response
6770 from the underlying device.
6771
6772 PARAMETERS
6773
6774 IN
6775 wdiStatus: response status received from HAL
6776 pUserData: user data
6777
6778
6779 RETURN VALUE
6780 The result code associated with performing the operation
6781---------------------------------------------------------------------------*/
6782typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6783 void* pUserData);
6784
6785
6786/*---------------------------------------------------------------------------
6787 WDI_UpdateBeaconParamsRspCb
6788
6789 DESCRIPTION
6790
6791 This callback is invoked by DAL when it has received a Update Beacon Params response from
6792 the underlying device.
6793
6794 PARAMETERS
6795
6796 IN
6797 wdiStatus: response status received from HAL
6798 pUserData: user data
6799
6800
6801
6802 RETURN VALUE
6803 The result code associated with performing the operation
6804---------------------------------------------------------------------------*/
6805typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6806 void* pUserData);
6807
6808/*---------------------------------------------------------------------------
6809 WDI_SendBeaconParamsRspCb
6810
6811 DESCRIPTION
6812
6813 This callback is invoked by DAL when it has received a Send Beacon Params response from
6814 the underlying device.
6815
6816 PARAMETERS
6817
6818 IN
6819 wdiStatus: response status received from HAL
6820 pUserData: user data
6821
6822
6823
6824 RETURN VALUE
6825 The result code associated with performing the operation
6826---------------------------------------------------------------------------*/
6827typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6828 void* pUserData);
6829
6830/*---------------------------------------------------------------------------
6831 WDA_SetMaxTxPowerRspCb
6832
6833 DESCRIPTION
6834
6835 This callback is invoked by DAL when it has received a set max Tx Power response from
6836 the underlying device.
6837
6838 PARAMETERS
6839
6840 IN
6841 wdiStatus: response status received from HAL
6842 pUserData: user data
6843
6844
6845
6846 RETURN VALUE
6847 The result code associated with performing the operation
6848---------------------------------------------------------------------------*/
6849typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6850 void* pUserData);
6851
6852/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006853 WDA_SetMaxTxPowerPerBandRspCb
6854
6855 DESCRIPTION
6856
6857 This callback is invoked by DAL when it has received a
6858 set max Tx Power Per Band response from the underlying device.
6859
6860 PARAMETERS
6861
6862 IN
6863 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6864 pUserData: user data
6865
6866 RETURN VALUE
6867 The result code associated with performing the operation
6868---------------------------------------------------------------------------*/
6869typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6870 *wdiSetMaxTxPowerPerBandRsp,
6871 void* pUserData);
6872
6873/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006874 WDA_SetTxPowerRspCb
6875
6876 DESCRIPTION
6877
6878 This callback is invoked by DAL when it has received a set max Tx Power response from
6879 the underlying device.
6880
6881 PARAMETERS
6882
6883 IN
6884 wdiStatus: response status received from HAL
6885 pUserData: user data
6886
6887 RETURN VALUE
6888 The result code associated with performing the operation
6889---------------------------------------------------------------------------*/
6890typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6891 void* pUserData);
6892
6893/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006894 WDI_UpdateProbeRspTemplateRspCb
6895
6896 DESCRIPTION
6897
6898 This callback is invoked by DAL when it has received a Probe RSP Template
6899 Update response from the underlying device.
6900
6901 PARAMETERS
6902
6903 IN
6904 wdiStatus: response status received from HAL
6905 pUserData: user data
6906
6907
6908
6909 RETURN VALUE
6910 The result code associated with performing the operation
6911---------------------------------------------------------------------------*/
6912typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6913 void* pUserData);
6914
Jeff Johnson295189b2012-06-20 16:38:30 -07006915/*---------------------------------------------------------------------------
6916 WDI_SetP2PGONOAReqParamsRspCb
6917
6918 DESCRIPTION
6919
6920 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6921 the underlying device.
6922
6923 PARAMETERS
6924
6925 IN
6926 wdiStatus: response status received from HAL
6927 pUserData: user data
6928
6929
6930
6931 RETURN VALUE
6932 The result code associated with performing the operation
6933---------------------------------------------------------------------------*/
6934typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6935 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006936
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306937/*---------------------------------------------------------------------------
6938 WDI_SetTDLSLinkEstablishReqParamsRspCb
6939
6940 DESCRIPTION
6941
6942 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6943 the underlying device.
6944
6945 PARAMETERS
6946
6947 IN
6948 wdiStatus: response status received from HAL
6949 pUserData: user data
6950
6951
6952
6953 RETURN VALUE
6954 The result code associated with performing the operation
6955---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306956typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6957 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306958 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006959
6960/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306961 WDI_SetTDLSChanSwitchReqParamsRspCb
6962
6963 DESCRIPTION
6964
6965 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6966 the underlying device.
6967
6968 PARAMETERS
6969
6970 IN
6971 wdiStatus: response status received from HAL
6972 pUserData: user data
6973
6974
6975
6976 RETURN VALUE
6977 The result code associated with performing the operation
6978---------------------------------------------------------------------------*/
6979typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6980 wdiSetTdlsChanSwitchReqRsp,
6981 void* pUserData);
6982/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006983 WDI_SetPwrSaveCfgCb
6984
6985 DESCRIPTION
6986
6987 This callback is invoked by DAL when it has received a set Power Save CFG
6988 response from the underlying device.
6989
6990 PARAMETERS
6991
6992 IN
6993 wdiStatus: response status received from HAL
6994 pUserData: user data
6995
6996
6997
6998 RETURN VALUE
6999 The result code associated with performing the operation
7000---------------------------------------------------------------------------*/
7001typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
7002 void* pUserData);
7003
7004/*---------------------------------------------------------------------------
7005 WDI_SetUapsdAcParamsCb
7006
7007 DESCRIPTION
7008
7009 This callback is invoked by DAL when it has received a set UAPSD params
7010 response from the underlying device.
7011
7012 PARAMETERS
7013
7014 IN
7015 wdiStatus: response status received from HAL
7016 pUserData: user data
7017
7018
7019
7020 RETURN VALUE
7021 The result code associated with performing the operation
7022---------------------------------------------------------------------------*/
7023typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
7024 void* pUserData);
7025
7026/*---------------------------------------------------------------------------
7027 WDI_EnterImpsRspCb
7028
7029 DESCRIPTION
7030
7031 This callback is invoked by DAL when it has received a Enter IMPS response
7032 from the underlying device.
7033
7034 PARAMETERS
7035
7036 IN
7037 wdiStatus: response status received from HAL
7038 pUserData: user data
7039
7040
7041
7042 RETURN VALUE
7043 The result code associated with performing the operation
7044---------------------------------------------------------------------------*/
7045typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7046 void* pUserData);
7047
7048/*---------------------------------------------------------------------------
7049 WDI_ExitImpsRspCb
7050
7051 DESCRIPTION
7052
7053 This callback is invoked by DAL when it has received a Exit IMPS response
7054 from the underlying device.
7055
7056 PARAMETERS
7057
7058 IN
7059 wdiStatus: response status received from HAL
7060 pUserData: user data
7061
7062
7063
7064 RETURN VALUE
7065 The result code associated with performing the operation
7066---------------------------------------------------------------------------*/
7067typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7068 void* pUserData);
7069
7070/*---------------------------------------------------------------------------
7071 WDI_EnterBmpsRspCb
7072
7073 DESCRIPTION
7074
7075 This callback is invoked by DAL when it has received a enter BMPS response
7076 from the underlying device.
7077
7078 PARAMETERS
7079
7080 IN
7081 wdiStatus: response status received from HAL
7082 pUserData: user data
7083
7084
7085
7086 RETURN VALUE
7087 The result code associated with performing the operation
7088---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007089typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007090 void* pUserData);
7091
7092/*---------------------------------------------------------------------------
7093 WDI_ExitBmpsRspCb
7094
7095 DESCRIPTION
7096
7097 This callback is invoked by DAL when it has received a exit BMPS response
7098 from the underlying device.
7099
7100 PARAMETERS
7101
7102 IN
7103 wdiStatus: response status received from HAL
7104 pUserData: user data
7105
7106
7107
7108 RETURN VALUE
7109 The result code associated with performing the operation
7110---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007111typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007112 void* pUserData);
7113
7114/*---------------------------------------------------------------------------
7115 WDI_EnterUapsdRspCb
7116
7117 DESCRIPTION
7118
7119 This callback is invoked by DAL when it has received a enter UAPSD response
7120 from the underlying device.
7121
7122 PARAMETERS
7123
7124 IN
7125 wdiStatus: response status received from HAL
7126 pUserData: user data
7127
7128
7129
7130 RETURN VALUE
7131 The result code associated with performing the operation
7132---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007133typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007134 void* pUserData);
7135
7136/*---------------------------------------------------------------------------
7137 WDI_ExitUapsdRspCb
7138
7139 DESCRIPTION
7140
7141 This callback is invoked by DAL when it has received a exit UAPSD response
7142 from the underlying device.
7143
7144 PARAMETERS
7145
7146 IN
7147 wdiStatus: response status received from HAL
7148 pUserData: user data
7149
7150
7151
7152 RETURN VALUE
7153 The result code associated with performing the operation
7154---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007155typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007156 void* pUserData);
7157
7158/*---------------------------------------------------------------------------
7159 WDI_UpdateUapsdParamsCb
7160
7161 DESCRIPTION
7162
7163 This callback is invoked by DAL when it has received a update UAPSD params
7164 response from the underlying device.
7165
7166 PARAMETERS
7167
7168 IN
7169 wdiStatus: response status received from HAL
7170 pUserData: user data
7171
7172
7173
7174 RETURN VALUE
7175 The result code associated with performing the operation
7176---------------------------------------------------------------------------*/
7177typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7178 void* pUserData);
7179
7180/*---------------------------------------------------------------------------
7181 WDI_ConfigureRxpFilterCb
7182
7183 DESCRIPTION
7184
7185 This callback is invoked by DAL when it has received a config RXP filter
7186 response from the underlying device.
7187
7188 PARAMETERS
7189
7190 IN
7191 wdiStatus: response status received from HAL
7192 pUserData: user data
7193
7194
7195
7196 RETURN VALUE
7197 The result code associated with performing the operation
7198---------------------------------------------------------------------------*/
7199typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7200 void* pUserData);
7201
7202/*---------------------------------------------------------------------------
7203 WDI_SetBeaconFilterCb
7204
7205 DESCRIPTION
7206
7207 This callback is invoked by DAL when it has received a set beacon filter
7208 response from the underlying device.
7209
7210 PARAMETERS
7211
7212 IN
7213 wdiStatus: response status received from HAL
7214 pUserData: user data
7215
7216
7217
7218 RETURN VALUE
7219 The result code associated with performing the operation
7220---------------------------------------------------------------------------*/
7221typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7222 void* pUserData);
7223
7224/*---------------------------------------------------------------------------
7225 WDI_RemBeaconFilterCb
7226
7227 DESCRIPTION
7228
7229 This callback is invoked by DAL when it has received a remove beacon filter
7230 response from the underlying device.
7231
7232 PARAMETERS
7233
7234 IN
7235 wdiStatus: response status received from HAL
7236 pUserData: user data
7237
7238
7239
7240 RETURN VALUE
7241 The result code associated with performing the operation
7242---------------------------------------------------------------------------*/
7243typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7244 void* pUserData);
7245
7246/*---------------------------------------------------------------------------
7247 WDI_SetRSSIThresholdsCb
7248
7249 DESCRIPTION
7250
7251 This callback is invoked by DAL when it has received a set RSSI thresholds
7252 response from the underlying device.
7253
7254 PARAMETERS
7255
7256 IN
7257 wdiStatus: response status received from HAL
7258 pUserData: user data
7259
7260
7261
7262 RETURN VALUE
7263 The result code associated with performing the operation
7264---------------------------------------------------------------------------*/
7265typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7266 void* pUserData);
7267
7268/*---------------------------------------------------------------------------
7269 WDI_HostOffloadCb
7270
7271 DESCRIPTION
7272
7273 This callback is invoked by DAL when it has received a host offload
7274 response from the underlying device.
7275
7276 PARAMETERS
7277
7278 IN
7279 wdiStatus: response status received from HAL
7280 pUserData: user data
7281
7282
7283
7284 RETURN VALUE
7285 The result code associated with performing the operation
7286---------------------------------------------------------------------------*/
7287typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7288 void* pUserData);
7289
7290/*---------------------------------------------------------------------------
7291 WDI_KeepAliveCb
7292
7293 DESCRIPTION
7294
7295 This callback is invoked by DAL when it has received a Keep Alive
7296 response from the underlying device.
7297
7298 PARAMETERS
7299
7300 IN
7301 wdiStatus: response status received from HAL
7302 pUserData: user data
7303
7304
7305
7306 RETURN VALUE
7307 The result code associated with performing the operation
7308---------------------------------------------------------------------------*/
7309typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7310 void* pUserData);
7311
7312/*---------------------------------------------------------------------------
7313 WDI_WowlAddBcPtrnCb
7314
7315 DESCRIPTION
7316
7317 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7318 response from the underlying device.
7319
7320 PARAMETERS
7321
7322 IN
7323 wdiStatus: response status received from HAL
7324 pUserData: user data
7325
7326
7327
7328 RETURN VALUE
7329 The result code associated with performing the operation
7330---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007331typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007332 void* pUserData);
7333
7334/*---------------------------------------------------------------------------
7335 WDI_WowlDelBcPtrnCb
7336
7337 DESCRIPTION
7338
7339 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7340 response from the underlying device.
7341
7342 PARAMETERS
7343
7344 IN
7345 wdiStatus: response status received from HAL
7346 pUserData: user data
7347
7348
7349
7350 RETURN VALUE
7351 The result code associated with performing the operation
7352---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007353typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007354 void* pUserData);
7355
7356/*---------------------------------------------------------------------------
7357 WDI_WowlEnterReqCb
7358
7359 DESCRIPTION
7360
7361 This callback is invoked by DAL when it has received a Wowl enter
7362 response from the underlying device.
7363
7364 PARAMETERS
7365
7366 IN
7367 wdiStatus: response status received from HAL
7368 pUserData: user data
7369
7370
7371
7372 RETURN VALUE
7373 The result code associated with performing the operation
7374---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007375typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7376 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007377
7378/*---------------------------------------------------------------------------
7379 WDI_WowlExitReqCb
7380
7381 DESCRIPTION
7382
7383 This callback is invoked by DAL when it has received a Wowl exit
7384 response from the underlying device.
7385
7386 PARAMETERS
7387
7388 IN
7389 wdiStatus: response status received from HAL
7390 pUserData: user data
7391
7392
7393
7394 RETURN VALUE
7395 The result code associated with performing the operation
7396---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007397typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007398 void* pUserData);
7399
7400/*---------------------------------------------------------------------------
7401 WDI_ConfigureAppsCpuWakeupStateCb
7402
7403 DESCRIPTION
7404
7405 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7406 State response from the underlying device.
7407
7408 PARAMETERS
7409
7410 IN
7411 wdiStatus: response status received from HAL
7412 pUserData: user data
7413
7414
7415
7416 RETURN VALUE
7417 The result code associated with performing the operation
7418---------------------------------------------------------------------------*/
7419typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7420 void* pUserData);
7421/*---------------------------------------------------------------------------
7422 WDI_NvDownloadRspCb
7423
7424 DESCRIPTION
7425
7426 This callback is invoked by DAL when it has received a NV Download response
7427 from the underlying device.
7428
7429 PARAMETERS
7430
7431 IN
7432 wdiStatus:response status received from HAL
7433 pUserData:user data
7434
7435 RETURN VALUE
7436 The result code associated with performing the operation
7437---------------------------------------------------------------------------*/
7438typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7439 void* pUserData);
7440/*---------------------------------------------------------------------------
7441 WDI_FlushAcRspCb
7442
7443 DESCRIPTION
7444
7445 This callback is invoked by DAL when it has received a Flush AC response from
7446 the underlying device.
7447
7448 PARAMETERS
7449
7450 IN
7451 wdiStatus: response status received from HAL
7452 pUserData: user data
7453
7454
7455
7456 RETURN VALUE
7457 The result code associated with performing the operation
7458---------------------------------------------------------------------------*/
7459typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7460 void* pUserData);
7461
7462/*---------------------------------------------------------------------------
7463 WDI_BtAmpEventRspCb
7464
7465 DESCRIPTION
7466
7467 This callback is invoked by DAL when it has received a Bt AMP event response
7468 from the underlying device.
7469
7470 PARAMETERS
7471
7472 IN
7473 wdiStatus: response status received from HAL
7474 pUserData: user data
7475
7476
7477
7478 RETURN VALUE
7479 The result code associated with performing the operation
7480---------------------------------------------------------------------------*/
7481typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7482 void* pUserData);
7483
Jeff Johnsone7245742012-09-05 17:12:55 -07007484#ifdef FEATURE_OEM_DATA_SUPPORT
7485/*---------------------------------------------------------------------------
7486 WDI_oemDataRspCb
7487
7488 DESCRIPTION
7489
7490 This callback is invoked by DAL when it has received a Start oem data response from
7491 the underlying device.
7492
7493 PARAMETERS
7494
7495 IN
7496 wdiStatus: response status received from HAL
7497 pUserData: user data
7498
7499
7500
7501 RETURN VALUE
7502 The result code associated with performing the operation
7503---------------------------------------------------------------------------*/
7504typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7505 void* pUserData);
7506
7507#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007508
7509/*---------------------------------------------------------------------------
7510 WDI_HostResumeEventRspCb
7511
7512 DESCRIPTION
7513
7514 This callback is invoked by DAL when it has received a Bt AMP event response
7515 from the underlying device.
7516
7517 PARAMETERS
7518
7519 IN
7520 wdiStatus: response status received from HAL
7521 pUserData: user data
7522
7523
7524
7525 RETURN VALUE
7526 The result code associated with performing the operation
7527---------------------------------------------------------------------------*/
7528typedef void (*WDI_HostResumeEventRspCb)(
7529 WDI_SuspendResumeRspParamsType *resumeRspParams,
7530 void* pUserData);
7531
7532
7533#ifdef WLAN_FEATURE_VOWIFI_11R
7534/*---------------------------------------------------------------------------
7535 WDI_AggrAddTsRspCb
7536
7537 DESCRIPTION
7538
7539 This callback is invoked by DAL when it has received a Aggregated Add TS
7540 response from the underlying device.
7541
7542 PARAMETERS
7543
7544 IN
7545 wdiStatus: response status received from HAL
7546 pUserData: user data
7547
7548
7549
7550 RETURN VALUE
7551 The result code associated with performing the operation
7552---------------------------------------------------------------------------*/
7553typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7554 void* pUserData);
7555#endif /* WLAN_FEATURE_VOWIFI_11R */
7556
Jeff Johnson295189b2012-06-20 16:38:30 -07007557/*---------------------------------------------------------------------------
7558 WDI_FTMCommandRspCb
7559
7560 DESCRIPTION
7561
7562 FTM Command response CB
7563
7564 PARAMETERS
7565
7566 IN
7567 ftmCMDRspdata: FTM response data from HAL
7568 pUserData: user data
7569
7570
7571 RETURN VALUE
7572 NONE
7573---------------------------------------------------------------------------*/
7574typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7575 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007576
7577/*---------------------------------------------------------------------------
7578 WDI_AddSTASelfParamsRspCb
7579
7580 DESCRIPTION
7581
7582 This callback is invoked by DAL when it has received a Add Sta Self Params
7583 response from the underlying device.
7584
7585 PARAMETERS
7586
7587 IN
7588 wdiAddSelfSTARsp: response status received from HAL
7589 pUserData: user data
7590
7591
7592
7593 RETURN VALUE
7594 The result code associated with performing the operation
7595---------------------------------------------------------------------------*/
7596typedef void (*WDI_AddSTASelfParamsRspCb)(
7597 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7598 void* pUserData);
7599
7600
7601/*---------------------------------------------------------------------------
7602 WDI_DelSTASelfRspCb
7603
7604 DESCRIPTION
7605
7606 This callback is invoked by DAL when it has received a host offload
7607 response from the underlying device.
7608
7609 PARAMETERS
7610
7611 IN
7612 wdiStatus: response status received from HAL
7613 pUserData: user data
7614
7615
7616
7617 RETURN VALUE
7618 The result code associated with performing the operation
7619---------------------------------------------------------------------------*/
7620typedef void (*WDI_DelSTASelfRspCb)
7621(
7622WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7623void* pUserData
7624);
7625
7626#ifdef FEATURE_WLAN_SCAN_PNO
7627/*---------------------------------------------------------------------------
7628 WDI_PNOScanCb
7629
7630 DESCRIPTION
7631
7632 This callback is invoked by DAL when it has received a Set PNO
7633 response from the underlying device.
7634
7635 PARAMETERS
7636
7637 IN
7638 wdiStatus: response status received from HAL
7639 pUserData: user data
7640
7641
7642
7643 RETURN VALUE
7644 The result code associated with performing the operation
7645---------------------------------------------------------------------------*/
7646typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7647 void* pUserData);
7648
7649/*---------------------------------------------------------------------------
7650 WDI_PNOScanCb
7651
7652 DESCRIPTION
7653
7654 This callback is invoked by DAL when it has received a Set PNO
7655 response from the underlying device.
7656
7657 PARAMETERS
7658
7659 IN
7660 wdiStatus: response status received from HAL
7661 pUserData: user data
7662
7663
7664
7665 RETURN VALUE
7666 The result code associated with performing the operation
7667---------------------------------------------------------------------------*/
7668typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7669 void* pUserData);
7670
7671/*---------------------------------------------------------------------------
7672 WDI_UpdateScanParamsCb
7673
7674 DESCRIPTION
7675
7676 This callback is invoked by DAL when it has received a Update Scan Params
7677 response from the underlying device.
7678
7679 PARAMETERS
7680
7681 IN
7682 wdiStatus: response status received from HAL
7683 pUserData: user data
7684
7685
7686
7687 RETURN VALUE
7688 The result code associated with performing the operation
7689---------------------------------------------------------------------------*/
7690typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7691 void* pUserData);
7692#endif // FEATURE_WLAN_SCAN_PNO
7693
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007694typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7695 void* pUserData);
7696
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007697#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7698/*---------------------------------------------------------------------------
7699 WDI_RoamOffloadScanCb
7700
7701 DESCRIPTION
7702
7703 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7704 response from the underlying device.
7705
7706 PARAMETERS
7707
7708 IN
7709 wdiStatus: response status received from HAL
7710 pUserData: user data
7711
7712
7713
7714 RETURN VALUE
7715 The result code associated with performing the operation
7716---------------------------------------------------------------------------*/
7717typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7718 void* pUserData);
7719
7720#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007721/*---------------------------------------------------------------------------
7722 WDI_SetTxPerTrackingRspCb
7723
7724 DESCRIPTION
7725
7726 This callback is invoked by DAL when it has received a Tx PER Tracking
7727 response from the underlying device.
7728
7729 PARAMETERS
7730
7731 IN
7732 wdiStatus: response status received from HAL
7733 pUserData: user data
7734
7735
7736
7737 RETURN VALUE
7738 The result code associated with performing the operation
7739---------------------------------------------------------------------------*/
7740typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7741 void* pUserData);
7742
7743#ifdef WLAN_FEATURE_PACKET_FILTERING
7744/*---------------------------------------------------------------------------
7745 WDI_8023MulticastListCb
7746
7747 DESCRIPTION
7748
7749 This callback is invoked by DAL when it has received a 8023 Multicast List
7750 response from the underlying device.
7751
7752 PARAMETERS
7753
7754 IN
7755 wdiStatus: response status received from HAL
7756 pUserData: user data
7757
7758
7759
7760 RETURN VALUE
7761 The result code associated with performing the operation
7762---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007763typedef void (*WDI_8023MulticastListCb)(
7764 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7765 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007766
7767/*---------------------------------------------------------------------------
7768 WDI_ReceiveFilterSetFilterCb
7769
7770 DESCRIPTION
7771
7772 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7773 response from the underlying device.
7774
7775 PARAMETERS
7776
7777 IN
7778 wdiStatus: response status received from HAL
7779 pUserData: user data
7780
7781
7782
7783 RETURN VALUE
7784 The result code associated with performing the operation
7785---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007786typedef void (*WDI_ReceiveFilterSetFilterCb)(
7787 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7788 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007789
7790/*---------------------------------------------------------------------------
7791 WDI_FilterMatchCountCb
7792
7793 DESCRIPTION
7794
7795 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7796 response from the underlying device.
7797
7798 PARAMETERS
7799
7800 IN
7801 wdiStatus: response status received from HAL
7802 pUserData: user data
7803
7804
7805
7806 RETURN VALUE
7807 The result code associated with performing the operation
7808---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007809typedef void (*WDI_FilterMatchCountCb)(
7810 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7811 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007812
7813/*---------------------------------------------------------------------------
7814 WDI_ReceiveFilterClearFilterCb
7815
7816 DESCRIPTION
7817
7818 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7819 response from the underlying device.
7820
7821 PARAMETERS
7822
7823 IN
7824 wdiStatus: response status received from HAL
7825 pUserData: user data
7826
7827
7828
7829 RETURN VALUE
7830 The result code associated with performing the operation
7831---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007832typedef void (*WDI_ReceiveFilterClearFilterCb)(
7833 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7834 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007835#endif // WLAN_FEATURE_PACKET_FILTERING
7836
7837/*---------------------------------------------------------------------------
7838 WDI_HALDumpCmdRspCb
7839
7840 DESCRIPTION
7841
7842 This callback is invoked by DAL when it has received a HAL DUMP Command
7843response from
7844 the HAL layer.
7845
7846 PARAMETERS
7847
7848 IN
7849 wdiHalDumpCmdRsp: response status received from HAL
7850 pUserData: user data
7851
7852
7853
7854 RETURN VALUE
7855 The result code associated with performing the operation
7856---------------------------------------------------------------------------*/
7857typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7858 void* pUserData);
7859
7860/*---------------------------------------------------------------------------
7861 WDI_SetPowerParamsCb
7862
7863 DESCRIPTION
7864
7865 This callback is invoked by DAL when it has received a Set Power Param
7866 response from the underlying device.
7867
7868 PARAMETERS
7869
7870 IN
7871 wdiStatus: response status received from HAL
7872 pUserData: user data
7873
7874
7875
7876 RETURN VALUE
7877 The result code associated with performing the operation
7878---------------------------------------------------------------------------*/
7879typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7880 void* pUserData);
7881
7882#ifdef WLAN_FEATURE_GTK_OFFLOAD
7883/*---------------------------------------------------------------------------
7884 WDI_GtkOffloadCb
7885
7886 DESCRIPTION
7887
7888 This callback is invoked by DAL when it has received a GTK offload
7889 response from the underlying device.
7890
7891 PARAMETERS
7892
7893 IN
7894 wdiStatus: response status received from HAL
7895 pUserData: user data
7896
7897
7898
7899 RETURN VALUE
7900 The result code associated with performing the operation
7901---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007902typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007903 void* pUserData);
7904
7905/*---------------------------------------------------------------------------
7906 WDI_GtkOffloadGetInfoCb
7907
7908 DESCRIPTION
7909
7910 This callback is invoked by DAL when it has received a GTK offload
7911 information response from the underlying device.
7912
7913 PARAMETERS
7914
7915 IN
7916 wdiStatus: response status received from HAL
7917 pUserData: user data
7918
7919
7920
7921 RETURN VALUE
7922 The result code associated with performing the operation
7923---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007924typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007925 void* pUserData);
7926#endif // WLAN_FEATURE_GTK_OFFLOAD
7927
7928/*---------------------------------------------------------------------------
7929 WDI_SetTmLevelCb
7930
7931 DESCRIPTION
7932
7933 This callback is invoked by DAL when it has received a Set New TM Level
7934 done response from the underlying device.
7935
7936 PARAMETERS
7937
7938 IN
7939 wdiStatus: response status received from HAL
7940 pUserData: user data
7941
7942
7943
7944 RETURN VALUE
7945 The result code associated with performing the operation
7946---------------------------------------------------------------------------*/
7947typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7948 void* pUserData);
7949
7950/*---------------------------------------------------------------------------
7951 WDI_featureCapsExchangeCb
7952
7953 DESCRIPTION
7954
7955 This callback is invoked by DAL when it has received a HAL Feature Capbility
7956 Exchange Response the HAL layer. This callback is put to mantain code
7957 similarity and is not being used right now.
7958
7959 PARAMETERS
7960
7961 IN
7962 wdiFeatCapRspParams: response parameters received from HAL
7963 pUserData: user data
7964
7965 RETURN VALUE
7966 The result code associated with performing the operation
7967---------------------------------------------------------------------------*/
7968typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7969 void* pUserData);
7970
Mohit Khanna4a70d262012-09-11 16:30:12 -07007971#ifdef WLAN_FEATURE_11AC
7972typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7973 void* pUserData);
7974#endif
7975
Leo Chang9056f462013-08-01 19:21:11 -07007976#ifdef FEATURE_WLAN_LPHB
7977typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7978 void* pUserData);
7979#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007980
Rajeev79dbe4c2013-10-05 11:03:42 +05307981#ifdef FEATURE_WLAN_BATCH_SCAN
7982/*---------------------------------------------------------------------------
7983 WDI_SetBatchScanCb
7984
7985 DESCRIPTION
7986
7987 This callback is invoked by DAL when it has received a get batch scan
7988 response from the underlying device.
7989
7990 PARAMETERS
7991
7992 IN
7993 wdiStatus: response status received from HAL
7994 pUserData: user data
7995
7996
7997
7998 RETURN VALUE
7999 The result code associated with performing the operation
8000---------------------------------------------------------------------------*/
8001typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
8002
8003#endif
8004
c_hpothu92367912014-05-01 15:18:17 +05308005typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
8006 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05308007
Dino Mycle41bdc942014-06-10 11:30:24 +05308008#ifdef WLAN_FEATURE_EXTSCAN
8009typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
8010 void *pUserData);
8011typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
8012 void *pUserData);
8013typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
8014 void *pUserData);
8015typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
8016 void *pUserData);
8017typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
8018 void *pUserData);
8019typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
8020 void *pUserData);
8021typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
8022 void *pUserData);
8023typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
8024 void *pUserData);
8025#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05308026
8027#ifdef WLAN_FEATURE_LINK_LAYER_STATS
8028typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
8029 void *pUserData);
8030typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
8031 void *pUserData);
8032typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
8033 void *pUserData);
8034#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05308035
8036typedef void (*WDI_SetSpoofMacAddrRspCb)(
8037 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308038
Abhishek Singh85b74712014-10-08 11:38:19 +05308039typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8040 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308041
8042typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhald1be97f2015-05-27 22:39:59 +05308043typedef void (*WDI_FWLoggingInitRspCb)(
8044 WDI_FWLoggingInitRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308045typedef void (*WDI_GetFrameLogRspCb)(
8046 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05308047typedef void (*WDI_FatalEventLogsRspCb)(
8048 WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308049
Katya Nigamf0511f62015-05-05 16:40:57 +05308050typedef void (*WDI_MonStartRspCb)(void *pEventData,void *pUserData);
8051typedef void (*WDI_MonStopRspCb)(void *pUserData);
8052
Jeff Johnson295189b2012-06-20 16:38:30 -07008053/*========================================================================
8054 * Function Declarations and Documentation
8055 ==========================================================================*/
8056
8057/*========================================================================
8058
8059 INITIALIZATION APIs
8060
8061==========================================================================*/
8062
8063/**
8064 @brief WDI_Init is used to initialize the DAL.
8065
8066 DAL will allocate all the resources it needs. It will open PAL, it will also
8067 open both the data and the control transport which in their turn will open
8068 DXE/SMD or any other drivers that they need.
8069
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308070 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008071 ppWDIGlobalCtx: output pointer of Global Context
8072 pWdiDevCapability: output pointer of device capability
8073
8074 @return Result of the function call
8075*/
8076WDI_Status
8077WDI_Init
8078(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308079 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008080 void** ppWDIGlobalCtx,
8081 WDI_DeviceCapabilityType* pWdiDevCapability,
8082 unsigned int driverType
8083);
8084
8085/**
8086 @brief WDI_Start will be called when the upper MAC is ready to
8087 commence operation with the WLAN Device. Upon the call
8088 of this API the WLAN DAL will pack and send a HAL Start
8089 message to the lower RIVA sub-system if the SMD channel
8090 has been fully opened and the RIVA subsystem is up.
8091
8092 If the RIVA sub-system is not yet up and running DAL
8093 will queue the request for Open and will wait for the
8094 SMD notification before attempting to send down the
8095 message to HAL.
8096
8097 WDI_Init must have been called.
8098
8099 @param wdiStartParams: the start parameters as specified by
8100 the Device Interface
8101
8102 wdiStartRspCb: callback for passing back the response of
8103 the start operation received from the device
8104
8105 pUserData: user data will be passed back with the
8106 callback
8107
8108 @see WDI_Start
8109 @return Result of the function call
8110*/
8111WDI_Status
8112WDI_Start
8113(
8114 WDI_StartReqParamsType* pwdiStartParams,
8115 WDI_StartRspCb wdiStartRspCb,
8116 void* pUserData
8117);
8118
8119
8120/**
8121 @brief WDI_Stop will be called when the upper MAC is ready to
8122 stop any operation with the WLAN Device. Upon the call
8123 of this API the WLAN DAL will pack and send a HAL Stop
8124 message to the lower RIVA sub-system if the DAL Core is
8125 in started state.
8126
8127 In state BUSY this request will be queued.
8128
8129 Request will not be accepted in any other state.
8130
8131 WDI_Start must have been called.
8132
8133 @param wdiStopParams: the stop parameters as specified by
8134 the Device Interface
8135
8136 wdiStopRspCb: callback for passing back the response of
8137 the stop operation received from the device
8138
8139 pUserData: user data will be passed back with the
8140 callback
8141
8142 @see WDI_Start
8143 @return Result of the function call
8144*/
8145WDI_Status
8146WDI_Stop
8147(
8148 WDI_StopReqParamsType* pwdiStopParams,
8149 WDI_StopRspCb wdiStopRspCb,
8150 void* pUserData
8151);
8152
8153/**
8154 @brief WDI_Close will be called when the upper MAC no longer
8155 needs to interract with DAL. DAL will free its control
8156 block.
8157
8158 It is only accepted in state STOPPED.
8159
8160 WDI_Stop must have been called.
8161
8162 @param none
8163
8164 @see WDI_Stop
8165 @return Result of the function call
8166*/
8167WDI_Status
8168WDI_Close
8169(
8170 void
8171);
8172
8173
8174/**
8175 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8176 This will do most of the WDI stop & close
8177 operations without doing any handshake with Riva
8178
8179 This will also make sure that the control transport
8180 will NOT be closed.
8181
8182 This request will not be queued.
8183
8184
8185 WDI_Start must have been called.
8186
8187 @param closeTransport: Close control channel if this is set
8188
8189 @return Result of the function call
8190*/
8191WDI_Status
8192WDI_Shutdown
8193(
8194 wpt_boolean closeTransport
8195);
8196
8197/*========================================================================
8198
8199 SCAN APIs
8200
8201==========================================================================*/
8202
8203/**
8204 @brief WDI_InitScanReq will be called when the upper MAC wants
8205 the WLAN Device to get ready for a scan procedure. Upon
8206 the call of this API the WLAN DAL will pack and send a
8207 HAL Init Scan request message to the lower RIVA
8208 sub-system if DAL is in state STARTED.
8209
8210 In state BUSY this request will be queued. Request won't
8211 be allowed in any other state.
8212
8213 WDI_Start must have been called.
8214
8215 @param wdiInitScanParams: the init scan parameters as specified
8216 by the Device Interface
8217
8218 wdiInitScanRspCb: callback for passing back the response
8219 of the init scan operation received from the device
8220
8221 pUserData: user data will be passed back with the
8222 callback
8223
8224 @see WDI_Start
8225 @return Result of the function call
8226*/
8227WDI_Status
8228WDI_InitScanReq
8229(
8230 WDI_InitScanReqParamsType* pwdiInitScanParams,
8231 WDI_InitScanRspCb wdiInitScanRspCb,
8232 void* pUserData
8233);
8234
8235/**
8236 @brief WDI_StartScanReq will be called when the upper MAC
8237 wishes to change the Scan channel on the WLAN Device.
8238 Upon the call of this API the WLAN DAL will pack and
8239 send a HAL Start Scan request message to the lower RIVA
8240 sub-system if DAL is in state STARTED.
8241
8242 In state BUSY this request will be queued. Request won't
8243 be allowed in any other state.
8244
8245 WDI_InitScanReq must have been called.
8246
8247 @param wdiStartScanParams: the start scan parameters as
8248 specified by the Device Interface
8249
8250 wdiStartScanRspCb: callback for passing back the
8251 response of the start scan operation received from the
8252 device
8253
8254 pUserData: user data will be passed back with the
8255 callback
8256
8257 @see WDI_InitScanReq
8258 @return Result of the function call
8259*/
8260WDI_Status
8261WDI_StartScanReq
8262(
8263 WDI_StartScanReqParamsType* pwdiStartScanParams,
8264 WDI_StartScanRspCb wdiStartScanRspCb,
8265 void* pUserData
8266);
8267
8268
8269/**
8270 @brief WDI_EndScanReq will be called when the upper MAC is
8271 wants to end scanning for a particular channel that it
8272 had set before by calling Scan Start on the WLAN Device.
8273 Upon the call of this API the WLAN DAL will pack and
8274 send a HAL End Scan request message to the lower RIVA
8275 sub-system if DAL is in state STARTED.
8276
8277 In state BUSY this request will be queued. Request won't
8278 be allowed in any other state.
8279
8280 WDI_StartScanReq must have been called.
8281
8282 @param wdiEndScanParams: the end scan parameters as specified
8283 by the Device Interface
8284
8285 wdiEndScanRspCb: callback for passing back the response
8286 of the end scan operation received from the device
8287
8288 pUserData: user data will be passed back with the
8289 callback
8290
8291 @see WDI_StartScanReq
8292 @return Result of the function call
8293*/
8294WDI_Status
8295WDI_EndScanReq
8296(
8297 WDI_EndScanReqParamsType* pwdiEndScanParams,
8298 WDI_EndScanRspCb wdiEndScanRspCb,
8299 void* pUserData
8300);
8301
8302
8303/**
8304 @brief WDI_FinishScanReq will be called when the upper MAC has
8305 completed the scan process on the WLAN Device. Upon the
8306 call of this API the WLAN DAL will pack and send a HAL
8307 Finish Scan Request request message to the lower RIVA
8308 sub-system if DAL is in state STARTED.
8309
8310 In state BUSY this request will be queued. Request won't
8311 be allowed in any other state.
8312
8313 WDI_InitScanReq must have been called.
8314
8315 @param wdiFinishScanParams: the finish scan parameters as
8316 specified by the Device Interface
8317
8318 wdiFinishScanRspCb: callback for passing back the
8319 response of the finish scan operation received from the
8320 device
8321
8322 pUserData: user data will be passed back with the
8323 callback
8324
8325 @see WDI_InitScanReq
8326 @return Result of the function call
8327*/
8328WDI_Status
8329WDI_FinishScanReq
8330(
8331 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8332 WDI_FinishScanRspCb wdiFinishScanRspCb,
8333 void* pUserData
8334);
8335
8336/*========================================================================
8337
8338 ASSOCIATION APIs
8339
8340==========================================================================*/
8341
8342/**
8343 @brief WDI_JoinReq will be called when the upper MAC is ready
8344 to start an association procedure to a BSS. Upon the
8345 call of this API the WLAN DAL will pack and send a HAL
8346 Join request message to the lower RIVA sub-system if
8347 DAL is in state STARTED.
8348
8349 In state BUSY this request will be queued. Request won't
8350 be allowed in any other state.
8351
8352 WDI_Start must have been called.
8353
8354 @param wdiJoinParams: the join parameters as specified by
8355 the Device Interface
8356
8357 wdiJoinRspCb: callback for passing back the response of
8358 the join operation received from the device
8359
8360 pUserData: user data will be passed back with the
8361 callback
8362
8363 @see WDI_Start
8364 @return Result of the function call
8365*/
8366WDI_Status
8367WDI_JoinReq
8368(
8369 WDI_JoinReqParamsType* pwdiJoinParams,
8370 WDI_JoinRspCb wdiJoinRspCb,
8371 void* pUserData
8372);
8373
8374/**
8375 @brief WDI_ConfigBSSReq will be called when the upper MAC
8376 wishes to configure the newly acquired or in process of
8377 being acquired BSS to the HW . Upon the call of this API
8378 the WLAN DAL will pack and send a HAL Config BSS request
8379 message to the lower RIVA sub-system if DAL is in state
8380 STARTED.
8381
8382 In state BUSY this request will be queued. Request won't
8383 be allowed in any other state.
8384
8385 WDI_JoinReq must have been called.
8386
8387 @param wdiConfigBSSParams: the config BSS parameters as
8388 specified by the Device Interface
8389
8390 wdiConfigBSSRspCb: callback for passing back the
8391 response of the config BSS operation received from the
8392 device
8393
8394 pUserData: user data will be passed back with the
8395 callback
8396
8397 @see WDI_JoinReq
8398 @return Result of the function call
8399*/
8400WDI_Status
8401WDI_ConfigBSSReq
8402(
8403 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8404 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8405 void* pUserData
8406);
8407
8408/**
8409 @brief WDI_DelBSSReq will be called when the upper MAC is
8410 dissasociating from the BSS and wishes to notify HW.
8411 Upon the call of this API the WLAN DAL will pack and
8412 send a HAL Del BSS request message to the lower RIVA
8413 sub-system if DAL is in state STARTED.
8414
8415 In state BUSY this request will be queued. Request won't
8416 be allowed in any other state.
8417
8418 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8419
8420 @param wdiDelBSSParams: the del BSS parameters as specified by
8421 the Device Interface
8422
8423 wdiDelBSSRspCb: callback for passing back the response
8424 of the del bss operation received from the device
8425
8426 pUserData: user data will be passed back with the
8427 callback
8428
8429 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8430 @return Result of the function call
8431*/
8432WDI_Status
8433WDI_DelBSSReq
8434(
8435 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8436 WDI_DelBSSRspCb wdiDelBSSRspCb,
8437 void* pUserData
8438);
8439
8440/**
8441 @brief WDI_PostAssocReq will be called when the upper MAC has
8442 associated to a BSS and wishes to configure HW for
8443 associated state. Upon the call of this API the WLAN DAL
8444 will pack and send a HAL Post Assoc request message to
8445 the lower RIVA sub-system if DAL is in state STARTED.
8446
8447 In state BUSY this request will be queued. Request won't
8448 be allowed in any other state.
8449
8450 WDI_JoinReq must have been called.
8451
8452 @param wdiPostAssocReqParams: the assoc parameters as specified
8453 by the Device Interface
8454
8455 wdiPostAssocRspCb: callback for passing back the
8456 response of the post assoc operation received from the
8457 device
8458
8459 pUserData: user data will be passed back with the
8460 callback
8461
8462 @see WDI_JoinReq
8463 @return Result of the function call
8464*/
8465WDI_Status
8466WDI_PostAssocReq
8467(
8468 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8469 WDI_PostAssocRspCb wdiPostAssocRspCb,
8470 void* pUserData
8471);
8472
8473/**
8474 @brief WDI_DelSTAReq will be called when the upper MAC when an
8475 association with another STA has ended and the station
8476 must be deleted from HW. Upon the call of this API the
8477 WLAN DAL will pack and send a HAL Del STA request
8478 message to the lower RIVA sub-system if DAL is in state
8479 STARTED.
8480
8481 In state BUSY this request will be queued. Request won't
8482 be allowed in any other state.
8483
8484 WDI_PostAssocReq must have been called.
8485
8486 @param wdiDelSTAParams: the Del STA parameters as specified by
8487 the Device Interface
8488
8489 wdiDelSTARspCb: callback for passing back the response
8490 of the del STA operation received from the device
8491
8492 pUserData: user data will be passed back with the
8493 callback
8494
8495 @see WDI_PostAssocReq
8496 @return Result of the function call
8497*/
8498WDI_Status
8499WDI_DelSTAReq
8500(
8501 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8502 WDI_DelSTARspCb wdiDelSTARspCb,
8503 void* pUserData
8504);
8505
8506/*========================================================================
8507
8508 SECURITY APIs
8509
8510==========================================================================*/
8511
8512/**
8513 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8514 install a BSS encryption key on the HW. Upon the call of
8515 this API the WLAN DAL will pack and send a HAL Start
8516 request message to the lower RIVA sub-system if DAL is
8517 in state STARTED.
8518
8519 In state BUSY this request will be queued. Request won't
8520 be allowed in any other state.
8521
8522 WDI_PostAssocReq must have been called.
8523
8524 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8525 specified by the Device Interface
8526
8527 wdiSetBSSKeyRspCb: callback for passing back the
8528 response of the set BSS Key operation received from the
8529 device
8530
8531 pUserData: user data will be passed back with the
8532 callback
8533
8534 @see WDI_PostAssocReq
8535 @return Result of the function call
8536*/
8537WDI_Status
8538WDI_SetBSSKeyReq
8539(
8540 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8541 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8542 void* pUserData
8543);
8544
8545
8546/**
8547 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8548 uninstall a BSS key from HW. Upon the call of this API
8549 the WLAN DAL will pack and send a HAL Remove BSS Key
8550 request message to the lower RIVA sub-system if DAL is
8551 in state STARTED.
8552
8553 In state BUSY this request will be queued. Request won't
8554 be allowed in any other state.
8555
8556 WDI_SetBSSKeyReq must have been called.
8557
8558 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8559 specified by the Device Interface
8560
8561 wdiRemoveBSSKeyRspCb: callback for passing back the
8562 response of the remove BSS key operation received from
8563 the device
8564
8565 pUserData: user data will be passed back with the
8566 callback
8567
8568 @see WDI_SetBSSKeyReq
8569 @return Result of the function call
8570*/
8571WDI_Status
8572WDI_RemoveBSSKeyReq
8573(
8574 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8575 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8576 void* pUserData
8577);
8578
8579
8580/**
8581 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8582 ready to install a STA(ast) encryption key in HW. Upon
8583 the call of this API the WLAN DAL will pack and send a
8584 HAL Set STA Key request message to the lower RIVA
8585 sub-system if DAL is in state STARTED.
8586
8587 In state BUSY this request will be queued. Request won't
8588 be allowed in any other state.
8589
8590 WDI_PostAssocReq must have been called.
8591
8592 @param wdiSetSTAKeyParams: the set STA key parameters as
8593 specified by the Device Interface
8594
8595 wdiSetSTAKeyRspCb: callback for passing back the
8596 response of the set STA key operation received from the
8597 device
8598
8599 pUserData: user data will be passed back with the
8600 callback
8601
8602 @see WDI_PostAssocReq
8603 @return Result of the function call
8604*/
8605WDI_Status
8606WDI_SetSTAKeyReq
8607(
8608 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8609 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8610 void* pUserData
8611);
8612
8613
8614/**
8615 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8616 wants to unistall a previously set STA key in HW. Upon
8617 the call of this API the WLAN DAL will pack and send a
8618 HAL Remove STA Key request message to the lower RIVA
8619 sub-system if DAL is in state STARTED.
8620
8621 In state BUSY this request will be queued. Request won't
8622 be allowed in any other state.
8623
8624 WDI_SetSTAKeyReq must have been called.
8625
8626 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8627 specified by the Device Interface
8628
8629 wdiRemoveSTAKeyRspCb: callback for passing back the
8630 response of the remove STA key operation received from
8631 the device
8632
8633 pUserData: user data will be passed back with the
8634 callback
8635
8636 @see WDI_SetSTAKeyReq
8637 @return Result of the function call
8638*/
8639WDI_Status
8640WDI_RemoveSTAKeyReq
8641(
8642 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8643 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8644 void* pUserData
8645);
8646
8647/**
8648 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8649 wants to install a STA Bcast encryption key on the HW.
8650 Upon the call of this API the WLAN DAL will pack and
8651 send a HAL Start request message to the lower RIVA
8652 sub-system if DAL is in state STARTED.
8653
8654 In state BUSY this request will be queued. Request won't
8655 be allowed in any other state.
8656
8657 WDI_PostAssocReq must have been called.
8658
8659 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8660 specified by the Device Interface
8661
8662 wdiSetSTABcastKeyRspCb: callback for passing back the
8663 response of the set BSS Key operation received from the
8664 device
8665
8666 pUserData: user data will be passed back with the
8667 callback
8668
8669 @see WDI_PostAssocReq
8670 @return Result of the function call
8671*/
8672WDI_Status
8673WDI_SetSTABcastKeyReq
8674(
8675 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8676 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8677 void* pUserData
8678);
8679
8680
8681/**
8682 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8683 MAC to uninstall a STA Bcast key from HW. Upon the call
8684 of this API the WLAN DAL will pack and send a HAL Remove
8685 STA Bcast Key request message to the lower RIVA
8686 sub-system if DAL is in state STARTED.
8687
8688 In state BUSY this request will be queued. Request won't
8689 be allowed in any other state.
8690
8691 WDI_SetSTABcastKeyReq must have been called.
8692
8693 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8694 parameters as specified by the Device
8695 Interface
8696
8697 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8698 response of the remove STA Bcast key operation received
8699 from the device
8700
8701 pUserData: user data will be passed back with the
8702 callback
8703
8704 @see WDI_SetSTABcastKeyReq
8705 @return Result of the function call
8706*/
8707WDI_Status
8708WDI_RemoveSTABcastKeyReq
8709(
8710 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8711 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8712 void* pUserData
8713);
8714
schang86c22c42013-03-13 18:41:24 -07008715
8716/**
8717 @brief WDI_SetTxPowerReq will be called when the upper
8718 MAC wants to set Tx Power to HW.
8719 In state BUSY this request will be queued. Request won't
8720 be allowed in any other state.
8721
8722
8723 @param pwdiSetTxPowerParams: set TS Power parameters
8724 BSSID and target TX Power with dbm included
8725
8726 wdiReqStatusCb: callback for passing back the response
8727
8728 pUserData: user data will be passed back with the
8729 callback
8730
8731 @return Result of the function call
8732*/
8733WDI_Status
8734WDI_SetTxPowerReq
8735(
8736 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8737 WDA_SetTxPowerRspCb wdiReqStatusCb,
8738 void* pUserData
8739);
8740
Jeff Johnson295189b2012-06-20 16:38:30 -07008741/**
8742 @brief WDI_SetMaxTxPowerReq will be called when the upper
8743 MAC wants to set Max Tx Power to HW. Upon the
8744 call of this API the WLAN DAL will pack and send a HAL
8745 Remove STA Bcast Key request message to the lower RIVA
8746 sub-system if DAL is in state STARTED.
8747
8748 In state BUSY this request will be queued. Request won't
8749 be allowed in any other state.
8750
8751 WDI_SetSTABcastKeyReq must have been called.
8752
8753 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8754 parameters as specified by the Device
8755 Interface
8756
8757 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8758 response of the remove STA Bcast key operation received
8759 from the device
8760
8761 pUserData: user data will be passed back with the
8762 callback
8763
8764 @see WDI_SetMaxTxPowerReq
8765 @return Result of the function call
8766*/
8767WDI_Status
8768WDI_SetMaxTxPowerReq
8769(
8770 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8771 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8772 void* pUserData
8773);
8774
Arif Hussaina5ebce02013-08-09 15:09:58 -07008775/**
8776 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8777 MAC wants to set Max Tx Power to HW for specific band. Upon the
8778 call of this API the WLAN DAL will pack and send a HAL
8779 Set Max Tx Power Per Band request message to the lower RIVA
8780 sub-system if DAL is in state STARTED.
8781
8782 In state BUSY this request will be queued. Request won't
8783 be allowed in any other state.
8784
8785
8786 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8787
8788 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8789 when it has received a set max Tx Power Per Band response from
8790 the underlying device.
8791
8792 pUserData: user data will be passed back with the
8793 callback
8794
8795 @see WDI_SetMaxTxPowerPerBandReq
8796 @return Result of the function call
8797*/
8798WDI_Status
8799WDI_SetMaxTxPowerPerBandReq
8800(
8801 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8802 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8803 void* pUserData
8804);
8805
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008806#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008807/**
8808 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8809 Traffic Stream metrics.
8810 In state BUSY this request will be queued. Request won't
8811 be allowed in any other state.
8812
8813 @param wdiAddTsReqParams: the add TS parameters as specified by
8814 the Device Interface
8815
8816 wdiAddTsRspCb: callback for passing back the response of
8817 the add TS operation received from the device
8818
8819 pUserData: user data will be passed back with the
8820 callback
8821
8822 @see WDI_PostAssocReq
8823 @return Result of the function call
8824*/
8825WDI_Status
8826WDI_TSMStatsReq
8827(
8828 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8829 WDI_TsmRspCb wdiTsmStatsRspCb,
8830 void* pUserData
8831);
8832
8833
8834#endif
8835
8836/*========================================================================
8837
8838 QoS and BA APIs
8839
8840==========================================================================*/
8841
8842/**
8843 @brief WDI_AddTSReq will be called when the upper MAC to inform
8844 the device of a successful add TSpec negotiation. HW
8845 needs to receive the TSpec Info from the UMAC in order
8846 to configure properly the QoS data traffic. Upon the
8847 call of this API the WLAN DAL will pack and send a HAL
8848 Add TS request message to the lower RIVA sub-system if
8849 DAL is in state STARTED.
8850
8851 In state BUSY this request will be queued. Request won't
8852 be allowed in any other state.
8853
8854 WDI_PostAssocReq must have been called.
8855
8856 @param wdiAddTsReqParams: the add TS parameters as specified by
8857 the Device Interface
8858
8859 wdiAddTsRspCb: callback for passing back the response of
8860 the add TS operation received from the device
8861
8862 pUserData: user data will be passed back with the
8863 callback
8864
8865 @see WDI_PostAssocReq
8866 @return Result of the function call
8867*/
8868WDI_Status
8869WDI_AddTSReq
8870(
8871 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8872 WDI_AddTsRspCb wdiAddTsRspCb,
8873 void* pUserData
8874);
8875
8876
8877
8878/**
8879 @brief WDI_DelTSReq will be called when the upper MAC has ended
8880 admission on a specific AC. This is to inform HW that
8881 QoS traffic parameters must be rest. Upon the call of
8882 this API the WLAN DAL will pack and send a HAL Del TS
8883 request message to the lower RIVA sub-system if DAL is
8884 in state STARTED.
8885
8886 In state BUSY this request will be queued. Request won't
8887 be allowed in any other state.
8888
8889 WDI_AddTSReq must have been called.
8890
8891 @param wdiDelTsReqParams: the del TS parameters as specified by
8892 the Device Interface
8893
8894 wdiDelTsRspCb: callback for passing back the response of
8895 the del TS operation received from the device
8896
8897 pUserData: user data will be passed back with the
8898 callback
8899
8900 @see WDI_AddTSReq
8901 @return Result of the function call
8902*/
8903WDI_Status
8904WDI_DelTSReq
8905(
8906 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8907 WDI_DelTsRspCb wdiDelTsRspCb,
8908 void* pUserData
8909);
8910
8911
8912
8913/**
8914 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8915 wishes to update the EDCA parameters used by HW for QoS
8916 data traffic. Upon the call of this API the WLAN DAL
8917 will pack and send a HAL Update EDCA Params request
8918 message to the lower RIVA sub-system if DAL is in state
8919 STARTED.
8920
8921 In state BUSY this request will be queued. Request won't
8922 be allowed in any other state.
8923
8924 WDI_PostAssocReq must have been called.
8925
8926 @param wdiUpdateEDCAParams: the start parameters as specified
8927 by the Device Interface
8928
8929 wdiUpdateEDCAParamsRspCb: callback for passing back the
8930 response of the start operation received from the device
8931
8932 pUserData: user data will be passed back with the
8933 callback
8934
8935 @see WDI_PostAssocReq
8936 @return Result of the function call
8937*/
8938WDI_Status
8939WDI_UpdateEDCAParams
8940(
8941 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8942 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8943 void* pUserData
8944);
8945
8946
8947
8948/**
8949 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8950 successfully a BA session and needs to notify the HW for
8951 the appropriate settings to take place. Upon the call of
8952 this API the WLAN DAL will pack and send a HAL Add BA
8953 request message to the lower RIVA sub-system if DAL is
8954 in state STARTED.
8955
8956 In state BUSY this request will be queued. Request won't
8957 be allowed in any other state.
8958
8959 WDI_PostAssocReq must have been called.
8960
8961 @param wdiAddBAReqParams: the add BA parameters as specified by
8962 the Device Interface
8963
8964 wdiAddBARspCb: callback for passing back the response of
8965 the add BA operation received from the device
8966
8967 pUserData: user data will be passed back with the
8968 callback
8969
8970 @see WDI_PostAssocReq
8971 @return Result of the function call
8972*/
8973WDI_Status
8974WDI_AddBASessionReq
8975(
8976 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8977 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8978 void* pUserData
8979);
8980
8981
8982/**
8983 @brief WDI_DelBAReq will be called when the upper MAC wants to
8984 inform HW that it has deleted a previously created BA
8985 session. Upon the call of this API the WLAN DAL will
8986 pack and send a HAL Del BA request message to the lower
8987 RIVA sub-system if DAL is in state STARTED.
8988
8989 In state BUSY this request will be queued. Request won't
8990 be allowed in any other state.
8991
8992 WDI_AddBAReq must have been called.
8993
8994 @param wdiDelBAReqParams: the del BA parameters as specified by
8995 the Device Interface
8996
8997 wdiDelBARspCb: callback for passing back the response of
8998 the del BA operation received from the device
8999
9000 pUserData: user data will be passed back with the
9001 callback
9002
9003 @see WDI_AddBAReq
9004 @return Result of the function call
9005*/
9006WDI_Status
9007WDI_DelBAReq
9008(
9009 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
9010 WDI_DelBARspCb wdiDelBARspCb,
9011 void* pUserData
9012);
9013
9014/**
9015 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
9016 inform HW that there is a change in the beacon parameters
9017 Upon the call of this API the WLAN DAL will
9018 pack and send a UpdateBeacon Params message to the lower
9019 RIVA sub-system if DAL is in state STARTED.
9020
9021 In state BUSY this request will be queued. Request won't
9022 be allowed in any other state.
9023
9024 WDI_UpdateBeaconParamsReq must have been called.
9025
9026 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9027 the Device Interface
9028
9029 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9030 the Update Beacon Params operation received from the device
9031
9032 pUserData: user data will be passed back with the
9033 callback
9034
9035 @see WDI_AddBAReq
9036 @return Result of the function call
9037*/
9038
9039WDI_Status
9040WDI_UpdateBeaconParamsReq
9041(
9042 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9043 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9044 void* pUserData
9045);
9046
9047
9048/**
9049 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9050 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9051 Upon the call of this API the WLAN DAL will
9052 pack and send the beacon Template message to the lower
9053 RIVA sub-system if DAL is in state STARTED.
9054
9055 In state BUSY this request will be queued. Request won't
9056 be allowed in any other state.
9057
9058 WDI_SendBeaconParamsReq must have been called.
9059
9060 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9061 the Device Interface
9062
9063 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9064 the Send Beacon Params operation received from the device
9065
9066 pUserData: user data will be passed back with the
9067 callback
9068
9069 @see WDI_AddBAReq
9070 @return Result of the function call
9071*/
9072
9073WDI_Status
9074WDI_SendBeaconParamsReq
9075(
9076 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9077 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9078 void* pUserData
9079);
9080
9081
9082/**
9083 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9084 upper MAC wants to update the probe response template to
9085 be transmitted as Soft AP
9086 Upon the call of this API the WLAN DAL will
9087 pack and send the probe rsp template message to the
9088 lower RIVA sub-system if DAL is in state STARTED.
9089
9090 In state BUSY this request will be queued. Request won't
9091 be allowed in any other state.
9092
9093
9094 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9095 specified by the Device Interface
9096
9097 wdiSendBeaconParamsRspCb: callback for passing back the
9098 response of the Send Beacon Params operation received
9099 from the device
9100
9101 pUserData: user data will be passed back with the
9102 callback
9103
9104 @see WDI_AddBAReq
9105 @return Result of the function call
9106*/
9107
9108WDI_Status
9109WDI_UpdateProbeRspTemplateReq
9110(
9111 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9112 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9113 void* pUserData
9114);
9115
Jeff Johnson295189b2012-06-20 16:38:30 -07009116/**
9117 @brief WDI_SetP2PGONOAReq will be called when the
9118 upper MAC wants to send Notice of Absence
9119 Upon the call of this API the WLAN DAL will
9120 pack and send the probe rsp template message to the
9121 lower RIVA sub-system if DAL is in state STARTED.
9122
9123 In state BUSY this request will be queued. Request won't
9124 be allowed in any other state.
9125
9126
9127 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9128 specified by the Device Interface
9129
9130 wdiSendBeaconParamsRspCb: callback for passing back the
9131 response of the Send Beacon Params operation received
9132 from the device
9133
9134 pUserData: user data will be passed back with the
9135 callback
9136
9137 @see WDI_AddBAReq
9138 @return Result of the function call
9139*/
9140WDI_Status
9141WDI_SetP2PGONOAReq
9142(
9143 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9144 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9145 void* pUserData
9146);
Jeff Johnson295189b2012-06-20 16:38:30 -07009147
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309148/**
9149 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9150 upper MAC wants to send TDLS Link Establish Request Parameters
9151 Upon the call of this API the WLAN DAL will
9152 pack and send the TDLS Link Establish Request message to the
9153 lower RIVA sub-system if DAL is in state STARTED.
9154
9155 In state BUSY this request will be queued. Request won't
9156 be allowed in any other state.
9157
9158
9159 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9160 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9161
9162 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9163 response of the TDLS Link Establish request received
9164 from the device
9165
9166 pUserData: user data will be passed back with the
9167 callback
9168
9169 @see
9170 @return Result of the function call
9171*/
9172WDI_Status
9173WDI_SetTDLSLinkEstablishReq
9174(
9175 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9176 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9177 void* pUserData
9178);
Jeff Johnson295189b2012-06-20 16:38:30 -07009179
Atul Mittalc0f739f2014-07-31 13:47:47 +05309180WDI_Status
9181WDI_SetTDLSChanSwitchReq
9182(
9183 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9184 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9185 void* pUserData
9186);
Jeff Johnson295189b2012-06-20 16:38:30 -07009187/*========================================================================
9188
9189 Power Save APIs
9190
9191==========================================================================*/
9192
9193/**
9194 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9195 wants to set the power save related configurations of
9196 the WLAN Device. Upon the call of this API the WLAN DAL
9197 will pack and send a HAL Update CFG request message to
9198 the lower RIVA sub-system if DAL is in state STARTED.
9199
9200 In state BUSY this request will be queued. Request won't
9201 be allowed in any other state.
9202
9203 WDI_Start must have been called.
9204
9205 @param pwdiPowerSaveCfg: the power save cfg parameters as
9206 specified by the Device Interface
9207
9208 wdiSetPwrSaveCfgCb: callback for passing back the
9209 response of the set power save cfg operation received
9210 from the device
9211
9212 pUserData: user data will be passed back with the
9213 callback
9214
9215 @see WDI_Start
9216 @return Result of the function call
9217*/
9218WDI_Status
9219WDI_SetPwrSaveCfgReq
9220(
9221 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9222 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9223 void* pUserData
9224);
9225
9226/**
9227 @brief WDI_EnterImpsReq will be called when the upper MAC to
9228 request the device to get into IMPS power state. Upon
9229 the call of this API the WLAN DAL will send a HAL Enter
9230 IMPS request message to the lower RIVA sub-system if DAL
9231 is in state STARTED.
9232
9233 In state BUSY this request will be queued. Request won't
9234 be allowed in any other state.
9235
9236
9237 @param wdiEnterImpsRspCb: callback for passing back the
9238 response of the Enter IMPS operation received from the
9239 device
9240
9241 pUserData: user data will be passed back with the
9242 callback
9243
9244 @see WDI_Start
9245 @return Result of the function call
9246*/
9247WDI_Status
9248WDI_EnterImpsReq
9249(
Mihir Shetea4306052014-03-25 00:02:54 +05309250 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009251 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9252 void* pUserData
9253);
9254
9255/**
9256 @brief WDI_ExitImpsReq will be called when the upper MAC to
9257 request the device to get out of IMPS power state. Upon
9258 the call of this API the WLAN DAL will send a HAL Exit
9259 IMPS request message to the lower RIVA sub-system if DAL
9260 is in state STARTED.
9261
9262 In state BUSY this request will be queued. Request won't
9263 be allowed in any other state.
9264
9265
9266
9267 @param wdiExitImpsRspCb: callback for passing back the response
9268 of the Exit IMPS operation received from the device
9269
9270 pUserData: user data will be passed back with the
9271 callback
9272
9273 @see WDI_Start
9274 @return Result of the function call
9275*/
9276WDI_Status
9277WDI_ExitImpsReq
9278(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309279 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009280 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9281 void* pUserData
9282);
9283
9284/**
9285 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9286 request the device to get into BMPS power state. Upon
9287 the call of this API the WLAN DAL will pack and send a
9288 HAL Enter BMPS request message to the lower RIVA
9289 sub-system if DAL is in state STARTED.
9290
9291 In state BUSY this request will be queued. Request won't
9292 be allowed in any other state.
9293
9294 WDI_PostAssocReq must have been called.
9295
9296 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9297 specified by the Device Interface
9298
9299 wdiEnterBmpsRspCb: callback for passing back the
9300 response of the Enter BMPS operation received from the
9301 device
9302
9303 pUserData: user data will be passed back with the
9304 callback
9305
9306 @see WDI_PostAssocReq
9307 @return Result of the function call
9308*/
9309WDI_Status
9310WDI_EnterBmpsReq
9311(
9312 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9313 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9314 void* pUserData
9315);
9316
9317/**
9318 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9319 request the device to get out of BMPS power state. Upon
9320 the call of this API the WLAN DAL will pack and send a
9321 HAL Exit BMPS request message to the lower RIVA
9322 sub-system if DAL is in state STARTED.
9323
9324 In state BUSY this request will be queued. Request won't
9325 be allowed in any other state.
9326
9327 WDI_PostAssocReq must have been called.
9328
9329 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9330 specified by the Device Interface
9331
9332 wdiExitBmpsRspCb: callback for passing back the response
9333 of the Exit BMPS operation received from the device
9334
9335 pUserData: user data will be passed back with the
9336 callback
9337
9338 @see WDI_PostAssocReq
9339 @return Result of the function call
9340*/
9341WDI_Status
9342WDI_ExitBmpsReq
9343(
9344 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9345 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9346 void* pUserData
9347);
9348
9349/**
9350 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9351 request the device to get into UAPSD power state. Upon
9352 the call of this API the WLAN DAL will pack and send a
9353 HAL Enter UAPSD request message to the lower RIVA
9354 sub-system if DAL is in state STARTED.
9355
9356 In state BUSY this request will be queued. Request won't
9357 be allowed in any other state.
9358
9359 WDI_PostAssocReq must have been called.
9360 WDI_SetUapsdAcParamsReq must have been called.
9361
9362 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9363 specified by the Device Interface
9364
9365 wdiEnterUapsdRspCb: callback for passing back the
9366 response of the Enter UAPSD operation received from the
9367 device
9368
9369 pUserData: user data will be passed back with the
9370 callback
9371
9372 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9373 @return Result of the function call
9374*/
9375WDI_Status
9376WDI_EnterUapsdReq
9377(
9378 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9379 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9380 void* pUserData
9381);
9382
9383/**
9384 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9385 request the device to get out of UAPSD power state. Upon
9386 the call of this API the WLAN DAL will send a HAL Exit
9387 UAPSD request message to the lower RIVA sub-system if
9388 DAL is in state STARTED.
9389
9390 In state BUSY this request will be queued. Request won't
9391 be allowed in any other state.
9392
9393 WDI_PostAssocReq must have been called.
9394
9395 @param wdiExitUapsdRspCb: callback for passing back the
9396 response of the Exit UAPSD operation received from the
9397 device
9398
9399 pUserData: user data will be passed back with the
9400 callback
9401
9402 @see WDI_PostAssocReq
9403 @return Result of the function call
9404*/
9405WDI_Status
9406WDI_ExitUapsdReq
9407(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009408 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009409 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9410 void* pUserData
9411);
9412
9413/**
9414 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9415 MAC wants to set the UAPSD related configurations
9416 of an associated STA (while acting as an AP) to the WLAN
9417 Device. Upon the call of this API the WLAN DAL will pack
9418 and send a HAL Update UAPSD params request message to
9419 the lower RIVA sub-system if DAL is in state STARTED.
9420
9421 In state BUSY this request will be queued. Request won't
9422 be allowed in any other state.
9423
9424 WDI_ConfigBSSReq must have been called.
9425
9426 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9427 as specified by the Device Interface
9428
9429 wdiUpdateUapsdParamsCb: callback for passing back the
9430 response of the update UAPSD params operation received
9431 from the device
9432
9433 pUserData: user data will be passed back with the
9434 callback
9435
9436 @see WDI_ConfigBSSReq
9437 @return Result of the function call
9438*/
9439WDI_Status
9440WDI_UpdateUapsdParamsReq
9441(
9442 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9443 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9444 void* pUserData
9445);
9446
9447/**
9448 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9449 MAC wants to set the UAPSD related configurations before
9450 requesting for enter UAPSD power state to the WLAN
9451 Device. Upon the call of this API the WLAN DAL will pack
9452 and send a HAL Set UAPSD params request message to
9453 the lower RIVA sub-system if DAL is in state STARTED.
9454
9455 In state BUSY this request will be queued. Request won't
9456 be allowed in any other state.
9457
9458 WDI_PostAssocReq must have been called.
9459
9460 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9461 the Device Interface
9462
9463 wdiSetUapsdAcParamsCb: callback for passing back the
9464 response of the set UAPSD params operation received from
9465 the device
9466
9467 pUserData: user data will be passed back with the
9468 callback
9469
9470 @see WDI_PostAssocReq
9471 @return Result of the function call
9472*/
9473WDI_Status
9474WDI_SetUapsdAcParamsReq
9475(
9476 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9477 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9478 void* pUserData
9479);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05309480
9481
9482/**
9483 @brief WDI_FatalEventLogsReq will be called when the upper
9484 MAC wants to send the fatal event req. Upon the call of
9485 this API the WLAN DAL will pack and send a HAL
9486 Fatal event request message to the lower RIVA sub-system.
9487
9488 In state BUSY this request will be queued. Request won't
9489 be allowed in any other state.
9490
9491
9492 @param pwdiFatalEventLogsReqInfo: the Fatal event logs params
9493 as specified by the Device Interface
9494
9495 wdiFatalEventLogsRspCb: callback for passing back the
9496 response of the fatal event operation received
9497 from the device
9498
9499 pUserData: user data will be passed back with the
9500 callback
9501
9502 @return Result of the function call
9503*/
9504
9505WDI_Status
9506WDI_FatalEventLogsReq
9507(
9508 WDI_FatalEventLogsReqInfoType *pwdiFatalEventLogsReqInfo,
9509 WDI_FatalEventLogsRspCb wdiFatalEventLogsRspCb,
9510 void* pUserData
9511);
9512
Siddharth Bhal64246172015-02-27 01:04:37 +05309513/**
9514 @brief WDI_GetFrameLogReq will be called when the upper
9515 MAC wants to initialize frame logging. Upon the call of
9516 this API the WLAN DAL will pack and send a HAL
9517 Frame logging init request message to
9518 the lower RIVA sub-system.
9519
9520 In state BUSY this request will be queued. Request won't
9521 be allowed in any other state.
9522
9523
9524 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9525 as specified by the Device Interface
9526
9527 wdiGetFrameLogReqCb: callback for passing back the
9528 response of the frame logging init operation received
9529 from the device
9530
9531 pUserData: user data will be passed back with the
9532 callback
9533
9534 @return Result of the function call
9535*/
9536WDI_Status
9537WDI_GetFrameLogReq
9538(
9539 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9540 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9541 void* pUserData
9542);
Jeff Johnson295189b2012-06-20 16:38:30 -07009543
9544/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309545 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309546 MAC wants to initialize frame logging. Upon the call of
9547 this API the WLAN DAL will pack and send a HAL
9548 Frame logging init request message to
9549 the lower RIVA sub-system.
9550
9551 In state BUSY this request will be queued. Request won't
9552 be allowed in any other state.
9553
9554
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309555 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309556 as specified by the Device Interface
9557
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309558 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309559 response of the frame logging init operation received
9560 from the device
9561
9562 pUserData: user data will be passed back with the
9563 callback
9564
9565 @return Result of the function call
9566*/
9567WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309568WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309569(
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309570 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
9571 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309572 void* pUserData
9573);
9574
9575/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009576 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9577 MAC wants to set/reset the RXP filters for received pkts
9578 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9579 and send a HAL configure RXP filter request message to
9580 the lower RIVA sub-system.
9581
9582 In state BUSY this request will be queued. Request won't
9583 be allowed in any other state.
9584
9585
9586 @param pwdiConfigureRxpFilterReqParams: the RXP
9587 filter as specified by the Device
9588 Interface
9589
9590 wdiConfigureRxpFilterCb: callback for passing back the
9591 response of the configure RXP filter operation received
9592 from the device
9593
9594 pUserData: user data will be passed back with the
9595 callback
9596
9597 @return Result of the function call
9598*/
9599WDI_Status
9600WDI_ConfigureRxpFilterReq
9601(
9602 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9603 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9604 void* pUserData
9605);
9606
9607/**
9608 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9609 wants to set the beacon filters while in power save.
9610 Upon the call of this API the WLAN DAL will pack and
9611 send a Beacon filter request message to the
9612 lower RIVA sub-system.
9613
9614 In state BUSY this request will be queued. Request won't
9615 be allowed in any other state.
9616
9617
9618 @param pwdiBeaconFilterReqParams: the beacon
9619 filter as specified by the Device
9620 Interface
9621
9622 wdiBeaconFilterCb: callback for passing back the
9623 response of the set beacon filter operation received
9624 from the device
9625
9626 pUserData: user data will be passed back with the
9627 callback
9628
9629 @return Result of the function call
9630*/
9631WDI_Status
9632WDI_SetBeaconFilterReq
9633(
9634 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9635 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9636 void* pUserData
9637);
9638
9639/**
9640 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9641 wants to remove the beacon filter for perticular IE
9642 while in power save. Upon the call of this API the WLAN
9643 DAL will pack and send a remove Beacon filter request
9644 message to the lower RIVA sub-system.
9645
9646 In state BUSY this request will be queued. Request won't
9647 be allowed in any other state.
9648
9649
9650 @param pwdiBeaconFilterReqParams: the beacon
9651 filter as specified by the Device
9652 Interface
9653
9654 wdiBeaconFilterCb: callback for passing back the
9655 response of the remove beacon filter operation received
9656 from the device
9657
9658 pUserData: user data will be passed back with the
9659 callback
9660
9661 @return Result of the function call
9662*/
9663WDI_Status
9664WDI_RemBeaconFilterReq
9665(
9666 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9667 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9668 void* pUserData
9669);
9670
9671/**
9672 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9673 MAC wants to set the RSSI thresholds related
9674 configurations while in power save. Upon the call of
9675 this API the WLAN DAL will pack and send a HAL Set RSSI
9676 thresholds request message to the lower RIVA
9677 sub-system if DAL is in state STARTED.
9678
9679 In state BUSY this request will be queued. Request won't
9680 be allowed in any other state.
9681
9682 WDI_PostAssocReq must have been called.
9683
9684 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9685 the Device Interface
9686
9687 wdiSetUapsdAcParamsCb: callback for passing back the
9688 response of the set UAPSD params operation received from
9689 the device
9690
9691 pUserData: user data will be passed back with the
9692 callback
9693
9694 @see WDI_PostAssocReq
9695 @return Result of the function call
9696*/
9697WDI_Status
9698WDI_SetRSSIThresholdsReq
9699(
9700 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9701 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9702 void* pUserData
9703);
9704
9705/**
9706 @brief WDI_HostOffloadReq will be called when the upper MAC
9707 wants to set the filter to minimize unnecessary host
9708 wakeup due to broadcast traffic while in power save.
9709 Upon the call of this API the WLAN DAL will pack and
9710 send a HAL host offload request message to the
9711 lower RIVA sub-system if DAL is in state STARTED.
9712
9713 In state BUSY this request will be queued. Request won't
9714 be allowed in any other state.
9715
9716 WDI_PostAssocReq must have been called.
9717
9718 @param pwdiHostOffloadParams: the host offload as specified
9719 by the Device Interface
9720
9721 wdiHostOffloadCb: callback for passing back the response
9722 of the host offload operation received from the
9723 device
9724
9725 pUserData: user data will be passed back with the
9726 callback
9727
9728 @see WDI_PostAssocReq
9729 @return Result of the function call
9730*/
9731WDI_Status
9732WDI_HostOffloadReq
9733(
9734 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9735 WDI_HostOffloadCb wdiHostOffloadCb,
9736 void* pUserData
9737);
9738
9739/**
9740 @brief WDI_KeepAliveReq will be called when the upper MAC
9741 wants to set the filter to send NULL or unsolicited ARP responses
9742 and minimize unnecessary host wakeups due to while in power save.
9743 Upon the call of this API the WLAN DAL will pack and
9744 send a HAL Keep Alive request message to the
9745 lower RIVA sub-system if DAL is in state STARTED.
9746
9747 In state BUSY this request will be queued. Request won't
9748 be allowed in any other state.
9749
9750 WDI_PostAssocReq must have been called.
9751
9752 @param pwdiKeepAliveParams: the Keep Alive as specified
9753 by the Device Interface
9754
9755 wdiKeepAliveCb: callback for passing back the response
9756 of the Keep Alive operation received from the
9757 device
9758
9759 pUserData: user data will be passed back with the
9760 callback
9761
9762 @see WDI_PostAssocReq
9763 @return Result of the function call
9764*/
9765WDI_Status
9766WDI_KeepAliveReq
9767(
9768 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9769 WDI_KeepAliveCb wdiKeepAliveCb,
9770 void* pUserData
9771);
9772
9773/**
9774 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9775 wants to set the Wowl Bcast ptrn to minimize unnecessary
9776 host wakeup due to broadcast traffic while in power
9777 save. Upon the call of this API the WLAN DAL will pack
9778 and send a HAL Wowl Bcast ptrn request message to the
9779 lower RIVA sub-system if DAL is in state STARTED.
9780
9781 In state BUSY this request will be queued. Request won't
9782 be allowed in any other state.
9783
9784 WDI_PostAssocReq must have been called.
9785
9786 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9787 specified by the Device Interface
9788
9789 wdiWowlAddBcPtrnCb: callback for passing back the
9790 response of the add Wowl bcast ptrn operation received
9791 from the device
9792
9793 pUserData: user data will be passed back with the
9794 callback
9795
9796 @see WDI_PostAssocReq
9797 @return Result of the function call
9798*/
9799WDI_Status
9800WDI_WowlAddBcPtrnReq
9801(
9802 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9803 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9804 void* pUserData
9805);
9806
9807/**
9808 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9809 wants to clear the Wowl Bcast ptrn. Upon the call of
9810 this API the WLAN DAL will pack and send a HAL delete
9811 Wowl Bcast ptrn request message to the lower RIVA
9812 sub-system if DAL is in state STARTED.
9813
9814 In state BUSY this request will be queued. Request won't
9815 be allowed in any other state.
9816
9817 WDI_WowlAddBcPtrnReq must have been called.
9818
9819 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9820 specified by the Device Interface
9821
9822 wdiWowlDelBcPtrnCb: callback for passing back the
9823 response of the del Wowl bcast ptrn operation received
9824 from the device
9825
9826 pUserData: user data will be passed back with the
9827 callback
9828
9829 @see WDI_WowlAddBcPtrnReq
9830 @return Result of the function call
9831*/
9832WDI_Status
9833WDI_WowlDelBcPtrnReq
9834(
9835 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9836 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9837 void* pUserData
9838);
9839
9840/**
9841 @brief WDI_WowlEnterReq will be called when the upper MAC
9842 wants to enter the Wowl state to minimize unnecessary
9843 host wakeup while in power save. Upon the call of this
9844 API the WLAN DAL will pack and send a HAL Wowl enter
9845 request message to the lower RIVA sub-system if DAL is
9846 in state STARTED.
9847
9848 In state BUSY this request will be queued. Request won't
9849 be allowed in any other state.
9850
9851 WDI_PostAssocReq must have been called.
9852
9853 @param pwdiWowlEnterReqParams: the Wowl enter info as
9854 specified by the Device Interface
9855
9856 wdiWowlEnterReqCb: callback for passing back the
9857 response of the enter Wowl operation received from the
9858 device
9859
9860 pUserData: user data will be passed back with the
9861 callback
9862
9863 @see WDI_PostAssocReq
9864 @return Result of the function call
9865*/
9866WDI_Status
9867WDI_WowlEnterReq
9868(
9869 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9870 WDI_WowlEnterReqCb wdiWowlEnterCb,
9871 void* pUserData
9872);
9873
9874/**
9875 @brief WDI_WowlExitReq will be called when the upper MAC
9876 wants to exit the Wowl state. Upon the call of this API
9877 the WLAN DAL will pack and send a HAL Wowl exit request
9878 message to the lower RIVA sub-system if DAL is in state
9879 STARTED.
9880
9881 In state BUSY this request will be queued. Request won't
9882 be allowed in any other state.
9883
9884 WDI_WowlEnterReq must have been called.
9885
9886 @param pwdiWowlExitReqParams: the Wowl exit info as
9887 specified by the Device Interface
9888
9889 wdiWowlExitReqCb: callback for passing back the response
9890 of the exit Wowl operation received from the device
9891
9892 pUserData: user data will be passed back with the
9893 callback
9894
9895 @see WDI_WowlEnterReq
9896 @return Result of the function call
9897*/
9898WDI_Status
9899WDI_WowlExitReq
9900(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009901 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009902 WDI_WowlExitReqCb wdiWowlExitCb,
9903 void* pUserData
9904);
9905
9906/**
9907 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9908 the upper MAC wants to dynamically adjusts the listen
9909 interval based on the WLAN/MSM activity. Upon the call
9910 of this API the WLAN DAL will pack and send a HAL
9911 configure Apps Cpu Wakeup State request message to the
9912 lower RIVA sub-system.
9913
9914 In state BUSY this request will be queued. Request won't
9915 be allowed in any other state.
9916
9917
9918 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9919 Apps Cpu Wakeup State as specified by the
9920 Device Interface
9921
9922 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9923 back the response of the configure Apps Cpu Wakeup State
9924 operation received from the device
9925
9926 pUserData: user data will be passed back with the
9927 callback
9928
9929 @return Result of the function call
9930*/
9931WDI_Status
9932WDI_ConfigureAppsCpuWakeupStateReq
9933(
9934 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9935 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9936 void* pUserData
9937);
9938/**
9939 @brief WDI_FlushAcReq will be called when the upper MAC wants
9940 to to perform a flush operation on a given AC. Upon the
9941 call of this API the WLAN DAL will pack and send a HAL
9942 Flush AC request message to the lower RIVA sub-system if
9943 DAL is in state STARTED.
9944
9945 In state BUSY this request will be queued. Request won't
9946 be allowed in any other state.
9947
9948
9949 @param pwdiFlushAcReqParams: the Flush AC parameters as
9950 specified by the Device Interface
9951
9952 wdiFlushAcRspCb: callback for passing back the response
9953 of the Flush AC operation received from the device
9954
9955 pUserData: user data will be passed back with the
9956 callback
9957
9958 @return Result of the function call
9959*/
9960WDI_Status
9961WDI_FlushAcReq
9962(
9963 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9964 WDI_FlushAcRspCb wdiFlushAcRspCb,
9965 void* pUserData
9966);
9967
9968/**
9969 @brief WDI_BtAmpEventReq will be called when the upper MAC
9970 wants to notify the lower mac on a BT AMP event. This is
9971 to inform BTC-SLM that some BT AMP event occurred. Upon
9972 the call of this API the WLAN DAL will pack and send a
9973 HAL BT AMP event request message to the lower RIVA
9974 sub-system if DAL is in state STARTED.
9975
9976 In state BUSY this request will be queued. Request won't
9977 be allowed in any other state.
9978
9979
9980 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9981 specified by the Device Interface
9982
9983 wdiBtAmpEventRspCb: callback for passing back the
9984 response of the BT AMP event operation received from the
9985 device
9986
9987 pUserData: user data will be passed back with the
9988 callback
9989
9990 @return Result of the function call
9991*/
9992WDI_Status
9993WDI_BtAmpEventReq
9994(
9995 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9996 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9997 void* pUserData
9998);
9999
Jeff Johnsone7245742012-09-05 17:12:55 -070010000#ifdef FEATURE_OEM_DATA_SUPPORT
10001/**
10002 @brief WDI_Start oem data Req will be called when the upper MAC
10003 wants to notify the lower mac on a oem data Req event.Upon
10004 the call of this API the WLAN DAL will pack and send a
10005 HAL OEM Data Req event request message to the lower RIVA
10006 sub-system if DAL is in state STARTED.
10007
10008 In state BUSY this request will be queued. Request won't
10009 be allowed in any other state.
10010
10011
10012 @param pWdiOemDataReqParams: the oem data req parameters as
10013 specified by the Device Interface
10014
10015 wdiStartOemDataRspCb: callback for passing back the
10016 response of the Oem Data Req received from the
10017 device
10018
10019 pUserData: user data will be passed back with the
10020 callback
10021
10022 @return Result of the function call
10023*/
10024WDI_Status
10025WDI_StartOemDataReq
10026(
10027 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
10028 WDI_oemDataRspCb wdiOemDataRspCb,
10029 void* pUserData
10030);
10031#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010032
10033/*========================================================================
10034
10035 CONTROL APIs
10036
10037==========================================================================*/
10038/**
10039 @brief WDI_SwitchChReq will be called when the upper MAC wants
10040 the WLAN HW to change the current channel of operation.
10041 Upon the call of this API the WLAN DAL will pack and
10042 send a HAL Start request message to the lower RIVA
10043 sub-system if DAL is in state STARTED.
10044
10045 In state BUSY this request will be queued. Request won't
10046 be allowed in any other state.
10047
10048 WDI_Start must have been called.
10049
10050 @param wdiSwitchChReqParams: the switch ch parameters as
10051 specified by the Device Interface
10052
10053 wdiSwitchChRspCb: callback for passing back the response
10054 of the switch ch operation received from the device
10055
10056 pUserData: user data will be passed back with the
10057 callback
10058
10059 @see WDI_Start
10060 @return Result of the function call
10061*/
10062WDI_Status
10063WDI_SwitchChReq
10064(
10065 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10066 WDI_SwitchChRspCb wdiSwitchChRspCb,
10067 void* pUserData
10068);
10069
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010070/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010071 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10072 it also send type source for the channel change.
10073 WDI_Start must have been called.
10074
10075 @param wdiSwitchChReqParams: the switch ch parameters as
10076 specified by the Device Interface
10077
10078 wdiSwitchChRspCb: callback for passing back the response
10079 of the switch ch operation received from the device
10080
10081 pUserData: user data will be passed back with the
10082 callback
10083
10084 @see WDI_Start
10085 @return Result of the function call
10086*/
10087
10088WDI_Status
10089WDI_SwitchChReq_V1
10090(
10091 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10092 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10093 void* pUserData
10094);
10095
10096/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010097 @brief WDI_UpdateChannelReq will be called when the upper MAC
10098 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010099 In state BUSY this request will be queued. Request won't
10100 be allowed in any other state.
10101
10102 WDI_UpdateChannelReq must have been called.
10103
10104 @param wdiUpdateChannelReqParams: the updated channel parameters
10105 as specified by the Device Interface
10106
10107 wdiUpdateChannelRspCb: callback for passing back the
10108 response of the update channel operation received from
10109 the device
10110
10111 pUserData: user data will be passed back with the
10112 callback
10113
10114 @return Result of the function call
10115*/
10116WDI_Status
10117WDI_UpdateChannelReq
10118(
10119 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10120 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10121 void* pUserData
10122);
Jeff Johnson295189b2012-06-20 16:38:30 -070010123
10124/**
10125 @brief WDI_ConfigSTAReq will be called when the upper MAC
10126 wishes to add or update a STA in HW. Upon the call of
10127 this API the WLAN DAL will pack and send a HAL Start
10128 message request message to the lower RIVA sub-system if
10129 DAL is in state STARTED.
10130
10131 In state BUSY this request will be queued. Request won't
10132 be allowed in any other state.
10133
10134 WDI_Start must have been called.
10135
10136 @param wdiConfigSTAReqParams: the config STA parameters as
10137 specified by the Device Interface
10138
10139 wdiConfigSTARspCb: callback for passing back the
10140 response of the config STA operation received from the
10141 device
10142
10143 pUserData: user data will be passed back with the
10144 callback
10145
10146 @see WDI_Start
10147 @return Result of the function call
10148*/
10149WDI_Status
10150WDI_ConfigSTAReq
10151(
10152 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10153 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10154 void* pUserData
10155);
10156
10157/**
10158 @brief WDI_SetLinkStateReq will be called when the upper MAC
10159 wants to change the state of an ongoing link. Upon the
10160 call of this API the WLAN DAL will pack and send a HAL
10161 Start message request message to the lower RIVA
10162 sub-system if DAL is in state STARTED.
10163
10164 In state BUSY this request will be queued. Request won't
10165 be allowed in any other state.
10166
10167 WDI_JoinReq must have been called.
10168
10169 @param wdiSetLinkStateReqParams: the set link state parameters
10170 as specified by the Device Interface
10171
10172 wdiSetLinkStateRspCb: callback for passing back the
10173 response of the set link state operation received from
10174 the device
10175
10176 pUserData: user data will be passed back with the
10177 callback
10178
10179 @see WDI_JoinStartReq
10180 @return Result of the function call
10181*/
10182WDI_Status
10183WDI_SetLinkStateReq
10184(
10185 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10186 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10187 void* pUserData
10188);
10189
10190
10191/**
10192 @brief WDI_GetStatsReq will be called when the upper MAC wants
10193 to get statistics (MIB counters) from the device. Upon
10194 the call of this API the WLAN DAL will pack and send a
10195 HAL Start request message to the lower RIVA sub-system
10196 if DAL is in state STARTED.
10197
10198 In state BUSY this request will be queued. Request won't
10199 be allowed in any other state.
10200
10201 WDI_Start must have been called.
10202
10203 @param wdiGetStatsReqParams: the stats parameters to get as
10204 specified by the Device Interface
10205
10206 wdiGetStatsRspCb: callback for passing back the response
10207 of the get stats operation received from the device
10208
10209 pUserData: user data will be passed back with the
10210 callback
10211
10212 @see WDI_Start
10213 @return Result of the function call
10214*/
10215WDI_Status
10216WDI_GetStatsReq
10217(
10218 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10219 WDI_GetStatsRspCb wdiGetStatsRspCb,
10220 void* pUserData
10221);
10222
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010223#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010224/**
10225 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10226 to get roam rssi from the device. Upon
10227 the call of this API the WLAN DAL will pack and send a
10228 HAL Start request message to the lower RIVA sub-system
10229 if DAL is in state STARTED.
10230
10231 In state BUSY this request will be queued. Request won't
10232 be allowed in any other state.
10233
10234 WDI_Start must have been called.
10235
10236 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10237 specified by the Device Interface
10238
10239 wdiGetRoamRssispCb: callback for passing back the response
10240 of the get stats operation received from the device
10241
10242 pUserData: user data will be passed back with the
10243 callback
10244
10245 @see WDI_Start
10246 @return Result of the function call
10247*/
10248WDI_Status
10249WDI_GetRoamRssiReq
10250(
10251 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10252 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10253 void* pUserData
10254);
10255#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010256
10257/**
10258 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10259 it wishes to change the configuration of the WLAN
10260 Device. Upon the call of this API the WLAN DAL will pack
10261 and send a HAL Update CFG request message to the lower
10262 RIVA sub-system if DAL is in state STARTED.
10263
10264 In state BUSY this request will be queued. Request won't
10265 be allowed in any other state.
10266
10267 WDI_Start must have been called.
10268
10269 @param wdiUpdateCfgReqParams: the update cfg parameters as
10270 specified by the Device Interface
10271
10272 wdiUpdateCfgsRspCb: callback for passing back the
10273 response of the update cfg operation received from the
10274 device
10275
10276 pUserData: user data will be passed back with the
10277 callback
10278
10279 @see WDI_Start
10280 @return Result of the function call
10281*/
10282WDI_Status
10283WDI_UpdateCfgReq
10284(
10285 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10286 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10287 void* pUserData
10288);
10289
10290/**
10291 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10292 to the NV memory.
10293
10294 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10295 the Device Interface
10296
10297 wdiNvDownloadRspCb: callback for passing back the response of
10298 the NV Download operation received from the device
10299
10300 pUserData: user data will be passed back with the
10301 callback
10302
10303 @see WDI_PostAssocReq
10304 @return Result of the function call
10305*/
10306WDI_Status
10307WDI_NvDownloadReq
10308(
10309 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10310 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10311 void* pUserData
10312);
10313/**
10314 @brief WDI_AddBAReq will be called when the upper MAC has setup
10315 successfully a BA session and needs to notify the HW for
10316 the appropriate settings to take place. Upon the call of
10317 this API the WLAN DAL will pack and send a HAL Add BA
10318 request message to the lower RIVA sub-system if DAL is
10319 in state STARTED.
10320
10321 In state BUSY this request will be queued. Request won't
10322 be allowed in any other state.
10323
10324 WDI_PostAssocReq must have been called.
10325
10326 @param wdiAddBAReqParams: the add BA parameters as specified by
10327 the Device Interface
10328
10329 wdiAddBARspCb: callback for passing back the response of
10330 the add BA operation received from the device
10331
10332 pUserData: user data will be passed back with the
10333 callback
10334
10335 @see WDI_PostAssocReq
10336 @return Result of the function call
10337*/
10338WDI_Status
10339WDI_AddBAReq
10340(
10341 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10342 WDI_AddBARspCb wdiAddBARspCb,
10343 void* pUserData
10344);
10345
10346/**
10347 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10348 successfully a BA session and needs to notify the HW for
10349 the appropriate settings to take place. Upon the call of
10350 this API the WLAN DAL will pack and send a HAL Add BA
10351 request message to the lower RIVA sub-system if DAL is
10352 in state STARTED.
10353
10354 In state BUSY this request will be queued. Request won't
10355 be allowed in any other state.
10356
10357 WDI_PostAssocReq must have been called.
10358
10359 @param wdiAddBAReqParams: the add BA parameters as specified by
10360 the Device Interface
10361
10362 wdiAddBARspCb: callback for passing back the response of
10363 the add BA operation received from the device
10364
10365 pUserData: user data will be passed back with the
10366 callback
10367
10368 @see WDI_PostAssocReq
10369 @return Result of the function call
10370*/
10371WDI_Status
10372WDI_TriggerBAReq
10373(
10374 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10375 WDI_TriggerBARspCb wdiTriggerBARspCb,
10376 void* pUserData
10377);
10378
10379
10380/**
10381 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10382 frame xtl is enabled for a particular STA.
10383
10384 WDI_PostAssocReq must have been called.
10385
10386 @param uSTAIdx: STA index
10387
10388 @see WDI_PostAssocReq
10389 @return Result of the function call
10390*/
10391wpt_boolean WDI_IsHwFrameTxTranslationCapable
10392(
10393 wpt_uint8 uSTAIdx
10394);
10395
Katya Nigam6201c3e2014-05-27 17:51:42 +053010396
10397/**
10398 @brief WDI_IsSelfSTA - check if staid is self sta index
10399
10400 @param pWDICtx: pointer to the WLAN DAL context
10401 ucSTAIdx: station index
10402
10403 @return Result of the function call
10404*/
10405
10406wpt_boolean
10407WDI_IsSelfSTA
10408(
10409 void* pWDICtx,
10410 wpt_uint8 ucSTAIdx
10411);
10412
10413
Jeff Johnson295189b2012-06-20 16:38:30 -070010414#ifdef WLAN_FEATURE_VOWIFI_11R
10415/**
10416 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10417 the device of a successful add TSpec negotiation for 11r. HW
10418 needs to receive the TSpec Info from the UMAC in order
10419 to configure properly the QoS data traffic. Upon the
10420 call of this API the WLAN DAL will pack and send a HAL
10421 Aggregated Add TS request message to the lower RIVA sub-system if
10422 DAL is in state STARTED.
10423
10424 In state BUSY this request will be queued. Request won't
10425 be allowed in any other state.
10426
10427 WDI_PostAssocReq must have been called.
10428
10429 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10430 the Device Interface
10431
10432 wdiAggrAddTsRspCb: callback for passing back the response of
10433 the add TS operation received from the device
10434
10435 pUserData: user data will be passed back with the
10436 callback
10437
10438 @see WDI_PostAssocReq
10439 @return Result of the function call
10440*/
10441WDI_Status
10442WDI_AggrAddTSReq
10443(
10444 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10445 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10446 void* pUserData
10447);
10448#endif /* WLAN_FEATURE_VOWIFI_11R */
10449/**
10450 @brief WDI_STATableInit - Initializes the STA tables.
10451 Allocates the necesary memory.
10452
10453
10454 @param pWDICtx: pointer to the WLAN DAL context
10455
10456 @see
10457 @return Result of the function call
10458*/
10459
10460WDI_Status WDI_StubRunTest
10461(
10462 wpt_uint8 ucTestNo
10463);
10464
Jeff Johnson295189b2012-06-20 16:38:30 -070010465/**
10466 @brief WDI_FTMCommandReq -
10467 Route FTMRequest Command to HAL
10468
10469 @param ftmCommandReq: FTM request command body
10470 @param ftmCommandRspCb: Response CB
10471 @param pUserData: User data will be included with CB
10472
10473 @return Result of the function call
10474*/
10475WDI_Status WDI_FTMCommandReq
10476(
10477 WDI_FTMCommandReqType *ftmCommandReq,
10478 WDI_FTMCommandRspCb ftmCommandRspCb,
10479 void *pUserData
10480);
Jeff Johnson295189b2012-06-20 16:38:30 -070010481
10482/**
10483 @brief WDI_HostResumeReq will be called
10484
10485 In state BUSY this request will be queued. Request won't
10486 be allowed in any other state.
10487
10488
10489 @param pwdiResumeReqParams: as specified by
10490 the Device Interface
10491
10492 wdiResumeReqRspCb: callback for passing back the response of
10493 the Resume Req received from the device
10494
10495 pUserData: user data will be passed back with the
10496 callback
10497
10498 @see WDI_PostAssocReq
10499 @return Result of the function call
10500*/
10501WDI_Status
10502WDI_HostResumeReq
10503(
10504 WDI_ResumeParamsType* pwdiResumeReqParams,
10505 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10506 void* pUserData
10507);
10508
10509/**
10510 @brief WDI_GetAvailableResCount - Function to get the available resource
10511 for data and managemnt frames.
10512
10513 @param pContext: pointer to the WDI context
10514 @param wdiResPool: type of resource pool requesting
10515 @see
10516 @return Result of the function call
10517*/
10518
10519wpt_uint32 WDI_GetAvailableResCount
10520(
10521 void *pContext,
10522 WDI_ResPoolType wdiResPool
10523);
10524
10525/**
10526 @brief WDI_SetAddSTASelfReq will be called when the
10527 UMAC wanted to add self STA while opening any new session
10528 In state BUSY this request will be queued. Request won't
10529 be allowed in any other state.
10530
10531
10532 @param pwdiAddSTASelfParams: the add self sta parameters as
10533 specified by the Device Interface
10534
10535 pUserData: user data will be passed back with the
10536 callback
10537
10538 @see
10539 @return Result of the function call
10540*/
10541WDI_Status
10542WDI_AddSTASelfReq
10543(
10544 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10545 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10546 void* pUserData
10547);
10548
10549
10550/**
10551 @brief WDI_DelSTASelfReq will be called .
10552
10553 @param WDI_DelSTASelfReqParamsType
10554
10555 WDI_DelSTASelfRspCb: callback for passing back the
10556 response of the del sta self operation received from the
10557 device
10558
10559 pUserData: user data will be passed back with the
10560 callback
10561
10562 @see WDI_PostAssocReq
10563 @return Result of the function call
10564*/
10565WDI_Status
10566WDI_DelSTASelfReq
10567(
10568 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10569 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10570 void* pUserData
10571);
10572
10573/**
10574 @brief WDI_HostSuspendInd
10575
10576 Suspend Indication from the upper layer will be sent
10577 down to HAL
10578
10579 @param WDI_SuspendParamsType
10580
10581 @see
10582
10583 @return Status of the request
10584*/
10585WDI_Status
10586WDI_HostSuspendInd
10587(
10588 WDI_SuspendParamsType* pwdiSuspendIndParams
10589);
10590
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010591/**
10592 @brief WDI_TrafficStatsInd
10593
10594 Traffic Stats from the upper layer will be sent
10595 down to HAL
10596
10597 @param WDI_TrafficStatsIndType
10598
10599 @see
10600
10601 @return Status of the request
10602*/
10603WDI_Status
10604WDI_TrafficStatsInd
10605(
10606 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10607);
10608
Chet Lanctot186b5732013-03-18 10:26:30 -070010609#ifdef WLAN_FEATURE_11W
10610/**
10611 @brief WDI_ExcludeUnencryptedInd
10612 Register with HAL to receive/drop unencrypted frames
10613
10614 @param WDI_ExcludeUnencryptIndType
10615
10616 @see
10617
10618 @return Status of the request
10619*/
10620WDI_Status
10621WDI_ExcludeUnencryptedInd
10622(
10623 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10624);
10625#endif
10626
Yue Mab9c86f42013-08-14 15:59:08 -070010627/**
10628 @brief WDI_AddPeriodicTxPtrnInd
10629
10630 @param WDI_AddPeriodicTxPtrnParamsType
10631
10632 @see
10633
10634 @return Status of the request
10635*/
10636WDI_Status
10637WDI_AddPeriodicTxPtrnInd
10638(
10639 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10640);
10641
10642/**
10643 @brief WDI_DelPeriodicTxPtrnInd
10644
10645 @param WDI_DelPeriodicTxPtrnParamsType
10646
10647 @see
10648
10649 @return Status of the request
10650*/
10651WDI_Status
10652WDI_DelPeriodicTxPtrnInd
10653(
10654 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10655);
10656
Jeff Johnson295189b2012-06-20 16:38:30 -070010657#ifdef FEATURE_WLAN_SCAN_PNO
10658/**
10659 @brief WDI_SetPreferredNetworkList
10660
10661 @param pwdiPNOScanReqParams: the Set PNO as specified
10662 by the Device Interface
10663
10664 wdiPNOScanCb: callback for passing back the response
10665 of the Set PNO operation received from the
10666 device
10667
10668 pUserData: user data will be passed back with the
10669 callback
10670
10671 @see WDI_PostAssocReq
10672 @return Result of the function call
10673*/
10674WDI_Status
10675WDI_SetPreferredNetworkReq
10676(
10677 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10678 WDI_PNOScanCb wdiPNOScanCb,
10679 void* pUserData
10680);
10681
10682/**
10683 @brief WDI_SetRssiFilterReq
10684
10685 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10686 specified by the Device Interface
10687
10688 wdiRssiFilterCb: callback for passing back the response
10689 of the Set RSSI Filter operation received from the
10690 device
10691
10692 pUserData: user data will be passed back with the
10693 callback
10694
10695 @see WDI_PostAssocReq
10696 @return Result of the function call
10697*/
10698WDI_Status
10699WDI_SetRssiFilterReq
10700(
10701 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10702 WDI_RssiFilterCb wdiRssiFilterCb,
10703 void* pUserData
10704);
10705
10706/**
10707 @brief WDI_UpdateScanParams
10708
10709 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10710 by the Device Interface
10711
10712 wdiUpdateScanParamsCb: callback for passing back the response
10713 of the Set PNO operation received from the
10714 device
10715
10716 pUserData: user data will be passed back with the
10717 callback
10718
10719 @see WDI_PostAssocReq
10720 @return Result of the function call
10721*/
10722WDI_Status
10723WDI_UpdateScanParamsReq
10724(
10725 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10726 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10727 void* pUserData
10728);
10729#endif // FEATURE_WLAN_SCAN_PNO
10730
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010731#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10732/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010733 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010734
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010735 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010736 by the Device Interface
10737
10738 wdiRoamOffloadScanCb: callback for passing back the response
10739 of the Start Roam Candidate Lookup operation received from the
10740 device
10741
10742 pUserData: user data will be passed back with the
10743 callback
10744
10745 @return Result of the function call
10746*/
10747WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010748WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010749(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010750 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010751 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10752 void* pUserData
10753);
10754#endif
10755
Jeff Johnson295189b2012-06-20 16:38:30 -070010756/**
10757 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10758 wants to set the Tx Per Tracking configurations.
10759 Upon the call of this API the WLAN DAL will pack
10760 and send a HAL Set Tx Per Tracking request message to the
10761 lower RIVA sub-system if DAL is in state STARTED.
10762
10763 In state BUSY this request will be queued. Request won't
10764 be allowed in any other state.
10765
10766 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10767 specified by the Device Interface
10768
10769 wdiSetTxPerTrackingCb: callback for passing back the
10770 response of the set Tx PER Tracking configurations operation received
10771 from the device
10772
10773 pUserData: user data will be passed back with the
10774 callback
10775
10776 @return Result of the function call
10777*/
10778WDI_Status
10779WDI_SetTxPerTrackingReq
10780(
10781 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10782 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10783 void* pUserData
10784);
10785
10786/**
10787 @brief WDI_SetTmLevelReq
10788 If HW Thermal condition changed, driver should react based on new
10789 HW thermal condition.
10790
10791 @param pwdiSetTmLevelReq: New thermal condition information
10792
10793 pwdiSetTmLevelRspCb: callback
10794
10795 usrData: user data will be passed back with the
10796 callback
10797
10798 @return Result of the function call
10799*/
10800WDI_Status
10801WDI_SetTmLevelReq
10802(
10803 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10804 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10805 void *usrData
10806);
10807
10808#ifdef WLAN_FEATURE_PACKET_FILTERING
10809/**
10810 @brief WDI_8023MulticastListReq
10811
10812 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10813 List as specified by the Device Interface
10814
10815 wdi8023MulticastListCallback: callback for passing back
10816 the response of the Set 8023 Multicast List operation
10817 received from the device
10818
10819 pUserData: user data will be passed back with the
10820 callback
10821
10822 @see WDI_PostAssocReq
10823 @return Result of the function call
10824*/
10825WDI_Status
10826WDI_8023MulticastListReq
10827(
10828 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10829 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10830 void* pUserData
10831);
10832
10833/**
10834 @brief WDI_ReceiveFilterSetFilterReq
10835
10836 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10837 specified by the Device Interface
10838
10839 wdiReceiveFilterSetFilterReqCallback: callback for
10840 passing back the response of the Set Receive Filter
10841 operation received from the device
10842
10843 pUserData: user data will be passed back with the
10844 callback
10845
10846 @see WDI_PostAssocReq
10847 @return Result of the function call
10848*/
10849WDI_Status
10850WDI_ReceiveFilterSetFilterReq
10851(
10852 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10853 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10854 void* pUserData
10855);
10856
10857/**
10858 @brief WDI_PCFilterMatchCountReq
10859
10860 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10861 Count
10862
10863 wdiPCFilterMatchCountCallback: callback for passing back
10864 the response of the D0 PC Filter Match Count operation
10865 received from the device
10866
10867 pUserData: user data will be passed back with the
10868 callback
10869
10870 @see WDI_PostAssocReq
10871 @return Result of the function call
10872*/
10873WDI_Status
10874WDI_FilterMatchCountReq
10875(
10876 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10877 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10878 void* pUserData
10879);
10880
10881/**
10882 @brief WDI_ReceiveFilterClearFilterReq
10883
10884 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10885 specified by the Device Interface
10886
10887 wdiReceiveFilterClearFilterCallback: callback for
10888 passing back the response of the Clear Filter
10889 operation received from the device
10890
10891 pUserData: user data will be passed back with the
10892 callback
10893
10894 @see WDI_PostAssocReq
10895 @return Result of the function call
10896*/
10897WDI_Status
10898WDI_ReceiveFilterClearFilterReq
10899(
10900 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10901 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10902 void* pUserData
10903);
10904#endif // WLAN_FEATURE_PACKET_FILTERING
10905
10906/**
10907 @brief WDI_HALDumpCmdReq
10908 Post HAL DUMP Command Event
10909
10910 @param halDumpCmdReqParams: Hal Dump Command Body
10911 @param halDumpCmdRspCb: callback for passing back the
10912 response
10913 @param pUserData: Client Data
10914
10915 @see
10916 @return Result of the function call
10917*/
10918WDI_Status WDI_HALDumpCmdReq(
10919 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10920 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10921 void *pUserData
10922);
10923
10924
10925/**
10926 @brief WDI_SetPowerParamsReq
10927
10928 @param pwdiPowerParamsReqParams: the Set Power Params as
10929 specified by the Device Interface
10930
10931 wdiPowerParamsCb: callback for passing back the response
10932 of the Set Power Params operation received from the
10933 device
10934
10935 pUserData: user data will be passed back with the
10936 callback
10937
10938 @return Result of the function call
10939*/
10940WDI_Status
10941WDI_SetPowerParamsReq
10942(
10943 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10944 WDI_SetPowerParamsCb wdiPowerParamsCb,
10945 void* pUserData
10946);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010947/**
10948 @brief WDI_dhcpStartInd
10949 Forward the DHCP Start event
10950
10951 @param
10952
10953 wdiDHCPInd: device mode and MAC address is passed
10954
10955 @see
10956 @return Result of the function call
10957*/
10958
10959WDI_Status
10960WDI_dhcpStartInd
10961(
10962 WDI_DHCPInd *wdiDHCPInd
10963);
10964/**
10965 @brief WDI_dhcpStopReq
10966 Forward the DHCP Stop event
10967
10968 @param
10969
10970 wdiDHCPInd: device mode and MAC address is passed
10971
10972 @see
10973 @return Result of the function call
10974*/
10975
10976WDI_Status
10977WDI_dhcpStopInd
10978(
10979 WDI_DHCPInd *wdiDHCPInd
10980);
Jeff Johnson295189b2012-06-20 16:38:30 -070010981
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010982/**
10983 @brief WDI_RateUpdateInd will be called when the upper MAC
10984 requests the device to update rates.
10985
10986 In state BUSY this request will be queued. Request won't
10987 be allowed in any other state.
10988
10989
10990 @param wdiRateUpdateIndParams
10991
10992
10993 @see WDI_Start
10994 @return Result of the function call
10995*/
10996WDI_Status
10997WDI_RateUpdateInd
10998(
10999 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
11000);
11001
Jeff Johnson295189b2012-06-20 16:38:30 -070011002#ifdef WLAN_FEATURE_GTK_OFFLOAD
11003/**
11004 @brief WDI_GTKOffloadReq will be called when the upper MAC
11005 wants to set GTK Rekey Counter while in power save. Upon
11006 the call of this API the WLAN DAL will pack and send a
11007 HAL GTK offload request message to the lower RIVA
11008 sub-system if DAL is in state STARTED.
11009
11010 In state BUSY this request will be queued. Request won't
11011 be allowed in any other state.
11012
11013 WDI_PostAssocReq must have been called.
11014
11015 @param pwdiGtkOffloadParams: the GTK offload as specified
11016 by the Device Interface
11017
11018 wdiGtkOffloadCb: callback for passing back the response
11019 of the GTK offload operation received from the device
11020
11021 pUserData: user data will be passed back with the
11022 callback
11023
11024 @see WDI_PostAssocReq
11025 @return Result of the function call
11026*/
11027WDI_Status
11028WDI_GTKOffloadReq
11029(
11030 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
11031 WDI_GtkOffloadCb wdiGtkOffloadCb,
11032 void* pUserData
11033);
11034
11035/**
11036 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
11037 MAC wants to get GTK Rekey Counter while in power save.
11038 Upon the call of this API the WLAN DAL will pack and
11039 send a HAL GTK offload request message to the lower RIVA
11040 sub-system if DAL is in state STARTED.
11041
11042 In state BUSY this request will be queued. Request won't
11043 be allowed in any other state.
11044
11045 WDI_PostAssocReq must have been called.
11046
11047 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
11048 Information Message as specified by the
11049 Device Interface
11050
11051 wdiGtkOffloadGetInfoCb: callback for passing back the
11052 response of the GTK offload operation received from the
11053 device
11054
11055 pUserData: user data will be passed back with the
11056 callback
11057
11058 @see WDI_PostAssocReq
11059 @return Result of the function call
11060*/
11061WDI_Status
11062WDI_GTKOffloadGetInfoReq
11063(
11064 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11065 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11066 void* pUserData
11067);
11068#endif // WLAN_FEATURE_GTK_OFFLOAD
11069
11070/**
11071 @brief WDI_featureCapsExchangeReq
11072 Post feature capability bitmap exchange event.
11073 Host will send its own capability to FW in this req and
11074 expect FW to send its capability back as a bitmap in Response
11075
11076 @param
11077
11078 wdiFeatCapsExcRspCb: callback called on getting the response.
11079 It is kept to mantain similarity between WDI reqs and if needed, can
11080 be used in future. Currently, It is set to NULL
11081
11082 pUserData: user data will be passed back with the
11083 callback
11084
11085 @see
11086 @return Result of the function call
11087*/
11088WDI_Status
11089WDI_featureCapsExchangeReq
11090(
11091 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11092 void* pUserData
11093);
11094
11095/**
Yathish9f22e662012-12-10 14:21:35 -080011096 @brief Disable Active mode offload in Host
11097
11098 @param void
11099 @see
11100 @return void
11101*/
11102void
11103WDI_disableCapablityFeature(wpt_uint8 feature_index);
11104
11105
11106/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011107 @brief WDI_getHostWlanFeatCaps
11108 WDI API that returns whether the feature passed to it as enum value in
11109 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11110 variable storing host capability bitmap to find this. This can be used by
11111 other moduels to decide certain things like call different APIs based on
11112 whether a particular feature is supported.
11113
11114 @param
11115
11116 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11117
11118 @see
11119 @return
11120 0 - if the feature is NOT supported in host
11121 any non-zero value - if the feature is SUPPORTED in host.
11122*/
11123wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11124
11125/**
11126 @brief WDI_getFwWlanFeatCaps
11127 WDI API that returns whether the feature passed to it as enum value in
11128 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11129 variable storing host capability bitmap to find this. This can be used by
11130 other moduels to decide certain things like call different APIs based on
11131 whether a particular feature is supported.
11132
11133 @param
11134
Jeff Johnsone7245742012-09-05 17:12:55 -070011135 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11136 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011137
11138 @see
11139 @return
11140 0 - if the feature is NOT supported in FW
11141 any non-zero value - if the feature is SUPPORTED in FW.
11142*/
11143wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11144
11145/**
11146 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11147 api version
11148
11149 @param WDI_WlanVersionType: Wlan version structure
11150 @see
11151 @return none
11152*/
11153
11154void WDI_GetWcnssCompiledApiVersion
11155(
11156 WDI_WlanVersionType *pWcnssApiVersion
11157);
11158
Mohit Khanna4a70d262012-09-11 16:30:12 -070011159#ifdef WLAN_FEATURE_11AC
11160WDI_Status
11161WDI_UpdateVHTOpModeReq
11162(
11163 WDI_UpdateVHTOpMode *pData,
11164 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11165 void* pUserData
11166);
Jeff Johnson295189b2012-06-20 16:38:30 -070011167
Mohit Khanna4a70d262012-09-11 16:30:12 -070011168#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011169
11170/**
11171 @brief WDI_TransportChannelDebug -
11172 Display DXE Channel debugging information
11173 User may request to display DXE channel snapshot
11174 Or if host driver detects any abnormal stcuk may display
11175
Jeff Johnsonb88db982012-12-10 13:34:59 -080011176 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011177 @param debugFlags : Enable stall detect features
11178 defined by WPAL_DeviceDebugFlags
11179 These features may effect
11180 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011181 @see
11182 @return none
11183*/
11184void WDI_TransportChannelDebug
11185(
11186 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011187 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011188);
11189
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011190/**
11191 @brief WDI_SsrTimerCB
11192 Callback function for SSR timer, if this is called then the graceful
11193 shutdown for Riva did not happen.
11194
11195 @param pUserData : user data to timer
11196
11197 @see
11198 @return none
11199*/
11200void
11201WDI_SsrTimerCB
11202(
11203 void *pUserData
11204);
11205
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011206/**
11207 @brief WDI_SetEnableSSR -
11208 This API is called to enable/disable SSR on WDI timeout.
11209
11210 @param enableSSR : enable/disable SSR
11211
11212 @see
11213 @return none
11214*/
11215void WDI_SetEnableSSR(wpt_boolean enableSSR);
11216
Leo Chang9056f462013-08-01 19:21:11 -070011217#ifdef FEATURE_WLAN_LPHB
11218/**
11219 @brief WDI_LPHBConfReq
11220 This API is called to config FW LPHB rule
11221
11222 @param lphbconfParam : LPHB rule should config to FW
11223 usrData : Client context
11224 lphbCfgCb : Configuration status callback
11225 @see
11226 @return SUCCESS or FAIL
11227*/
11228WDI_Status WDI_LPHBConfReq
11229(
11230 void *lphbconfParam,
11231 void *usrData,
11232 WDI_LphbCfgCb lphbCfgCb
11233);
11234#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011235
Dino Mycle41bdc942014-06-10 11:30:24 +053011236#ifdef WLAN_FEATURE_EXTSCAN
11237/**
11238 @brief WDI_EXTScanStartReq
11239 This API is called to send EXTScan start request to FW
11240
11241 @param pwdiEXTScanStartReqParams : pointer to the request params.
11242 wdiEXTScanStartRspCb : callback on getting the response.
11243 usrData : Client context
11244 @see
11245 @return SUCCESS or FAIL
11246*/
11247WDI_Status WDI_EXTScanStartReq
11248(
11249 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11250 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11251 void* pUserData
11252);
11253
11254/**
11255 @brief WDI_EXTScanStopReq
11256 This API is called to stop the EXTScan operations in the FW
11257
11258 @param pwdiEXTScanStopReqParams : pointer to the request params.
11259 wdiEXTScanStopRspCb : callback on getting the response.
11260 usrData : Client context
11261 @see
11262 @return SUCCESS or FAIL
11263*/
11264WDI_Status WDI_EXTScanStopReq
11265(
11266 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11267 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11268 void* pUserData
11269);
11270
11271/**
11272 @brief WDI_EXTScanGetCachedResultsReq
11273 This API is called to send get link layer stats request in FW
11274
11275 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11276 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11277 usrData : Client context
11278 @see
11279 @return SUCCESS or FAIL
11280*/
11281WDI_Status WDI_EXTScanGetCachedResultsReq
11282(
11283 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11284 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11285 void* pUserData
11286);
11287
11288/**
11289 @brief WDI_EXTScanGetCapabilitiesReq
11290 This API is called to send get EXTScan capabilities from FW
11291
11292 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11293 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11294 usrData : Client context
11295 @see
11296 @return SUCCESS or FAIL
11297*/
11298WDI_Status WDI_EXTScanGetCapabilitiesReq
11299(
11300 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11301 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11302 void* pUserData
11303);
11304
11305/**
11306 @brief WDI_EXTScanSetBSSIDHotlistReq
11307 This API is called to send Set BSSID Hotlist Request FW
11308
11309 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11310 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11311 usrData : Client context
11312 @see
11313 @return SUCCESS or FAIL
11314*/
11315WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11316(
11317 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11318 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11319 void* pUserData
11320);
11321
11322/**
11323 @brief WDI_EXTScanResetBSSIDHotlistReq
11324 This API is called to send Reset BSSID Hotlist Request FW
11325
11326 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11327 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11328 usrData : Client context
11329 @see
11330 @return SUCCESS or FAIL
11331*/
11332WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11333(
11334 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11335 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11336 void* pUserData
11337);
11338
11339/**
11340 @brief WDI_EXTScanSetSignfRSSIChangeReq
11341 This API is called to send Set Significant RSSI Request FW
11342
11343 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
11344 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
11345 usrData : Client context
11346 @see
11347 @return SUCCESS or FAIL
11348*/
11349WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11350(
11351 WDI_EXTScanSetSignfRSSIChangeReqParams*
11352 pwdiEXTScanSetSignfRSSIChangeReqParams,
11353 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11354 void* pUserData
11355);
11356
11357/**
11358 @brief WDI_EXTScanResetSignfRSSIChangeReq
11359 This API is called to send Reset BSSID Hotlist Request FW
11360
11361 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11362 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11363 usrData : Client context
11364 @see
11365 @return SUCCESS or FAIL
11366*/
11367WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11368(
11369 WDI_EXTScanResetSignfRSSIChangeReqParams*
11370 pwdiEXTScanResetSignfRSSIChangeReqParams,
11371 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11372 void* pUserData
11373);
11374#endif /* WLAN_FEATURE_EXTSCAN */
11375
Sunil Duttbd736ed2014-05-26 21:19:41 +053011376#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11377/**
11378 @brief WDI_LLStatsSetReq
11379 This API is called to send set link layer stats request to FW
11380
11381 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11382 wdiLLStatsSetRspCb : set link layer stats response callback
11383 usrData : Client context
11384 @see
11385 @return SUCCESS or FAIL
11386*/
11387WDI_Status WDI_LLStatsSetReq
11388(
11389 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11390 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11391 void* pUserData
11392);
11393
11394/**
11395 @brief WDI_LLStatsGetReq
11396 This API is called to send get link layer stats request in FW
11397
11398 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11399 wdiLLStatsGetRspCb : get link layer stats response callback
11400 usrData : Client context
11401 @see
11402 @return SUCCESS or FAIL
11403*/
11404WDI_Status WDI_LLStatsGetReq
11405(
11406 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11407 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11408 void* pUserData
11409);
11410
11411/**
11412 @brief WDI_LLStatsClearReq
11413 This API is called to set clear link layer stats request in FW
11414
11415 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11416 iwdiLLStatsClearRspCb : clear link layer stats response callback
11417 usrData : Client context
11418 @see
11419 @return SUCCESS or FAIL
11420*/
11421WDI_Status WDI_LLStatsClearReq
11422(
11423 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11424 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11425 void* pUserData
11426);
11427#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11428
Abhishek Singh85b74712014-10-08 11:38:19 +053011429WDI_Status WDI_FWStatsGetReq
11430(
11431 void* pwdiFWStatsGetReqParams,
11432 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11433 wpt_uint32 pUserData
11434);
11435
Katya Nigamf0511f62015-05-05 16:40:57 +053011436WDI_Status WDI_MonStartReq
11437(
11438 WDI_MonStartReqType* pwdiMonStartReqParams,
11439 WDI_MonStartRspCb wdiMonStartRspCb,
11440 void* pUserData
11441);
11442
11443WDI_Status WDI_MonStopReq
11444(
11445 WDI_MonStopRspCb wdiMonStopRspCb,
11446 void* pUserData
11447);
11448
Rajeev79dbe4c2013-10-05 11:03:42 +053011449#ifdef FEATURE_WLAN_BATCH_SCAN
11450/**
11451 @brief WDI_SetBatchScanReq
11452 This API is called to set batch scan request in FW
11453
11454 @param pBatchScanReqParam : pointer to set batch scan re param
11455 usrData : Client context
11456 setBatchScanRspCb : set batch scan resp callback
11457 @see
11458 @return SUCCESS or FAIL
11459*/
11460WDI_Status WDI_SetBatchScanReq
11461(
11462 void *pBatchScanReqParam,
11463 void *usrData,
11464 WDI_SetBatchScanCb setBatchScanRspCb
11465);
11466
11467/**
11468 @brief WDI_StopBatchScanInd
11469
11470 @param none
11471
11472 @see
11473
11474 @return Status of the request
11475*/
11476WDI_Status
11477WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11478
11479/**
11480 @brief WDI_TriggerBatchScanResultInd
11481 This API is called to pull batch scan result from FW
11482
11483 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11484 usrData : Client context
11485 setBatchScanRspCb : get batch scan resp callback
11486 @see
11487 @return SUCCESS or FAIL
11488*/
11489WDI_Status
11490WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11491
11492
11493#endif /*FEATURE_WLAN_BATCH_SCAN*/
11494
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011495/**
11496 @brief wdi_HT40OBSSScanInd
11497 This API is called to start OBSS scan
11498
11499 @param pWdiReq : pointer to get ind param
11500 @see
11501 @return SUCCESS or FAIL
11502*/
11503
11504WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11505
11506/**
11507 @brief wdi_HT40OBSSStopScanInd
11508 This API is called to stop OBSS scan
11509
11510 @param bssIdx : bssIdx to stop
11511 @see
11512 @return SUCCESS or FAIL
11513*/
11514
11515WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11516
c_hpothu92367912014-05-01 15:18:17 +053011517
11518WDI_Status WDI_GetBcnMissRate( void *pUserData,
11519 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11520 wpt_uint8 *bssid
11521 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011522WDI_Status
11523WDI_SetSpoofMacAddrReq
11524(
11525WDI_SpoofMacAddrInfoType *pWdiReq,
11526 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11527 void* pUserData
11528);
c_hpothu92367912014-05-01 15:18:17 +053011529
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011530WDI_Status
11531WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11532 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11533 void* pUserData
11534 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011535
11536/**
11537 @brief WDI_NanRequest
11538 NAN request
11539
11540 @param pwdiNanRequest: data
11541
11542 pwdiNanCb: callback
11543
11544 usrData: user data will be passed back with the
11545 callback
11546
11547 @return Result of the function call
11548*/
11549WDI_Status
11550WDI_NanRequest
11551(
11552 WDI_NanRequestType *pwdiNanRequest,
11553 void *usrData
11554);
11555
Abhishek Singh41988ba2015-05-25 19:42:29 +053011556/**
11557 @brief WDI_SetRtsCtsHTVhtInd
11558 Set RTS/CTS indication for diff modes.
11559
11560 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11561
11562 @return Result of the function call
11563*/
11564
11565WDI_Status
11566WDI_SetRtsCtsHTVhtInd
11567(
11568 wpt_uint32 rtsCtsVal
11569);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011570
Mihir Shete5affadc2015-05-29 20:54:57 +053011571WDI_Status
11572WDI_FWLoggingDXEdoneInd
11573(
11574 WDI_FWLoggingDXEdoneIndInfoType* pwdiFWLoggingDXEdoneInd
11575);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011576
Jeff Johnson295189b2012-06-20 16:38:30 -070011577#ifdef __cplusplus
11578 }
11579#endif
11580
Jeff Johnson295189b2012-06-20 16:38:30 -070011581#endif /* #ifndef WLAN_QCT_WDI_H */