blob: be5b426b7a1ca1e9666321da4355a799aab95cfb [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
Yue Mab9c86f42013-08-14 15:59:08 -0700155
Jeff Johnson295189b2012-06-20 16:38:30 -0700156/*============================================================================
157 * GENERIC STRUCTURES
158
159============================================================================*/
160
161/*---------------------------------------------------------------------------
162 WDI Version Information
163---------------------------------------------------------------------------*/
164typedef struct
165{
166 wpt_uint8 revision;
167 wpt_uint8 version;
168 wpt_uint8 minor;
169 wpt_uint8 major;
170} WDI_WlanVersionType;
171
172/*---------------------------------------------------------------------------
173 WDI Device Capability
174---------------------------------------------------------------------------*/
175typedef struct
176{
177 /*If this flag is true it means that the device can support 802.3/ETH2 to
178 802.11 translation*/
179 wpt_boolean bFrameXtlSupported;
180
181 /*Maximum number of BSSes supported by the Device */
182 wpt_uint8 ucMaxBSSSupported;
183
184 /*Maximum number of stations supported by the Device */
185 wpt_uint8 ucMaxSTASupported;
186}WDI_DeviceCapabilityType;
187
188/*---------------------------------------------------------------------------
189 WDI Channel Offset
190---------------------------------------------------------------------------*/
191typedef enum
192{
193 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
194 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700195 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
196#ifdef WLAN_FEATURE_11AC
197 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
198 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
199 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
200 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
201 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
202 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
203 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
204#endif
205 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700206}WDI_HTSecondaryChannelOffset;
207
208/*---------------------------------------------------------------------------
209 WDI_MacFrameCtl
210 Frame control field format (2 bytes)
211---------------------------------------------------------------------------*/
212typedef struct
213{
214 wpt_uint8 protVer :2;
215 wpt_uint8 type :2;
216 wpt_uint8 subType :4;
217
218 wpt_uint8 toDS :1;
219 wpt_uint8 fromDS :1;
220 wpt_uint8 moreFrag :1;
221 wpt_uint8 retry :1;
222 wpt_uint8 powerMgmt :1;
223 wpt_uint8 moreData :1;
224 wpt_uint8 wep :1;
225 wpt_uint8 order :1;
226
227} WDI_MacFrameCtl;
228
229/*---------------------------------------------------------------------------
230 WDI Sequence control field
231---------------------------------------------------------------------------*/
232typedef struct
233{
234 wpt_uint8 fragNum : 4;
235 wpt_uint8 seqNumLo : 4;
236 wpt_uint8 seqNumHi : 8;
237} WDI_MacSeqCtl;
238
239/*---------------------------------------------------------------------------
240 Management header format
241---------------------------------------------------------------------------*/
242typedef struct
243{
244 WDI_MacFrameCtl fc;
245 wpt_uint8 durationLo;
246 wpt_uint8 durationHi;
247 wpt_uint8 da[WDI_MAC_ADDR_LEN];
248 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
249 wpt_macAddr bssId;
250 WDI_MacSeqCtl seqControl;
251} WDI_MacMgmtHdr;
252
253/*---------------------------------------------------------------------------
254 NV Blob management sturcture
255 ---------------------------------------------------------------------------*/
256
257typedef struct
258{
259 /* NV image fragments count */
260 wpt_uint16 usTotalFragment;
261
262 /* NV fragment size */
263 wpt_uint16 usFragmentSize;
264
265 /* current fragment to be sent */
266 wpt_uint16 usCurrentFragment;
267
268} WDI_NvBlobInfoParams;
269
270
271/*---------------------------------------------------------------------------
272 Data path enums memory pool resource
273 ---------------------------------------------------------------------------*/
274
275typedef enum
276{
277 /* managment resource pool ID */
278 WDI_MGMT_POOL_ID = 0,
279 /* Data resource pool ID */
280 WDI_DATA_POOL_ID = 1
281}WDI_ResPoolType;
282
283/*============================================================================
284 * GENERIC STRUCTURES - END
285 ============================================================================*/
286
287/*----------------------------------------------------------------------------
288 * Type Declarations
289 * -------------------------------------------------------------------------*/
290/*---------------------------------------------------------------------------
291 WDI Status
292---------------------------------------------------------------------------*/
293typedef enum
294{
295 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
296 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
297 synchronous way - no rsp will be generated*/
298 WDI_STATUS_PENDING, /* Operation result is pending and will be
299 provided asynchronously through the Req Status
300 Callback */
301 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
302 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
303 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
304 failure*/
305 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
306 of the driver*/
307 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
308
309 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
310 WDI_STATUS_MAX
311
312}WDI_Status;
313
314
315/*---------------------------------------------------------------------------
316 WDI_ReqStatusCb
317
318 DESCRIPTION
319
320 This callback is invoked by DAL to deliver to UMAC the result of posting
321 a previous request for which the return status was PENDING.
322
323 PARAMETERS
324
325 IN
326 wdiStatus: response status received from the Control Transport
327 pUserData: user data
328
329
330
331 RETURN VALUE
332 The result code associated with performing the operation
333---------------------------------------------------------------------------*/
334typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
335 void* pUserData);
336
337/*---------------------------------------------------------------------------
338 WDI_LowLevelIndEnumType
339 Types of indication that can be posted to UMAC by DAL
340---------------------------------------------------------------------------*/
341typedef enum
342{
343 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
344 passed. */
345 WDI_RSSI_NOTIFICATION_IND,
346
347 /*Link loss in the low MAC */
348 WDI_MISSED_BEACON_IND,
349
350 /*when hardware has signaled an unknown addr2 frames. The indication will
351 contain info from frames to be passed to the UMAC, this may use this info to
352 deauth the STA*/
353 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
354
355 /*MIC Failure detected by HW*/
356 WDI_MIC_FAILURE_IND,
357
358 /*Fatal Error Ind*/
359 WDI_FATAL_ERROR_IND,
360
361 /*Delete Station Ind*/
362 WDI_DEL_STA_IND,
363
364 /*Indication from Coex*/
365 WDI_COEX_IND,
366
367 /* Indication for Tx Complete */
368 WDI_TX_COMPLETE_IND,
369
370 /*.P2P_NOA_Attr_Indication */
371 WDI_P2P_NOA_ATTR_IND,
372
373 /* Preferred Network Found Indication */
374 WDI_PREF_NETWORK_FOUND_IND,
375
376 WDI_WAKE_REASON_IND,
377
378 /* Tx PER Tracking Indication */
379 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800380
Viral Modid86bde22012-12-10 13:09:21 -0800381 /* P2P_NOA_Start_Indication */
382 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800383
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530384 /* TDLS_Indication */
385 WDI_TDLS_IND,
386
Leo Changd9df8aa2013-09-26 13:32:26 -0700387 /* LPHB Indication from FW to umac */
388 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700389
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700390 /* IBSS Peer Inactivity Indication */
391 WDI_IBSS_PEER_INACTIVITY_IND,
392
Yue Mab9c86f42013-08-14 15:59:08 -0700393 /* Periodic Tx Pattern FW Indication */
394 WDI_PERIODIC_TX_PTRN_FW_IND,
395
Rajeev79dbe4c2013-10-05 11:03:42 +0530396#ifdef FEATURE_WLAN_BATCH_SCAN
397 /*Batch scan result indication from FW*/
398 WDI_BATCH_SCAN_RESULT_IND,
399#endif
400
Leo Chang0b0e45a2013-12-15 15:18:55 -0800401#ifdef FEATURE_WLAN_CH_AVOID
402 WDI_CH_AVOID_IND,
403#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530404#ifdef WLAN_FEATURE_LINK_LAYER_STATS
405 WDI_LL_STATS_RESULTS_IND,
406#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530407#ifdef WLAN_FEATURE_EXTSCAN
408 WDI_EXTSCAN_PROGRESS_IND,
409 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
410 WDI_EXTSCAN_SCAN_RESULT_IND,
411 WDI_EXTSCAN_GET_CAPABILITIES_IND,
412 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
413 WDI_EXTSCAN_SIGN_RSSI_RESULT_IND,
414#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530415 /*Delete BA Ind*/
416 WDI_DEL_BA_IND,
Leo Chang0b0e45a2013-12-15 15:18:55 -0800417
Jeff Johnson295189b2012-06-20 16:38:30 -0700418 WDI_MAX_IND
419}WDI_LowLevelIndEnumType;
420
421
422/*---------------------------------------------------------------------------
423 WDI_LowRSSIThIndType
424---------------------------------------------------------------------------*/
425typedef struct
426{
427 /*Positive crossing of Rssi Thresh1*/
428 wpt_uint32 bRssiThres1PosCross : 1;
429 /*Negative crossing of Rssi Thresh1*/
430 wpt_uint32 bRssiThres1NegCross : 1;
431 /*Positive crossing of Rssi Thresh2*/
432 wpt_uint32 bRssiThres2PosCross : 1;
433 /*Negative crossing of Rssi Thresh2*/
434 wpt_uint32 bRssiThres2NegCross : 1;
435 /*Positive crossing of Rssi Thresh3*/
436 wpt_uint32 bRssiThres3PosCross : 1;
437 /*Negative crossing of Rssi Thresh3*/
438 wpt_uint32 bRssiThres3NegCross : 1;
439
Srinivasdaaec712012-12-12 15:59:44 -0800440 wpt_uint32 avgRssi : 8;
441 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700442
443}WDI_LowRSSIThIndType;
444
445
446/*---------------------------------------------------------------------------
447 WDI_UnkAddr2FrmRxIndType
448---------------------------------------------------------------------------*/
449typedef struct
450{
451 /*Rx Bd data of the unknown received addr2 frame.*/
452 void* bufRxBd;
453
454 /*Buffer Length*/
455 wpt_uint16 usBufLen;
456}WDI_UnkAddr2FrmRxIndType;
457
458/*---------------------------------------------------------------------------
459 WDI_DeleteSTAIndType
460---------------------------------------------------------------------------*/
461typedef struct
462{
463 /*ASSOC ID, as assigned by UMAC*/
464 wpt_uint16 usAssocId;
465
466 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
467 wpt_uint8 ucSTAIdx;
468
469 /*BSSID of STA*/
470 wpt_macAddr macBSSID;
471
472 /*MAC ADDR of STA*/
473 wpt_macAddr macADDR2;
474
475 /* To unify the keepalive / unknown A2 / tim-based disa*/
476 wpt_uint16 wptReasonCode;
477
478}WDI_DeleteSTAIndType;
479
480/*---------------------------------------------------------------------------
481 WDI_MicFailureIndType
482---------------------------------------------------------------------------*/
483typedef struct
484{
485 /*current BSSID*/
486 wpt_macAddr bssId;
487
488 /*Source mac address*/
489 wpt_macAddr macSrcAddr;
490
491 /*Transmitter mac address*/
492 wpt_macAddr macTaAddr;
493
494 /*Destination mac address*/
495 wpt_macAddr macDstAddr;
496
497 /*Multicast flag*/
498 wpt_uint8 ucMulticast;
499
500 /*First byte of IV*/
501 wpt_uint8 ucIV1;
502
503 /*Key Id*/
504 wpt_uint8 keyId;
505
506 /*Sequence Number*/
507 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
508
509 /*receive address */
510 wpt_macAddr macRxAddr;
511}WDI_MicFailureIndType;
512
513/*---------------------------------------------------------------------------
514 WDI_CoexIndType
515---------------------------------------------------------------------------*/
516typedef struct
517{
518 wpt_uint32 coexIndType;
519 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
520} WDI_CoexIndType;
521
522/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530523 WDI_DHCPInd
524---------------------------------------------------------------------------*/
525
526typedef struct
527{
528 wpt_uint8 device_mode;
529 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
530}WDI_DHCPInd;
531
532/*---------------------------------------------------------------------------
533
Jeff Johnson295189b2012-06-20 16:38:30 -0700534 WDI_MacSSid
535---------------------------------------------------------------------------*/
536typedef struct
537{
538 wpt_uint8 ucLength;
539 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
540} WDI_MacSSid;
541
542#ifdef FEATURE_WLAN_SCAN_PNO
543/*---------------------------------------------------------------------------
544 WDI_PrefNetworkFoundInd
545---------------------------------------------------------------------------*/
546typedef struct
547{
548 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700549 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700550 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700551 wpt_uint8 rssi;
552 wpt_uint16 frameLength;
553 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700554} WDI_PrefNetworkFoundInd;
555#endif // FEATURE_WLAN_SCAN_PNO
556
Jeff Johnson295189b2012-06-20 16:38:30 -0700557/*---------------------------------------------------------------------------
558 *WDI_P2pNoaAttrIndType
559 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700560typedef struct
561{
562 wpt_uint8 ucIndex ;
563 wpt_uint8 ucOppPsFlag ;
564 wpt_uint16 usCtWin ;
565
566 wpt_uint16 usNoa1IntervalCnt;
567 wpt_uint16 usRsvd1 ;
568 wpt_uint32 uslNoa1Duration;
569 wpt_uint32 uslNoa1Interval;
570 wpt_uint32 uslNoa1StartTime;
571
572 wpt_uint16 usNoa2IntervalCnt;
573 wpt_uint16 usRsvd2;
574 wpt_uint32 uslNoa2Duration;
575 wpt_uint32 uslNoa2Interval;
576 wpt_uint32 uslNoa2StartTime;
577
578 wpt_uint32 status;
579}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800580
581/*---------------------------------------------------------------------------
582 *WDI_P2pNoaStartIndType
583 *-------------------------------------------------------------------------*/
584typedef struct
585{
586 wpt_uint32 status;
587 wpt_uint32 bssIdx;
588}WDI_P2pNoaStartIndType;
589
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530590/*---------------------------------------------------------------------------
591 *WDI_TdlsIndType
592 *-------------------------------------------------------------------------*/
593typedef struct
594{
595 wpt_uint16 status;
596 wpt_uint16 assocId;
597 wpt_uint16 staIdx;
598 wpt_uint16 reasonCode;
599}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700600
601#ifdef WLAN_WAKEUP_EVENTS
602/*---------------------------------------------------------------------------
603 WDI_WakeReasonIndType
604---------------------------------------------------------------------------*/
605typedef struct
606{
607 wpt_uint32 ulReason; /* see tWakeReasonType */
608 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
609 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
610 HAL truncates the data (i.e. data packets) this length
611 will be less than the actual length */
612 wpt_uint32 ulActualDataLen; /* actual length of data */
613 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
614 see specific wake type */
615} WDI_WakeReasonIndType;
616#endif // WLAN_WAKEUP_EVENTS
617
618/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800619 WDI_MissedBeaconIndType
620-----------------------------------------------------------------------------*/
621typedef struct
622{
623 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
624} WDI_MissedBeaconIndType;
625
Leo Chang9056f462013-08-01 19:21:11 -0700626#ifdef FEATURE_WLAN_LPHB
627/*---------------------------------------------------------------------------
628 WDI_LPHBTimeoutIndData
629-----------------------------------------------------------------------------*/
630typedef struct
631{
632 wpt_uint8 bssIdx;
633 wpt_uint8 sessionIdx;
634 wpt_uint8 protocolType; /*TCP or UDP*/
635 wpt_uint8 eventReason;
636} WDI_LPHBTimeoutIndData;
637#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800638
Yue Mab9c86f42013-08-14 15:59:08 -0700639/*-----------------------------------------------------------------------------
640WDI_PeriodicTxPtrnFwIndType
641-----------------------------------------------------------------------------*/
642typedef struct
643{
644 wpt_uint8 bssIdx;
645 wpt_uint32 selfStaIdx;
646 wpt_uint32 status;
647 wpt_uint32 patternIdBitmap;
648} WDI_PeriodicTxPtrnFwIndType;
649
Rajeev79dbe4c2013-10-05 11:03:42 +0530650#ifdef FEATURE_WLAN_BATCH_SCAN
651/*---------------------------------------------------------------------------
652 WDI_SetBatchScanReqType
653---------------------------------------------------------------------------*/
654typedef struct
655{
656 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
657 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
658 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
659 wpt_uint8 rfBand; /* band to scan :
660 0 ->both Band, 1->2.4Ghz Only
661 and 2-> 5GHz Only */
662 wpt_uint32 rtt; /* set if required to do RTT it is not
663 supported in current version */
664}WDI_SetBatchScanReqType;
665
666/*---------------------------------------------------------------------------
667 WDI_SetBatchScanRspType
668---------------------------------------------------------------------------*/
669typedef struct
670{
671 /*max number of scans which FW can cache*/
672 wpt_uint32 nScansToBatch;
673}WDI_SetBatchScanRspType;
674
675/*---------------------------------------------------------------------------
676 WDI_TriggerBatchScanResultIndType
677---------------------------------------------------------------------------*/
678typedef struct
679{
680 wpt_uint32 param;
681}WDI_TriggerBatchScanResultIndType;
682
683/*---------------------------------------------------------------------------
684 WDI_StopBatchScanIndType
685---------------------------------------------------------------------------*/
686typedef struct
687{
688 /*max number of scans which FW can cache*/
689 wpt_uint32 param;
690}WDI_StopBatchScanIndType;
691
692
693/*---------------------------------------------------------------------------
694 * WDI_BatchScanResultIndType
695 *--------------------------------------------------------------------------*/
696typedef struct
697{
698 wpt_uint32 bssid[6]; /* BSSID */
699 wpt_uint32 ssid[32]; /* SSID */
700 wpt_uint32 ch; /* Channel */
701 wpt_uint32 rssi; /* RSSI or Level */
702 /* Timestamp when Network was found. Used to calculate age based on
703 timestamp in GET_RSP msg header */
704 wpt_uint32 timestamp;
705} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
706
707typedef struct
708{
709 wpt_uint32 scanId; /*Scan List ID*/
710 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
711 wpt_uint32 numNetworksInScanList;
712 /*Variable data ptr: Number of AP in Scan List*/
713 wpt_uint32 scanList[1];
714} tWDIBatchScanList, *tpWDIBatchScanList;
715
716typedef struct
717{
718 wpt_uint32 timestamp;
719 wpt_uint32 numScanLists;
720 wpt_boolean isLastResult;
721 /* Variable Data ptr: Number of Scan Lists*/
722 wpt_uint32 scanResults[1];
723} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
724
725#endif
726
727
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800728/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700729 WDI_IbssPeerInactivityIndType
730-----------------------------------------------------------------------------*/
731typedef struct
732{
733 wpt_uint8 bssIdx;
734 wpt_uint8 staIdx;
735 wpt_macAddr staMacAddr;
736}WDI_IbssPeerInactivityIndType;
737
738/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700739 WDI_TxRateFlags
740-----------------------------------------------------------------------------*/
741typedef enum
742{
743 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
744 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
745 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
746 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
747 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
748 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
749 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
750 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
751 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
752} WDI_TxRateFlags;
753
754/*---------------------------------------------------------------------------
755 WDI_RateUpdateIndParams
756-----------------------------------------------------------------------------*/
757typedef struct
758{
759 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
760 * param ucastDataRate can be used to control RA behavior of unicast data to
761 */
762 wpt_int32 ucastDataRate;
763
764 /* TX flag to differentiate between HT20, HT40 etc */
765 WDI_TxRateFlags ucastDataRateTxFlag;
766
767 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
768 wpt_macAddr bssid;
769
770 /*
771 * 0 implies MCAST RA, positive value implies fixed rate,
772 * -1 implies ignore this param
773 */
774 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
775
776 /* TX flag to differentiate between HT20, HT40 etc */
777 WDI_TxRateFlags reliableMcastDataRateTxFlag;
778
779 /*
780 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
781 * 0 implies ignore
782 */
783 wpt_uint32 mcastDataRate24GHz;
784
785 /* TX flag to differentiate between HT20, HT40 etc */
786 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
787
788 /*
789 * MCAST(or BCAST) fixed data rate in 5 GHz,
790 * unit Mbpsx10, 0 implies ignore
791 */
792 wpt_uint32 mcastDataRate5GHz;
793
794 /* TX flag to differentiate between HT20, HT40 etc */
795 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
796
797 /*
798 * Request status callback offered by UMAC - it is called if the current
799 * req has returned PENDING as status; it delivers the status of sending
800 * the message over the BUS
801 */
802 WDI_ReqStatusCb wdiReqStatusCB;
803
804 /*
805 * The user data passed in by UMAC, it will be sent back when the above
806 * function pointer will be called
807 */
808 void *pUserData;
809
810} WDI_RateUpdateIndParams;
811
Abhishek Singh85b74712014-10-08 11:38:19 +0530812typedef struct
813{
814 wpt_uint32 ubsp_enter_cnt;
815 wpt_uint32 ubsp_jump_ddr_cnt;
816}ubspFwStats;
817
818typedef struct
819{
820 wpt_uint32 type;
821 /*data*/
822 union{
823 ubspFwStats ubspStats;
824 }wdiFwStatsData;
825} WDI_FWStatsResults;
826
Leo Chang0b0e45a2013-12-15 15:18:55 -0800827#ifdef FEATURE_WLAN_CH_AVOID
828#define WDI_CH_AVOID_MAX_RANGE 4
829
830typedef struct
831{
832 wpt_uint32 startFreq;
833 wpt_uint32 endFreq;
834} WDI_ChAvoidFreqType;
835
836typedef struct
837{
838 wpt_uint32 avoidRangeCount;
839 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
840} WDI_ChAvoidIndType;
841#endif /* FEATURE_WLAN_CH_AVOID */
842
Dino Mycled3d50022014-07-07 12:58:25 +0530843#ifdef WLAN_FEATURE_LINK_LAYER_STATS
844typedef struct
845{
846 void *pLinkLayerStatsResults;
847 wpt_macAddr macAddr;
848} WDI_LinkLayerStatsResults;
849
850#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530851
852typedef struct
853{
854 /*STA Index*/
855 wpt_uint16 staIdx;
856
857 /*Peer MAC*/
858 wpt_macAddr peerMacAddr;
859
860 // TID for which a BA session timeout is being triggered
861 wpt_uint8 baTID;
862 // DELBA direction
863 // 1 - Originator
864 // 0 - Recipient
865 wpt_uint8 baDirection;
866 wpt_uint32 reasonCode;
867 /*MAC ADDR of STA*/
868 wpt_macAddr bssId; // TO SUPPORT BT-AMP
869} WDI_DeleteBAIndType;
870
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700871/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700872 WDI_LowLevelIndType
873 Inidcation type and information about the indication being carried
874 over
875---------------------------------------------------------------------------*/
876typedef struct
877{
878 /*Inidcation type*/
879 WDI_LowLevelIndEnumType wdiIndicationType;
880
881 /*Indication data*/
882 union
883 {
884 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
885 WDI_LowRSSIThIndType wdiLowRSSIInfo;
886
887 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
888 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
889
890 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
891 WDI_MicFailureIndType wdiMICFailureInfo;
892
893 /*Error code for WDI_FATAL_ERROR_IND*/
894 wpt_uint16 usErrorCode;
895
896 /*Delete STA Indication*/
897 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
898
899 /*Coex Indication*/
900 WDI_CoexIndType wdiCoexInfo;
901
902 /* Tx Complete Indication */
903 wpt_uint32 tx_complete_status;
904
Jeff Johnson295189b2012-06-20 16:38:30 -0700905 /* P2P NOA ATTR Indication */
906 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800907 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530908 /* TDLS Indications */
909 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700910
911
912#ifdef FEATURE_WLAN_SCAN_PNO
913 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
914#endif // FEATURE_WLAN_SCAN_PNO
915
916#ifdef WLAN_WAKEUP_EVENTS
917 WDI_WakeReasonIndType wdiWakeReasonInd;
918#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800919 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700920
Leo Chang9056f462013-08-01 19:21:11 -0700921#ifdef FEATURE_WLAN_LPHB
922 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
923#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700924
925 /* IBSS Peer Inactivity Indication */
926 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
927
Yue Mab9c86f42013-08-14 15:59:08 -0700928 /* Periodic TX Pattern FW Indication */
929 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530930
931#ifdef FEATURE_WLAN_BATCH_SCAN
932 /*batch scan result indication from FW*/
933 void *pBatchScanResult;
934#endif
935
Leo Chang0b0e45a2013-12-15 15:18:55 -0800936#ifdef FEATURE_WLAN_CH_AVOID
937 WDI_ChAvoidIndType wdiChAvoidInd;
938#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530939
940#ifdef WLAN_FEATURE_LINK_LAYER_STATS
941 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530942 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530943#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530944#ifdef WLAN_FEATURE_EXTSCAN
945 /*EXTSCAN Results from FW*/
946 void *pEXTScanIndData;
947#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530948 WDI_DeleteBAIndType wdiDeleteBAInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700949 } wdiIndicationData;
950}WDI_LowLevelIndType;
951
952/*---------------------------------------------------------------------------
953 WDI_LowLevelIndCBType
954
955 DESCRIPTION
956
957 This callback is invoked by DAL to deliver to UMAC certain indications
958 that has either received from the lower device or has generated itself.
959
960 PARAMETERS
961
962 IN
963 pwdiInd: information about the indication sent over
964 pUserData: user data provided by UMAC during registration
965
966
967
968 RETURN VALUE
969 The result code associated with performing the operation
970---------------------------------------------------------------------------*/
971typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
972 void* pUserData);
973
974/*---------------------------------------------------------------------------
975 WDI_DriverType
976---------------------------------------------------------------------------*/
977typedef enum
978{
979 WDI_DRIVER_TYPE_PRODUCTION = 0,
980 WDI_DRIVER_TYPE_MFG = 1,
981 WDI_DRIVER_TYPE_DVT = 2
982} WDI_DriverType;
983
984/*---------------------------------------------------------------------------
985 WDI_StartReqParamsType
986---------------------------------------------------------------------------*/
987typedef struct
988{
989 /*This is a TLV formatted buffer containing all config values that can
990 be set through the DAL Interface
991
992 The TLV is expected to be formatted like this:
993
994 0 7 15 31 ....
995 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
996
997 Or from a C construct point of VU it would look like this:
998
999 typedef struct WPT_PACK_POST
1000 {
1001 #ifdef WPT_BIG_ENDIAN
1002 wpt_uint32 ucCfgId:8;
1003 wpt_uint32 ucCfgLen:8;
1004 wpt_uint32 usReserved:16;
1005 #else
1006 wpt_uint32 usReserved:16;
1007 wpt_uint32 ucCfgLen:8;
1008 wpt_uint32 ucCfgId:8;
1009 #endif
1010
1011 wpt_uint8 ucCfgBody[ucCfgLen];
1012 }WDI_ConfigType;
1013
1014 Multiple such tuplets are to be placed in the config buffer. One for
1015 each required configuration item:
1016
1017 | TLV 1 | TLV2 | ....
1018
1019 The buffer is expected to be a flat area of memory that can be manipulated
1020 with standard memory routines.
1021
1022 For more info please check paragraph 2.3.1 Config Structure from the
1023 HAL LLD.
1024
1025 For a list of accepted configuration list and IDs please look up
1026 wlan_qct_dal_cfg.h
1027
1028 */
1029 void* pConfigBuffer;
1030
1031 /*Length of the config buffer above*/
1032 wpt_uint16 usConfigBufferLen;
1033
1034 /*Production or FTM driver*/
1035 WDI_DriverType wdiDriverType;
1036
1037 /*Should device enable frame translation */
1038 wpt_uint8 bFrameTransEnabled;
1039
1040 /*Request status callback offered by UMAC - it is called if the current
1041 req has returned PENDING as status; it delivers the status of sending
1042 the message over the BUS */
1043 WDI_ReqStatusCb wdiReqStatusCB;
1044
1045 /*The user data passed in by UMAC, it will be sent back when the above
1046 function pointer will be called */
1047 void* pUserData;
1048
1049 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1050 wishes to send something back independent of a request*/
1051 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1052
1053 /*The user data passed in by UMAC, it will be sent back when the indication
1054 function pointer will be called */
1055 void* pIndUserData;
1056}WDI_StartReqParamsType;
1057
1058
1059/*---------------------------------------------------------------------------
1060 WDI_StartRspParamsType
1061---------------------------------------------------------------------------*/
1062typedef struct
1063{
1064 /*Status of the response*/
1065 WDI_Status wdiStatus;
1066
1067 /*Max number of STA supported by the device*/
1068 wpt_uint8 ucMaxStations;
1069
1070 /*Max number of BSS supported by the device*/
1071 wpt_uint8 ucMaxBssids;
1072
1073 /*Version of the WLAN HAL API with which we were compiled*/
1074 WDI_WlanVersionType wlanCompiledVersion;
1075
1076 /*Version of the WLAN HAL API that was reported*/
1077 WDI_WlanVersionType wlanReportedVersion;
1078
1079 /*WCNSS Software version string*/
1080 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1081
1082 /*WCNSS Hardware version string*/
1083 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1084}WDI_StartRspParamsType;
1085
1086
1087/*---------------------------------------------------------------------------
1088 WDI_StopType
1089---------------------------------------------------------------------------*/
1090typedef enum
1091{
1092 /*Device is being stopped due to a reset*/
1093 WDI_STOP_TYPE_SYS_RESET,
1094
1095 /*Device is being stopped due to entering deep sleep*/
1096 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1097
1098 /*Device is being stopped because the RF needs to shut off
1099 (e.g.:Airplane mode)*/
1100 WDI_STOP_TYPE_RF_KILL
1101}WDI_StopType;
1102
1103/*---------------------------------------------------------------------------
1104 WDI_StopReqParamsType
1105---------------------------------------------------------------------------*/
1106typedef struct
1107{
1108
1109 /*The reason for which the device is being stopped*/
1110 WDI_StopType wdiStopReason;
1111
1112 /*Request status callback offered by UMAC - it is called if the current
1113 req has returned PENDING as status; it delivers the status of sending
1114 the message over the BUS */
1115 WDI_ReqStatusCb wdiReqStatusCB;
1116
1117 /*The user data passed in by UMAC, it will be sent back when the above
1118 function pointer will be called */
1119 void* pUserData;
1120}WDI_StopReqParamsType;
1121
1122
1123/*---------------------------------------------------------------------------
1124 WDI_ScanMode
1125---------------------------------------------------------------------------*/
1126typedef enum
1127{
1128 WDI_SCAN_MODE_NORMAL = 0,
1129 WDI_SCAN_MODE_LEARN,
1130 WDI_SCAN_MODE_SCAN,
1131 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001132 WDI_SCAN_MODE_SUSPEND_LINK,
1133 WDI_SCAN_MODE_ROAM_SCAN,
1134 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1135
Jeff Johnson295189b2012-06-20 16:38:30 -07001136} WDI_ScanMode;
1137
1138/*---------------------------------------------------------------------------
1139 WDI_ScanEntry
1140---------------------------------------------------------------------------*/
1141typedef struct
1142{
1143 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1144 wpt_uint8 activeBSScnt;
1145}WDI_ScanEntry;
1146
1147/*---------------------------------------------------------------------------
1148 WDI_InitScanReqInfoType
1149---------------------------------------------------------------------------*/
1150typedef struct
1151{
1152 /*LEARN - AP Role
1153 SCAN - STA Role*/
1154 WDI_ScanMode wdiScanMode;
1155
1156 /*BSSID of the BSS*/
1157 wpt_macAddr macBSSID;
1158
1159 /*Whether BSS needs to be notified*/
1160 wpt_boolean bNotifyBSS;
1161
1162 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1163 CTS to Self). Must always be a valid frame type.*/
1164 wpt_uint8 ucFrameType;
1165
1166 /*UMAC has the option of passing the MAC frame to be used for notifying
1167 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1168 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1169 frameType.*/
1170 wpt_uint8 ucFrameLength;
1171
1172 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1173 WDI_MacMgmtHdr wdiMACMgmtHdr;
1174
1175 /*Entry to hold number of active BSS to send NULL frames before
1176 * initiating SCAN*/
1177 WDI_ScanEntry wdiScanEntry;
1178
1179 /* Flag to enable/disable Single NOA*/
1180 wpt_boolean bUseNOA;
1181
1182 /* Indicates the scan duration (in ms) */
1183 wpt_uint16 scanDuration;
1184
1185}WDI_InitScanReqInfoType;
1186
1187/*---------------------------------------------------------------------------
1188 WDI_InitScanReqParamsType
1189---------------------------------------------------------------------------*/
1190typedef struct
1191{
1192 /*The info associated with the request that needs to be sent over to the
1193 device*/
1194 WDI_InitScanReqInfoType wdiReqInfo;
1195
1196 /*Request status callback offered by UMAC - it is called if the current
1197 req has returned PENDING as status; it delivers the status of sending
1198 the message over the BUS */
1199 WDI_ReqStatusCb wdiReqStatusCB;
1200
1201 /*The user data passed in by UMAC, it will be sent back when the above
1202 function pointer will be called */
1203 void* pUserData;
1204}WDI_InitScanReqParamsType;
1205
1206/*---------------------------------------------------------------------------
1207 WDI_StartScanReqParamsType
1208---------------------------------------------------------------------------*/
1209typedef struct
1210{
1211 /*Indicates the channel to scan*/
1212 wpt_uint8 ucChannel;
1213
1214 /*Request status callback offered by UMAC - it is called if the current
1215 req has returned PENDING as status; it delivers the status of sending
1216 the message over the BUS */
1217 WDI_ReqStatusCb wdiReqStatusCB;
1218
1219 /*The user data passed in by UMAC, it will be sent back when the above
1220 function pointer will be called */
1221 void* pUserData;
1222}WDI_StartScanReqParamsType;
1223
1224/*---------------------------------------------------------------------------
1225 WDI_StartScanRspParamsType
1226---------------------------------------------------------------------------*/
1227typedef struct
1228{
1229 /*Indicates the status of the operation */
1230 WDI_Status wdiStatus;
1231
1232#if defined WLAN_FEATURE_VOWIFI
1233 wpt_uint32 aStartTSF[2];
1234 wpt_int8 ucTxMgmtPower;
1235#endif
1236}WDI_StartScanRspParamsType;
1237
1238/*---------------------------------------------------------------------------
1239 WDI_EndScanReqParamsType
1240---------------------------------------------------------------------------*/
1241typedef struct
1242{
1243 /*Indicates the channel to stop scanning. Not used really. But retained
1244 for symmetry with "start Scan" message. It can also help in error
1245 check if needed.*/
1246 wpt_uint8 ucChannel;
1247
1248 /*Request status callback offered by UMAC - it is called if the current
1249 req has returned PENDING as status; it delivers the status of sending
1250 the message over the BUS */
1251 WDI_ReqStatusCb wdiReqStatusCB;
1252
1253 /*The user data passed in by UMAC, it will be sent back when the above
1254 function pointer will be called */
1255 void* pUserData;
1256}WDI_EndScanReqParamsType;
1257
1258/*---------------------------------------------------------------------------
1259 WDI_PhyChanBondState
1260---------------------------------------------------------------------------*/
1261typedef enum
1262{
1263 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1264 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1265 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001266 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1267#ifdef WLAN_FEATURE_11AC
1268 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1269 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1270 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1271 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1272 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1273 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1274 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1275#endif
1276 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001277} WDI_PhyChanBondState;
1278
1279/*---------------------------------------------------------------------------
1280 WDI_FinishScanReqInfoType
1281---------------------------------------------------------------------------*/
1282typedef struct
1283{
1284 /*LEARN - AP Role
1285 SCAN - STA Role*/
1286 WDI_ScanMode wdiScanMode;
1287
1288 /*Operating channel to tune to.*/
1289 wpt_uint8 ucCurrentOperatingChannel;
1290
1291 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1292 40 MHz extension channel in combination with the control channel*/
1293 WDI_PhyChanBondState wdiCBState;
1294
1295 /*BSSID of the BSS*/
1296 wpt_macAddr macBSSID;
1297
1298 /*Whether BSS needs to be notified*/
1299 wpt_boolean bNotifyBSS;
1300
1301 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1302 CTS to Self). Must always be a valid frame type.*/
1303 wpt_uint8 ucFrameType;
1304
1305 /*UMAC has the option of passing the MAC frame to be used for notifying
1306 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1307 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1308 frameType.*/
1309 wpt_uint8 ucFrameLength;
1310
1311 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1312 WDI_MacMgmtHdr wdiMACMgmtHdr;
1313
1314 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1315 WDI_ScanEntry wdiScanEntry;
1316
1317}WDI_FinishScanReqInfoType;
1318
1319/*---------------------------------------------------------------------------
1320 WDI_SwitchChReqInfoType
1321---------------------------------------------------------------------------*/
1322typedef struct
1323{
1324 /*Indicates the channel to switch to.*/
1325 wpt_uint8 ucChannel;
1326
1327 /*Local power constraint*/
1328 wpt_uint8 ucLocalPowerConstraint;
1329
1330 /*Secondary channel offset */
1331 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1332
1333#ifdef WLAN_FEATURE_VOWIFI
1334 wpt_int8 cMaxTxPower;
1335
1336 /*Self STA Mac address*/
1337 wpt_macAddr macSelfStaMacAddr;
1338#endif
1339 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1340 request has power constraints, this should be applied only to that session */
1341 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1342 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1343 */
1344 wpt_macAddr macBSSId;
1345
1346}WDI_SwitchChReqInfoType;
1347
1348/*---------------------------------------------------------------------------
1349 WDI_SwitchChReqParamsType
1350---------------------------------------------------------------------------*/
1351typedef struct
1352{
1353 /*Channel Info*/
1354 WDI_SwitchChReqInfoType wdiChInfo;
1355
1356 /*Request status callback offered by UMAC - it is called if the current
1357 req has returned PENDING as status; it delivers the status of sending
1358 the message over the BUS */
1359 WDI_ReqStatusCb wdiReqStatusCB;
1360
1361 /*The user data passed in by UMAC, it will be sent back when the above
1362 function pointer will be called */
1363 void* pUserData;
1364}WDI_SwitchChReqParamsType;
1365
1366/*---------------------------------------------------------------------------
1367 WDI_FinishScanReqParamsType
1368---------------------------------------------------------------------------*/
1369typedef struct
1370{
1371 /*Info for the Finish Scan request that will be sent down to the device*/
1372 WDI_FinishScanReqInfoType wdiReqInfo;
1373
1374 /*Request status callback offered by UMAC - it is called if the current
1375 req has returned PENDING as status; it delivers the status of sending
1376 the message over the BUS */
1377 WDI_ReqStatusCb wdiReqStatusCB;
1378
1379 /*The user data passed in by UMAC, it will be sent back when the above
1380 function pointer will be called */
1381 void* pUserData;
1382}WDI_FinishScanReqParamsType;
1383
1384/*---------------------------------------------------------------------------
1385 WDI_JoinReqInfoType
1386---------------------------------------------------------------------------*/
1387typedef struct
1388{
1389 /*Indicates the BSSID to which STA is going to associate*/
1390 wpt_macAddr macBSSID;
1391
1392 /*Indicates the MAC Address of the current Self STA*/
1393 wpt_macAddr macSTASelf;
1394
1395 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1396 wpt_uint32 linkState;
1397
1398 /*Indicates the channel to switch to.*/
1399 WDI_SwitchChReqInfoType wdiChannelInfo;
1400
1401}WDI_JoinReqInfoType;
1402
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001403typedef enum
1404{
1405 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1406 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1407 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1408 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1409 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1410} WDI_ChanSwitchSource;
1411
1412/*---------------------------------------------------------------------------
1413 WDI_SwitchChReqInfoType_V1
1414---------------------------------------------------------------------------*/
1415typedef struct
1416{
1417 /*Indicates the channel to switch to.*/
1418 wpt_uint8 ucChannel;
1419
1420 /*Local power constraint*/
1421 wpt_uint8 ucLocalPowerConstraint;
1422
1423 /*Secondary channel offset */
1424 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1425
1426#ifdef WLAN_FEATURE_VOWIFI
1427 wpt_int8 cMaxTxPower;
1428 /*Self STA Mac address*/
1429 wpt_macAddr macSelfStaMacAddr;
1430#endif
1431 /* VO Wifi comment: BSSID is needed to identify which session
1432 issued this request. As the request has power constraints, this
1433 should be applied only to that session
1434 */
1435 /* V IMP: Keep bssId field at the end of this msg. It is used to
1436 maintain backward compatibility by way of ignoring if using new
1437 host/old FW or old host/new FW since it is at the end of this struct
1438 */
1439 wpt_macAddr macBSSId;
1440 /* Source of Channel Switch */
1441 WDI_ChanSwitchSource channelSwitchSrc;
1442}WDI_SwitchChReqInfoType_V1;
1443
1444/*--------------------------------------------------------------------
1445 WDI_SwitchChReqParamsType_V1
1446----------------------------------------------------------------------*/
1447typedef struct
1448{
1449 /*Channel Info*/
1450 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1451
1452 /*Request status callback offered by UMAC - it is called if the current
1453 req has returned PENDING as status; it delivers the status of sending
1454 the message over the BUS */
1455 WDI_ReqStatusCb wdiReqStatusCB;
1456
1457 /*The user data passed in by UMAC, it will be sent back when the above
1458 function pointer will be called */
1459 void* pUserData;
1460}WDI_SwitchChReqParamsType_V1;
1461
Jeff Johnson295189b2012-06-20 16:38:30 -07001462/*---------------------------------------------------------------------------
1463 WDI_JoinReqParamsType
1464---------------------------------------------------------------------------*/
1465typedef struct
1466{
1467 /*Info for the Join request that will be sent down to the device*/
1468 WDI_JoinReqInfoType wdiReqInfo;
1469
1470 /*Request status callback offered by UMAC - it is called if the current
1471 req has returned PENDING as status; it delivers the status of sending
1472 the message over the BUS */
1473 WDI_ReqStatusCb wdiReqStatusCB;
1474
1475 /*The user data passed in by UMAC, it will be sent back when the above
1476 function pointer will be called */
1477 void* pUserData;
1478}WDI_JoinReqParamsType;
1479
1480/*---------------------------------------------------------------------------
1481 WDI_BssType
1482---------------------------------------------------------------------------*/
1483typedef enum
1484{
1485 WDI_INFRASTRUCTURE_MODE,
1486 WDI_INFRA_AP_MODE, //Added for softAP support
1487 WDI_IBSS_MODE,
1488 WDI_BTAMP_STA_MODE,
1489 WDI_BTAMP_AP_MODE,
1490 WDI_BSS_AUTO_MODE,
1491}WDI_BssType;
1492
1493/*---------------------------------------------------------------------------
1494 WDI_NwType
1495---------------------------------------------------------------------------*/
1496typedef enum
1497{
1498 WDI_11A_NW_TYPE,
1499 WDI_11B_NW_TYPE,
1500 WDI_11G_NW_TYPE,
1501 WDI_11N_NW_TYPE,
1502} WDI_NwType;
1503
1504/*---------------------------------------------------------------------------
1505 WDI_ConfigAction
1506---------------------------------------------------------------------------*/
1507typedef enum
1508{
1509 WDI_ADD_BSS,
1510 WDI_UPDATE_BSS
1511} WDI_ConfigAction;
1512
1513/*---------------------------------------------------------------------------
1514 WDI_HTOperatingMode
1515---------------------------------------------------------------------------*/
1516typedef enum
1517{
1518 WDI_HT_OP_MODE_PURE,
1519 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1520 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1521 WDI_HT_OP_MODE_MIXED
1522
1523} WDI_HTOperatingMode;
1524
1525
1526/*---------------------------------------------------------------------------
1527 WDI_STAEntryType
1528---------------------------------------------------------------------------*/
1529typedef enum
1530{
1531 WDI_STA_ENTRY_SELF,
1532 WDI_STA_ENTRY_PEER,
1533 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001534 WDI_STA_ENTRY_BCAST,
1535#ifdef FEATURE_WLAN_TDLS
1536 WDI_STA_ENTRY_TDLS_PEER,
1537#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001538}WDI_STAEntryType;
1539
1540/*---------------------------------------------------------------------------
1541 WDI_ConfigActionType
1542---------------------------------------------------------------------------*/
1543typedef enum
1544{
1545 WDI_ADD_STA,
1546 WDI_UPDATE_STA
1547} WDI_ConfigActionType;
1548
1549/*----------------------------------------------------------------------------
1550 Each station added has a rate mode which specifies the sta attributes
1551 ----------------------------------------------------------------------------*/
1552typedef enum
1553{
1554 WDI_RESERVED_1 = 0,
1555 WDI_RESERVED_2,
1556 WDI_RESERVED_3,
1557 WDI_11b,
1558 WDI_11bg,
1559 WDI_11a,
1560 WDI_11n,
1561} WDI_RateModeType;
1562
1563/*---------------------------------------------------------------------------
1564 WDI_SupportedRatesType
1565---------------------------------------------------------------------------*/
1566typedef struct
1567{
1568 /*
1569 * For Self STA Entry: this represents Self Mode.
1570 * For Peer Stations, this represents the mode of the peer.
1571 * On Station:
1572 * --this mode is updated when PE adds the Self Entry.
1573 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1574 * ON AP:
1575 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1576 * to indicate the self mode of the AP.
1577 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1578 */
1579
1580 WDI_RateModeType opRateMode;
1581
1582 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1583 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1584 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1585 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1586
1587 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1588 First 26 bits are reserved for those Titan rates and
1589 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1590 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1591
1592 /*
1593 * 0-76 bits used, remaining reserved
1594 * bits 0-15 and 32 should be set.
1595 */
1596 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1597
1598 /*
1599 * RX Highest Supported Data Rate defines the highest data
1600 * rate that the STA is able to receive, in unites of 1Mbps.
1601 * This value is derived from "Supported MCS Set field" inside
1602 * the HT capability element.
1603 */
1604 wpt_uint16 aRxHighestDataRate;
1605
Jeff Johnsone7245742012-09-05 17:12:55 -07001606
1607#ifdef WLAN_FEATURE_11AC
1608 /*Indicates the Maximum MCS that can be received for each number
1609 of spacial streams */
1610 wpt_uint16 vhtRxMCSMap;
1611 /*Indicate the highest VHT data rate that the STA is able to receive*/
1612 wpt_uint16 vhtRxHighestDataRate;
1613 /*Indicates the Maximum MCS that can be transmitted for each number
1614 of spacial streams */
1615 wpt_uint16 vhtTxMCSMap;
1616 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1617 wpt_uint16 vhtTxHighestDataRate;
1618#endif
1619
Jeff Johnson295189b2012-06-20 16:38:30 -07001620} WDI_SupportedRates;
1621
1622/*--------------------------------------------------------------------------
1623 WDI_HTMIMOPowerSaveState
1624 Spatial Multiplexing(SM) Power Save mode
1625 --------------------------------------------------------------------------*/
1626typedef enum
1627{
1628 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1629 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1630 WDI_HT_MIMO_PS_NA = 2, // reserved
1631 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1632} WDI_HTMIMOPowerSaveState;
1633
1634/*---------------------------------------------------------------------------
1635 WDI_ConfigStaReqInfoType
1636---------------------------------------------------------------------------*/
1637typedef struct
1638{
1639 /*BSSID of STA*/
1640 wpt_macAddr macBSSID;
1641
1642 /*ASSOC ID, as assigned by UMAC*/
1643 wpt_uint16 usAssocId;
1644
1645 /*Used for configuration of different HW modules.*/
1646 WDI_STAEntryType wdiSTAType;
1647
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001648 /*STA Index */
1649 wpt_uint8 staIdx;
1650
Jeff Johnson295189b2012-06-20 16:38:30 -07001651 /*Short Preamble Supported.*/
1652 wpt_uint8 ucShortPreambleSupported;
1653
1654 /*MAC Address of STA*/
1655 wpt_macAddr macSTA;
1656
1657 /*Listen interval of the STA*/
1658 wpt_uint16 usListenInterval;
1659
1660 /*Support for 11e/WMM*/
1661 wpt_uint8 ucWMMEnabled;
1662
1663 /*11n HT capable STA*/
1664 wpt_uint8 ucHTCapable;
1665
1666 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1667 wpt_uint8 ucTXChannelWidthSet;
1668
1669 /*RIFS mode 0 - NA, 1 - Allowed*/
1670 wpt_uint8 ucRIFSMode;
1671
1672 /*L-SIG TXOP Protection mechanism
1673 0 - No Support, 1 - Supported
1674 SG - there is global field*/
1675 wpt_uint8 ucLSIGTxopProtection;
1676
1677 /*Max Ampdu Size supported by STA. Device programming.
1678 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1679 wpt_uint8 ucMaxAmpduSize;
1680
1681 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1682 wpt_uint8 ucMaxAmpduDensity;
1683
1684 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1685 wpt_uint8 ucMaxAmsduSize;
1686
1687 /*Short GI support for 40Mhz packets*/
1688 wpt_uint8 ucShortGI40Mhz;
1689
1690 /*Short GI support for 20Mhz packets*/
1691 wpt_uint8 ucShortGI20Mhz;
1692
1693 /*These rates are the intersection of peer and self capabilities.*/
1694 WDI_SupportedRates wdiSupportedRates;
1695
1696 /*Robust Management Frame (RMF) enabled/disabled*/
1697 wpt_uint8 ucRMFEnabled;
1698
1699 /* The unicast encryption type in the association */
1700 wpt_uint32 ucEncryptType;
1701
1702 /*HAL should update the existing STA entry, if this flag is set. UMAC
1703 will set this flag in case of RE-ASSOC, where we want to reuse the old
1704 STA ID.*/
1705 WDI_ConfigActionType wdiAction;
1706
1707 /*U-APSD Flags: 1b per AC. Encoded as follows:
1708 b7 b6 b5 b4 b3 b2 b1 b0 =
1709 X X X X BE BK VI VO
1710 */
1711 wpt_uint8 ucAPSD;
1712
1713 /*Max SP Length*/
1714 wpt_uint8 ucMaxSPLen;
1715
1716 /*11n Green Field preamble support*/
1717 wpt_uint8 ucGreenFieldCapable;
1718
1719 /*MIMO Power Save mode*/
1720 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1721
1722 /*Delayed BA Support*/
1723 wpt_uint8 ucDelayedBASupport;
1724
1725 /*Max AMPDU duration in 32us*/
1726 wpt_uint8 us32MaxAmpduDuratio;
1727
1728 /*HT STA should set it to 1 if it is enabled in BSS
1729 HT STA should set it to 0 if AP does not support it. This indication is
1730 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1731 */
1732 wpt_uint8 ucDsssCckMode40Mhz;
1733
1734 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001735#ifdef WLAN_FEATURE_11AC
1736 wpt_uint8 ucVhtCapableSta;
1737 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001738 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301739 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001740#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001741
1742 wpt_uint8 ucHtLdpcEnabled;
1743 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001744}WDI_ConfigStaReqInfoType;
1745
1746
1747/*---------------------------------------------------------------------------
1748 WDI_RateSet
1749
1750 12 Bytes long because this structure can be used to represent rate
1751 and extended rate set IEs
1752 The parser assume this to be at least 12
1753---------------------------------------------------------------------------*/
1754#define WDI_RATESET_EID_MAX 12
1755
1756typedef struct
1757{
1758 wpt_uint8 ucNumRates;
1759 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1760} WDI_RateSet;
1761
1762/*---------------------------------------------------------------------------
1763 WDI_AciAifsnType
1764 access category record
1765---------------------------------------------------------------------------*/
1766typedef struct
1767{
1768 wpt_uint8 rsvd : 1;
1769 wpt_uint8 aci : 2;
1770 wpt_uint8 acm : 1;
1771 wpt_uint8 aifsn : 4;
1772} WDI_AciAifsnType;
1773
1774/*---------------------------------------------------------------------------
1775 WDI_CWType
1776 contention window size
1777---------------------------------------------------------------------------*/
1778typedef struct
1779{
1780 wpt_uint8 max : 4;
1781 wpt_uint8 min : 4;
1782} WDI_CWType;
1783
1784/*---------------------------------------------------------------------------
1785 WDI_EdcaParamRecord
1786---------------------------------------------------------------------------*/
1787typedef struct
1788{
1789 /*Access Category Record*/
1790 WDI_AciAifsnType wdiACI;
1791
1792 /*Contention WIndow Size*/
1793 WDI_CWType wdiCW;
1794
1795 /*TX Oportunity Limit*/
1796 wpt_uint16 usTXOPLimit;
1797} WDI_EdcaParamRecord;
1798
1799/*---------------------------------------------------------------------------
1800 WDI_EDCAParamsType
1801---------------------------------------------------------------------------*/
1802typedef struct
1803{
1804 /*BSS Index*/
1805 wpt_uint8 ucBSSIdx;
1806
1807 /*?*/
1808 wpt_boolean bHighPerformance;
1809
1810 /*Best Effort*/
1811 WDI_EdcaParamRecord wdiACBE;
1812
1813 /*Background*/
1814 WDI_EdcaParamRecord wdiACBK;
1815
1816 /*Video*/
1817 WDI_EdcaParamRecord wdiACVI;
1818
1819 /*Voice*/
1820 WDI_EdcaParamRecord acvo; // voice
1821} WDI_EDCAParamsType;
1822
1823/* operMode in ADD BSS message */
1824#define WDI_BSS_OPERATIONAL_MODE_AP 0
1825#define WDI_BSS_OPERATIONAL_MODE_STA 1
1826
1827/*---------------------------------------------------------------------------
1828 WDI_ConfigBSSRspParamsType
1829---------------------------------------------------------------------------*/
1830typedef struct
1831{
1832 /*Status of the response*/
1833 WDI_Status wdiStatus;
1834
1835 /*BSSID of the BSS*/
1836 wpt_macAddr macBSSID;
1837
1838 /*BSS Index*/
1839 wpt_uint8 ucBSSIdx;
1840
1841 /*Unicast DPU signature*/
1842 wpt_uint8 ucUcastSig;
1843
1844 /*Broadcast DPU Signature*/
1845 wpt_uint8 ucBcastSig;
1846
1847 /*MAC Address of STA*/
1848 wpt_macAddr macSTA;
1849
1850 /*BSS STA ID*/
1851 wpt_uint8 ucSTAIdx;
1852
1853#ifdef WLAN_FEATURE_VOWIFI
1854 /*HAL fills in the tx power used for mgmt frames in this field */
1855 wpt_int8 ucTxMgmtPower;
1856#endif
1857
1858}WDI_ConfigBSSRspParamsType;
1859
1860/*---------------------------------------------------------------------------
1861 WDI_DelBSSReqParamsType
1862---------------------------------------------------------------------------*/
1863typedef struct
1864{
1865 /*BSS Index of the BSS*/
1866 wpt_uint8 ucBssIdx;
1867
1868 /*Request status callback offered by UMAC - it is called if the current
1869 req has returned PENDING as status; it delivers the status of sending
1870 the message over the BUS */
1871 WDI_ReqStatusCb wdiReqStatusCB;
1872
1873 /*The user data passed in by UMAC, it will be sent back when the above
1874 function pointer will be called */
1875 void* pUserData;
1876}WDI_DelBSSReqParamsType;
1877
1878/*---------------------------------------------------------------------------
1879 WDI_DelBSSRspParamsType
1880---------------------------------------------------------------------------*/
1881typedef struct
1882{
1883 /*Status of the response*/
1884 WDI_Status wdiStatus;
1885
1886 /*BSSID of the BSS*/
1887 wpt_macAddr macBSSID;
1888
1889 wpt_uint8 ucBssIdx;
1890
1891}WDI_DelBSSRspParamsType;
1892
1893/*---------------------------------------------------------------------------
1894 WDI_ConfigSTARspParamsType
1895---------------------------------------------------------------------------*/
1896typedef struct
1897{
1898 /*Status of the response*/
1899 WDI_Status wdiStatus;
1900
1901 /*STA Idx allocated by HAL*/
1902 wpt_uint8 ucSTAIdx;
1903
1904 /*MAC Address of STA*/
1905 wpt_macAddr macSTA;
1906
1907 /* BSSID Index of BSS to which the station is associated */
1908 wpt_uint8 ucBssIdx;
1909
1910 /* DPU Index - PTK */
1911 wpt_uint8 ucDpuIndex;
1912
1913 /* Bcast DPU Index - GTK */
1914 wpt_uint8 ucBcastDpuIndex;
1915
1916 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1917 wpt_uint8 ucBcastMgmtDpuIdx;
1918
1919 /*Unicast DPU signature*/
1920 wpt_uint8 ucUcastSig;
1921
1922 /*Broadcast DPU Signature*/
1923 wpt_uint8 ucBcastSig;
1924
1925 /* IGTK DPU signature*/
1926 wpt_uint8 ucMgmtSig;
1927
1928}WDI_ConfigSTARspParamsType;
1929
1930/*---------------------------------------------------------------------------
1931 WDI_PostAssocRspParamsType
1932---------------------------------------------------------------------------*/
1933typedef struct
1934{
1935 /*Status of the response*/
1936 WDI_Status wdiStatus;
1937
1938 /*Parameters related to the BSS*/
1939 WDI_ConfigBSSRspParamsType bssParams;
1940
1941 /*Parameters related to the self STA*/
1942 WDI_ConfigSTARspParamsType staParams;
1943
1944}WDI_PostAssocRspParamsType;
1945
1946/*---------------------------------------------------------------------------
1947 WDI_DelSTAReqParamsType
1948---------------------------------------------------------------------------*/
1949typedef struct
1950{
1951 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1952 wpt_uint8 ucSTAIdx;
1953
1954 /*Request status callback offered by UMAC - it is called if the current
1955 req has returned PENDING as status; it delivers the status of sending
1956 the message over the BUS */
1957 WDI_ReqStatusCb wdiReqStatusCB;
1958
1959 /*The user data passed in by UMAC, it will be sent back when the above
1960 function pointer will be called */
1961 void* pUserData;
1962}WDI_DelSTAReqParamsType;
1963
1964/*---------------------------------------------------------------------------
1965 WDI_DelSTARspParamsType
1966---------------------------------------------------------------------------*/
1967typedef struct
1968{
1969 /*Status of the response*/
1970 WDI_Status wdiStatus;
1971
1972 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1973 wpt_uint8 ucSTAIdx;
1974}WDI_DelSTARspParamsType;
1975
1976/*---------------------------------------------------------------------------
1977 WDI_EncryptType
1978---------------------------------------------------------------------------*/
1979typedef enum
1980{
1981 WDI_ENCR_NONE,
1982 WDI_ENCR_WEP40,
1983 WDI_ENCR_WEP104,
1984 WDI_ENCR_TKIP,
1985 WDI_ENCR_CCMP,
1986#if defined(FEATURE_WLAN_WAPI)
1987 WDI_ENCR_WPI,
1988#endif
1989 WDI_ENCR_AES_128_CMAC
1990} WDI_EncryptType;
1991
1992/*---------------------------------------------------------------------------
1993 WDI_KeyDirectionType
1994---------------------------------------------------------------------------*/
1995typedef enum
1996{
1997 WDI_TX_ONLY,
1998 WDI_RX_ONLY,
1999 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002000 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002001 WDI_DONOT_USE_KEY_DIRECTION
2002} WDI_KeyDirectionType;
2003
2004#define WDI_MAX_ENCR_KEYS 4
2005#define WDI_MAX_KEY_LENGTH 32
2006#if defined(FEATURE_WLAN_WAPI)
2007#define WDI_MAX_KEY_RSC_LEN 16
2008#define WDI_WAPI_KEY_RSC_LEN 16
2009#else
2010#define WDI_MAX_KEY_RSC_LEN 8
2011#endif
2012
2013typedef struct
2014{
2015 /* Key ID */
2016 wpt_uint8 keyId;
2017 /* 0 for multicast */
2018 wpt_uint8 unicast;
2019 /* Key Direction */
2020 WDI_KeyDirectionType keyDirection;
2021 /* Usage is unknown */
2022 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2023 /* =1 for authenticator, =0 for supplicant */
2024 wpt_uint8 paeRole;
2025 wpt_uint16 keyLength;
2026 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2027
2028}WDI_KeysType;
2029
2030/*---------------------------------------------------------------------------
2031 WDI_SetBSSKeyReqInfoType
2032---------------------------------------------------------------------------*/
2033typedef struct
2034{
2035 /*BSS Index of the BSS*/
2036 wpt_uint8 ucBssIdx;
2037
2038 /*Encryption Type used with peer*/
2039 WDI_EncryptType wdiEncType;
2040
2041 /*Number of keys*/
2042 wpt_uint8 ucNumKeys;
2043
2044 /*Array of keys.*/
2045 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2046
2047 /*Control for Replay Count, 1= Single TID based replay count on Tx
2048 0 = Per TID based replay count on TX */
2049 wpt_uint8 ucSingleTidRc;
2050}WDI_SetBSSKeyReqInfoType;
2051
2052/*---------------------------------------------------------------------------
2053 WDI_SetBSSKeyReqParamsType
2054---------------------------------------------------------------------------*/
2055typedef struct
2056{
2057 /*Key Info */
2058 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2059
2060 /*Request status callback offered by UMAC - it is called if the current
2061 req has returned PENDING as status; it delivers the status of sending
2062 the message over the BUS */
2063 WDI_ReqStatusCb wdiReqStatusCB;
2064
2065 /*The user data passed in by UMAC, it will be sent back when the above
2066 function pointer will be called */
2067 void* pUserData;
2068}WDI_SetBSSKeyReqParamsType;
2069
2070/*---------------------------------------------------------------------------
2071 WDI_WepType
2072---------------------------------------------------------------------------*/
2073typedef enum
2074{
2075 WDI_WEP_STATIC,
2076 WDI_WEP_DYNAMIC
2077
2078} WDI_WepType;
2079
2080/*---------------------------------------------------------------------------
2081 WDI_RemoveBSSKeyReqInfoType
2082---------------------------------------------------------------------------*/
2083typedef struct
2084{
2085 /*BSS Index of the BSS*/
2086 wpt_uint8 ucBssIdx;
2087
2088 /*Encryption Type used with peer*/
2089 WDI_EncryptType wdiEncType;
2090
2091 /*Key Id*/
2092 wpt_uint8 ucKeyId;
2093
2094 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2095 keys*/
2096 WDI_WepType wdiWEPType;
2097}WDI_RemoveBSSKeyReqInfoType;
2098
2099/*---------------------------------------------------------------------------
2100 WDI_RemoveBSSKeyReqParamsType
2101---------------------------------------------------------------------------*/
2102typedef struct
2103{
2104 /*Key Info */
2105 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2106
2107 /*Request status callback offered by UMAC - it is called if the current
2108 req has returned PENDING as status; it delivers the status of sending
2109 the message over the BUS */
2110 WDI_ReqStatusCb wdiReqStatusCB;
2111
2112 /*The user data passed in by UMAC, it will be sent back when the above
2113 function pointer will be called */
2114 void* pUserData;
2115}WDI_RemoveBSSKeyReqParamsType;
2116
2117/*---------------------------------------------------------------------------
2118 WDI_SetSTAKeyReqInfoType
2119---------------------------------------------------------------------------*/
2120typedef struct
2121{
2122 /*STA Index*/
2123 wpt_uint8 ucSTAIdx;
2124
2125 /*Encryption Type used with peer*/
2126 WDI_EncryptType wdiEncType;
2127
2128 /*STATIC/DYNAMIC*/
2129 WDI_WepType wdiWEPType;
2130
2131 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2132 wpt_uint8 ucDefWEPIdx;
2133
2134 /*Number of keys*/
2135 wpt_uint8 ucNumKeys;
2136
2137 /*Array of keys.*/
2138 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2139
2140 /*Control for Replay Count, 1= Single TID based replay count on Tx
2141 0 = Per TID based replay count on TX */
2142 wpt_uint8 ucSingleTidRc;
2143}WDI_SetSTAKeyReqInfoType;
2144
2145/*---------------------------------------------------------------------------
2146 WDI_ConfigBSSReqInfoType
2147---------------------------------------------------------------------------*/
2148typedef struct
2149{
2150 /*Peer BSSID*/
2151 wpt_macAddr macBSSID;
2152
2153 /*Self MAC Address*/
2154 wpt_macAddr macSelfAddr;
2155
2156 /*BSS Type*/
2157 WDI_BssType wdiBSSType;
2158
2159 /*Operational Mode: AP =0, STA = 1*/
2160 wpt_uint8 ucOperMode;
2161
2162 /*Network Type*/
2163 WDI_NwType wdiNWType;
2164
2165 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2166 wpt_uint8 ucShortSlotTimeSupported;
2167
2168 /*Co-exist with 11a STA*/
2169 wpt_uint8 ucllaCoexist;
2170
2171 /*Co-exist with 11b STA*/
2172 wpt_uint8 ucllbCoexist;
2173
2174 /*Co-exist with 11g STA*/
2175 wpt_uint8 ucllgCoexist;
2176
2177 /*Coexistence with 11n STA*/
2178 wpt_uint8 ucHT20Coexist;
2179
2180 /*Non GF coexist flag*/
2181 wpt_uint8 ucllnNonGFCoexist;
2182
2183 /*TXOP protection support*/
2184 wpt_uint8 ucTXOPProtectionFullSupport;
2185
2186 /*RIFS mode*/
2187 wpt_uint8 ucRIFSMode;
2188
2189 /*Beacon Interval in TU*/
2190 wpt_uint16 usBeaconInterval;
2191
2192 /*DTIM period*/
2193 wpt_uint8 ucDTIMPeriod;
2194
2195 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2196 wpt_uint8 ucTXChannelWidthSet;
2197
2198 /*Operating channel*/
2199 wpt_uint8 ucCurrentOperChannel;
2200
2201 /*Extension channel for channel bonding*/
2202 wpt_uint8 ucCurrentExtChannel;
2203
2204 /*Context of the station being added in HW.*/
2205 WDI_ConfigStaReqInfoType wdiSTAContext;
2206
2207 /*SSID of the BSS*/
2208 WDI_MacSSid wdiSSID;
2209
2210 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2211 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2212 WDI_ConfigAction wdiAction;
2213
2214 /*Basic Rate Set*/
2215 WDI_RateSet wdiRateSet;
2216
2217 /*Enable/Disable HT capabilities of the BSS*/
2218 wpt_uint8 ucHTCapable;
2219
2220 /* Enable/Disable OBSS protection */
2221 wpt_uint8 ucObssProtEnabled;
2222
2223 /*RMF enabled/disabled*/
2224 wpt_uint8 ucRMFEnabled;
2225
2226 /*Determines the current HT Operating Mode operating mode of the
2227 802.11n STA*/
2228 WDI_HTOperatingMode wdiHTOperMod;
2229
2230 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2231 wpt_uint8 ucDualCTSProtection;
2232
2233 /* Probe Response Max retries */
2234 wpt_uint8 ucMaxProbeRespRetryLimit;
2235
2236 /* To Enable Hidden ssid */
2237 wpt_uint8 bHiddenSSIDEn;
2238
2239 /* To Enable Disable FW Proxy Probe Resp */
2240 wpt_uint8 bProxyProbeRespEn;
2241
2242 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2243 EDCA params or might not desire to apply EDCA params during config BSS.
2244 0 implies Not Valid ; Non-Zero implies valid*/
2245 wpt_uint8 ucEDCAParamsValid;
2246
2247 /*EDCA Parameters for BK*/
2248 WDI_EdcaParamRecord wdiBKEDCAParams;
2249
2250 /*EDCA Parameters for BE*/
2251 WDI_EdcaParamRecord wdiBEEDCAParams;
2252
2253 /*EDCA Parameters for VI*/
2254 WDI_EdcaParamRecord wdiVIEDCAParams;
2255
2256 /*EDCA Parameters for VO*/
2257 WDI_EdcaParamRecord wdiVOEDCAParams;
2258
2259#ifdef WLAN_FEATURE_VOWIFI
2260 /*max power to be used after applying the power constraint, if any */
2261 wpt_int8 cMaxTxPower;
2262#endif
2263
2264 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2265 wpt_uint8 ucPersona;
2266
2267 /* Spectrum Mangement Indicator */
2268 wpt_uint8 bSpectrumMgtEn;
2269
2270#ifdef WLAN_FEATURE_VOWIFI_11R
2271 wpt_uint8 bExtSetStaKeyParamValid;
2272 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2273#endif
2274
Jeff Johnsone7245742012-09-05 17:12:55 -07002275#ifdef WLAN_FEATURE_11AC
2276 wpt_uint8 ucVhtCapableSta;
2277 wpt_uint8 ucVhtTxChannelWidthSet;
2278#endif
2279
Jeff Johnson295189b2012-06-20 16:38:30 -07002280}WDI_ConfigBSSReqInfoType;
2281
2282/*---------------------------------------------------------------------------
2283 WDI_PostAssocReqParamsType
2284---------------------------------------------------------------------------*/
2285typedef struct
2286{
2287 /*Config STA arguments.*/
2288 WDI_ConfigStaReqInfoType wdiSTAParams;
2289
2290 /*Config BSS Arguments*/
2291 WDI_ConfigBSSReqInfoType wdiBSSParams;
2292
2293 /*Request status callback offered by UMAC - it is called if the current
2294 req has returned PENDING as status; it delivers the status of sending
2295 the message over the BUS */
2296 WDI_ReqStatusCb wdiReqStatusCB;
2297
2298 /*The user data passed in by UMAC, it will be sent back when the above
2299 function pointer will be called */
2300 void* pUserData;
2301}WDI_PostAssocReqParamsType;
2302
2303/*---------------------------------------------------------------------------
2304 WDI_ConfigBSSReqParamsType
2305---------------------------------------------------------------------------*/
2306typedef struct
2307{
2308 /*Info for the Join request that will be sent down to the device*/
2309 WDI_ConfigBSSReqInfoType wdiReqInfo;
2310
2311 /*Request status callback offered by UMAC - it is called if the current
2312 req has returned PENDING as status; it delivers the status of sending
2313 the message over the BUS */
2314 WDI_ReqStatusCb wdiReqStatusCB;
2315
2316 /*The user data passed in by UMAC, it will be sent back when the above
2317 function pointer will be called */
2318 void* pUserData;
2319}WDI_ConfigBSSReqParamsType;
2320
2321/*---------------------------------------------------------------------------
2322 WDI_SetSTAKeyReqParamsType
2323---------------------------------------------------------------------------*/
2324typedef struct
2325{
2326 /*Key Info*/
2327 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2328
2329 /*Request status callback offered by UMAC - it is called if the current
2330 req has returned PENDING as status; it delivers the status of sending
2331 the message over the BUS */
2332 WDI_ReqStatusCb wdiReqStatusCB;
2333
2334 /*The user data passed in by UMAC, it will be sent back when the above
2335 function pointer will be called */
2336 void* pUserData;
2337}WDI_SetSTAKeyReqParamsType;
2338
2339/*---------------------------------------------------------------------------
2340 WDI_RemoveSTAKeyReqInfoType
2341---------------------------------------------------------------------------*/
2342typedef struct
2343{
2344 /*STA Index*/
2345 wpt_uint8 ucSTAIdx;
2346
2347 /*Encryption Type used with peer*/
2348 WDI_EncryptType wdiEncType;
2349
2350 /*Key Id*/
2351 wpt_uint8 ucKeyId;
2352
2353 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2354 the same key is used for both broadcast and unicast.*/
2355 wpt_uint8 ucUnicast;
2356}WDI_RemoveSTAKeyReqInfoType;
2357
2358/*---------------------------------------------------------------------------
2359 WDI_RemoveSTAKeyReqParamsType
2360---------------------------------------------------------------------------*/
2361typedef struct
2362{
2363 /*Key Info */
2364 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2365
2366 /*Request status callback offered by UMAC - it is called if the current
2367 req has returned PENDING as status; it delivers the status of sending
2368 the message over the BUS */
2369 WDI_ReqStatusCb wdiReqStatusCB;
2370
2371 /*The user data passed in by UMAC, it will be sent back when the above
2372 function pointer will be called */
2373 void* pUserData;
2374}WDI_RemoveSTAKeyReqParamsType;
2375
2376/*---------------------------------------------------------------------------
2377 QOS Parameters
2378---------------------------------------------------------------------------*/
2379
2380/*---------------------------------------------------------------------------
2381 WDI_TSInfoTfc
2382---------------------------------------------------------------------------*/
2383typedef struct
2384{
2385 wpt_uint16 ackPolicy:2;
2386 wpt_uint16 userPrio:3;
2387 wpt_uint16 psb:1;
2388 wpt_uint16 aggregation : 1;
2389 wpt_uint16 accessPolicy : 2;
2390 wpt_uint16 direction : 2;
2391 wpt_uint16 tsid : 4;
2392 wpt_uint16 trafficType : 1;
2393} WDI_TSInfoTfc;
2394
2395/*---------------------------------------------------------------------------
2396 WDI_TSInfoSch
2397---------------------------------------------------------------------------*/
2398typedef struct
2399{
2400 wpt_uint8 rsvd : 7;
2401 wpt_uint8 schedule : 1;
2402} WDI_TSInfoSch;
2403
2404/*---------------------------------------------------------------------------
2405 WDI_TSInfoType
2406---------------------------------------------------------------------------*/
2407typedef struct
2408{
2409 WDI_TSInfoTfc wdiTraffic;
2410 WDI_TSInfoSch wdiSchedule;
2411} WDI_TSInfoType;
2412
2413/*---------------------------------------------------------------------------
2414 WDI_TspecIEType
2415---------------------------------------------------------------------------*/
2416typedef struct
2417{
2418 wpt_uint8 ucType;
2419 wpt_uint8 ucLength;
2420 WDI_TSInfoType wdiTSinfo;
2421 wpt_uint16 usNomMsduSz;
2422 wpt_uint16 usMaxMsduSz;
2423 wpt_uint32 uMinSvcInterval;
2424 wpt_uint32 uMaxSvcInterval;
2425 wpt_uint32 uInactInterval;
2426 wpt_uint32 uSuspendInterval;
2427 wpt_uint32 uSvcStartTime;
2428 wpt_uint32 uMinDataRate;
2429 wpt_uint32 uMeanDataRate;
2430 wpt_uint32 uPeakDataRate;
2431 wpt_uint32 uMaxBurstSz;
2432 wpt_uint32 uDelayBound;
2433 wpt_uint32 uMinPhyRate;
2434 wpt_uint16 usSurplusBw;
2435 wpt_uint16 usMediumTime;
2436}WDI_TspecIEType;
2437
2438/*---------------------------------------------------------------------------
2439 WDI_AddTSReqInfoType
2440---------------------------------------------------------------------------*/
2441typedef struct
2442{
2443 /*STA Index*/
2444 wpt_uint8 ucSTAIdx;
2445
2446 /*Identifier for TSpec*/
2447 wpt_uint16 ucTspecIdx;
2448
2449 /*Tspec IE negotiated OTA*/
2450 WDI_TspecIEType wdiTspecIE;
2451
2452 /*UAPSD delivery and trigger enabled flags */
2453 wpt_uint8 ucUapsdFlags;
2454
2455 /*SI for each AC*/
2456 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2457
2458 /*Suspend Interval for each AC*/
2459 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2460
2461 /*DI for each AC*/
2462 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2463
2464}WDI_AddTSReqInfoType;
2465
2466
2467/*---------------------------------------------------------------------------
2468 WDI_AddTSReqParamsType
2469---------------------------------------------------------------------------*/
2470typedef struct
2471{
2472 /*TSpec Info */
2473 WDI_AddTSReqInfoType wdiTsInfo;
2474
2475 /*Request status callback offered by UMAC - it is called if the current
2476 req has returned PENDING as status; it delivers the status of sending
2477 the message over the BUS */
2478 WDI_ReqStatusCb wdiReqStatusCB;
2479
2480 /*The user data passed in by UMAC, it will be sent back when the above
2481 function pointer will be called */
2482 void* pUserData;
2483}WDI_AddTSReqParamsType;
2484
2485/*---------------------------------------------------------------------------
2486 WDI_DelTSReqInfoType
2487---------------------------------------------------------------------------*/
2488typedef struct
2489{
2490 /*STA Index*/
2491 wpt_uint8 ucSTAIdx;
2492
2493 /*Identifier for TSpec*/
2494 wpt_uint16 ucTspecIdx;
2495
2496 /*BSSID of the BSS*/
2497 wpt_macAddr macBSSID;
2498}WDI_DelTSReqInfoType;
2499
2500/*---------------------------------------------------------------------------
2501 WDI_DelTSReqParamsType
2502---------------------------------------------------------------------------*/
2503typedef struct
2504{
2505 /*Del TSpec Info*/
2506 WDI_DelTSReqInfoType wdiDelTSInfo;
2507
2508 /*Request status callback offered by UMAC - it is called if the current
2509 req has returned PENDING as status; it delivers the status of sending
2510 the message over the BUS */
2511 WDI_ReqStatusCb wdiReqStatusCB;
2512
2513 /*The user data passed in by UMAC, it will be sent back when the above
2514 function pointer will be called */
2515 void* pUserData;
2516}WDI_DelTSReqParamsType;
2517
2518/*---------------------------------------------------------------------------
2519 WDI_UpdateEDCAInfoType
2520---------------------------------------------------------------------------*/
2521typedef struct
2522{
krunal soni0b366c02013-07-17 19:55:57 -07002523 /*BSS Index of the BSS*/
2524 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002525
Jeff Johnson295189b2012-06-20 16:38:30 -07002526 /*EDCA params for BE*/
2527 WDI_EdcaParamRecord wdiEdcaBEInfo;
2528
2529 /*EDCA params for BK*/
2530 WDI_EdcaParamRecord wdiEdcaBKInfo;
2531
2532 /*EDCA params for VI*/
2533 WDI_EdcaParamRecord wdiEdcaVIInfo;
2534
2535 /*EDCA params for VO*/
2536 WDI_EdcaParamRecord wdiEdcaVOInfo;
2537
2538}WDI_UpdateEDCAInfoType;
2539
2540/*---------------------------------------------------------------------------
2541 WDI_UpdateEDCAParamsType
2542---------------------------------------------------------------------------*/
2543typedef struct
2544{
2545 /*EDCA Info */
2546 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2547
2548 /*Request status callback offered by UMAC - it is called if the current
2549 req has returned PENDING as status; it delivers the status of sending
2550 the message over the BUS */
2551 WDI_ReqStatusCb wdiReqStatusCB;
2552
2553 /*The user data passed in by UMAC, it will be sent back when the above
2554 function pointer will be called */
2555 void* pUserData;
2556}WDI_UpdateEDCAParamsType;
2557
2558/*---------------------------------------------------------------------------
2559 WDI_AddBASessionReqinfoType
2560---------------------------------------------------------------------------*/
2561typedef struct
2562{
2563 /*Indicates the station for which BA is added..*/
2564 wpt_uint8 ucSTAIdx;
2565
2566 /*The peer mac address*/
2567 wpt_macAddr macPeerAddr;
2568
2569 /*TID for which BA was negotiated*/
2570 wpt_uint8 ucBaTID;
2571
2572 /*Delayed or imediate */
2573 wpt_uint8 ucBaPolicy;
2574
2575 /*The number of buffers for this TID (baTID)*/
2576 wpt_uint16 usBaBufferSize;
2577
2578 /*BA timeout in TU's*/
2579 wpt_uint16 usBaTimeout;
2580
2581 /*b0..b3 - Fragment Number - Always set to 0
2582 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2583 wpt_uint16 usBaSSN;
2584
2585 /*Originator/Recipient*/
2586 wpt_uint8 ucBaDirection;
2587
2588}WDI_AddBASessionReqinfoType;
2589
2590
2591/*---------------------------------------------------------------------------
2592 WDI_AddBASessionReqParamsType
2593---------------------------------------------------------------------------*/
2594typedef struct
2595{
2596 /*BA Session Info Type*/
2597 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2598
2599 /*Request status callback offered by UMAC - it is called if the current
2600 req has returned PENDING as status; it delivers the status of sending
2601 the message over the BUS */
2602 WDI_ReqStatusCb wdiReqStatusCB;
2603
2604 /*The user data passed in by UMAC, it will be sent back when the above
2605 function pointer will be called */
2606 void* pUserData;
2607}WDI_AddBASessionReqParamsType;
2608
2609/*---------------------------------------------------------------------------
2610 WDI_AddBASessionRspParamsType
2611---------------------------------------------------------------------------*/
2612typedef struct
2613{
2614 /*Status of the response*/
2615 WDI_Status wdiStatus;
2616
2617 /* Dialog token */
2618 wpt_uint8 ucBaDialogToken;
2619
2620 /* TID for which the BA session has been setup */
2621 wpt_uint8 ucBaTID;
2622
2623 /* BA Buffer Size allocated for the current BA session */
2624 wpt_uint8 ucBaBufferSize;
2625
2626 /* BA session ID */
2627 wpt_uint16 usBaSessionID;
2628
2629 /* Reordering Window buffer */
2630 wpt_uint8 ucWinSize;
2631
2632 /*Station Index to id the sta */
2633 wpt_uint8 ucSTAIdx;
2634
2635 /* Starting Sequence Number */
2636 wpt_uint16 usBaSSN;
2637
2638}WDI_AddBASessionRspParamsType;
2639
2640/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302641 WDI_SpoofMacAddrRspParamType
2642---------------------------------------------------------------------------*/
2643typedef struct
2644{
2645 /* wdi status */
2646 wpt_uint32 wdiStatus;
2647
2648 /* Reserved Field */
2649 wpt_uint32 reserved;
2650
2651}WDI_SpoofMacAddrRspParamType;
2652/*---------------------------------------------------------------------------
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302653 WDI_MgmtLoggingRspParamType
2654---------------------------------------------------------------------------*/
2655typedef struct
2656{
2657 /* wdi status */
2658 wpt_uint32 wdiStatus;
2659
2660}WDI_MgmtLoggingRspParamType;
2661/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002662 WDI_AddBAReqinfoType
2663---------------------------------------------------------------------------*/
2664typedef struct
2665{
2666 /*Indicates the station for which BA is added..*/
2667 wpt_uint8 ucSTAIdx;
2668
2669 /* Session Id */
2670 wpt_uint8 ucBaSessionID;
2671
2672 /* Reorder Window Size */
2673 wpt_uint8 ucWinSize;
2674
2675#ifdef FEATURE_ON_CHIP_REORDERING
2676 wpt_boolean bIsReorderingDoneOnChip;
2677#endif
2678
2679}WDI_AddBAReqinfoType;
2680
2681
2682/*---------------------------------------------------------------------------
2683 WDI_AddBAReqParamsType
2684---------------------------------------------------------------------------*/
2685typedef struct
2686{
2687 /*BA Info Type*/
2688 WDI_AddBAReqinfoType wdiBAInfoType;
2689
2690 /*Request status callback offered by UMAC - it is called if the current
2691 req has returned PENDING as status; it delivers the status of sending
2692 the message over the BUS */
2693 WDI_ReqStatusCb wdiReqStatusCB;
2694
2695 /*The user data passed in by UMAC, it will be sent back when the above
2696 function pointer will be called */
2697 void* pUserData;
2698}WDI_AddBAReqParamsType;
2699
2700
2701/*---------------------------------------------------------------------------
2702 WDI_AddBARspinfoType
2703---------------------------------------------------------------------------*/
2704typedef struct
2705{
2706 /*Status of the response*/
2707 WDI_Status wdiStatus;
2708
2709 /* Dialog token */
2710 wpt_uint8 ucBaDialogToken;
2711
2712}WDI_AddBARspinfoType;
2713
2714/*---------------------------------------------------------------------------
2715 WDI_TriggerBAReqCandidateType
2716---------------------------------------------------------------------------*/
2717typedef struct
2718{
2719 /* STA index */
2720 wpt_uint8 ucSTAIdx;
2721
2722 /* TID bit map for the STA's*/
2723 wpt_uint8 ucTidBitmap;
2724
2725}WDI_TriggerBAReqCandidateType;
2726
2727
2728/*---------------------------------------------------------------------------
2729 WDI_TriggerBAReqinfoType
2730---------------------------------------------------------------------------*/
2731typedef struct
2732{
2733 /*Indicates the station for which BA is added..*/
2734 wpt_uint8 ucSTAIdx;
2735
2736 /* Session Id */
2737 wpt_uint8 ucBASessionID;
2738
2739 /* Trigger BA Request candidate count */
2740 wpt_uint16 usBACandidateCnt;
2741
2742 /* WDI_TriggerBAReqCandidateType followed by this*/
2743
2744}WDI_TriggerBAReqinfoType;
2745
2746
2747/*---------------------------------------------------------------------------
2748 WDI_TriggerBAReqParamsType
2749---------------------------------------------------------------------------*/
2750typedef struct
2751{
2752 /*BA Trigger Info Type*/
2753 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2754
2755 /*Request status callback offered by UMAC - it is called if the current
2756 req has returned PENDING as status; it delivers the status of sending
2757 the message over the BUS */
2758 WDI_ReqStatusCb wdiReqStatusCB;
2759
2760 /*The user data passed in by UMAC, it will be sent back when the above
2761 function pointer will be called */
2762 void* pUserData;
2763}WDI_TriggerBAReqParamsType;
2764
2765/*---------------------------------------------------------------------------
2766 WDI_AddBAInfoType
2767---------------------------------------------------------------------------*/
2768typedef struct
2769{
2770 wpt_uint16 fBaEnable : 1;
2771 wpt_uint16 startingSeqNum: 12;
2772 wpt_uint16 reserved : 3;
2773}WDI_AddBAInfoType;
2774
2775/*---------------------------------------------------------------------------
2776 WDI_TriggerBARspCandidateType
2777---------------------------------------------------------------------------*/
2778#define STA_MAX_TC 8
2779
2780typedef struct
2781{
2782 /* STA index */
2783 wpt_macAddr macSTA;
2784
2785 /* BA Info */
2786 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2787}WDI_TriggerBARspCandidateType;
2788
2789/*---------------------------------------------------------------------------
2790 WDI_TriggerBARspParamsType
2791---------------------------------------------------------------------------*/
2792typedef struct
2793{
2794 /*Status of the response*/
2795 WDI_Status wdiStatus;
2796
2797 /*BSSID of the BSS*/
2798 wpt_macAddr macBSSID;
2799
2800 /* Trigger BA response candidate count */
2801 wpt_uint16 usBaCandidateCnt;
2802
2803 /* WDI_TriggerBARspCandidateType followed by this*/
2804
2805}WDI_TriggerBARspParamsType;
2806
2807/*---------------------------------------------------------------------------
2808 WDI_DelBAReqinfoType
2809---------------------------------------------------------------------------*/
2810typedef struct
2811{
2812 /*Indicates the station for which BA is added..*/
2813 wpt_uint8 ucSTAIdx;
2814
2815 /*TID for which BA was negotiated*/
2816 wpt_uint8 ucBaTID;
2817
2818 /*Originator/Recipient*/
2819 wpt_uint8 ucBaDirection;
2820
2821}WDI_DelBAReqinfoType;
2822
2823/*---------------------------------------------------------------------------
2824 WDI_DelBAReqParamsType
2825---------------------------------------------------------------------------*/
2826typedef struct
2827{
2828 /*BA Info */
2829 WDI_DelBAReqinfoType wdiBAInfo;
2830
2831 /*Request status callback offered by UMAC - it is called if the current
2832 req has returned PENDING as status; it delivers the status of sending
2833 the message over the BUS */
2834 WDI_ReqStatusCb wdiReqStatusCB;
2835
2836 /*The user data passed in by UMAC, it will be sent back when the above
2837 function pointer will be called */
2838 void* pUserData;
2839}WDI_DelBAReqParamsType;
2840
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002841/*---------------------------------------------------------------------------
2842 WDI_UpdateChannelReqinfoType
2843---------------------------------------------------------------------------*/
2844typedef struct
2845{
2846 /** primary 20 MHz channel frequency in mhz */
2847 wpt_uint32 mhz;
2848 /** Center frequency 1 in MHz*/
2849 wpt_uint32 band_center_freq1;
2850 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2851 wpt_uint32 band_center_freq2;
2852 /* The first 26 bits are a bit mask to indicate any channel flags,
2853 (see WLAN_HAL_CHAN_FLAG*)
2854 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2855 wpt_uint32 channel_info;
2856 /** contains min power, max power, reg power and reg class id. */
2857 wpt_uint32 reg_info_1;
2858 /** contains antennamax */
2859 wpt_uint32 reg_info_2;
2860}WDI_UpdateChannelReqinfoType;
2861
2862typedef struct
2863{
2864 wpt_uint8 numchan;
2865 WDI_UpdateChannelReqinfoType *pchanParam;
2866}WDI_UpdateChannelReqType;
2867/*---------------------------------------------------------------------------
2868 WDI_UpdateChReqParamsType
2869---------------------------------------------------------------------------*/
2870typedef struct
2871{
2872 /*BA Info */
2873 WDI_UpdateChannelReqType wdiUpdateChanParams;
2874
2875 /*Request status callback offered by UMAC - it is called if the current
2876 req has returned PENDING as status; it delivers the status of sending
2877 the message over the BUS */
2878 WDI_ReqStatusCb wdiReqStatusCB;
2879
2880 /*The user data passed in by UMAC, it will be sent back when the above
2881 function pointer will be called */
2882 void* pUserData;
2883}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002884
2885/*---------------------------------------------------------------------------
2886 WDI_SwitchCHRspParamsType
2887---------------------------------------------------------------------------*/
2888typedef struct
2889{
2890 /*Status of the response*/
2891 WDI_Status wdiStatus;
2892
2893 /*Indicates the channel that WLAN is on*/
2894 wpt_uint8 ucChannel;
2895
2896#ifdef WLAN_FEATURE_VOWIFI
2897 /*HAL fills in the tx power used for mgmt frames in this field.*/
2898 wpt_int8 ucTxMgmtPower;
2899#endif
2900
2901}WDI_SwitchCHRspParamsType;
2902
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002903/*--------------------------------------------------------------------
2904 WDI_SwitchChRspParamsType_V1
2905--------------------------------------------------------------------*/
2906typedef struct
2907{
2908 /*Status of the response*/
2909 WDI_Status wdiStatus;
2910
2911 /*Indicates the channel that WLAN is on*/
2912 wpt_uint8 ucChannel;
2913
2914#ifdef WLAN_FEATURE_VOWIFI
2915 /*HAL fills in the tx power used for mgmt frames in this field.*/
2916 wpt_int8 ucTxMgmtPower;
2917#endif
2918
2919 /* Source of Channel Switch */
2920 WDI_ChanSwitchSource channelSwitchSrc;
2921}WDI_SwitchChRspParamsType_V1;
2922
Jeff Johnson295189b2012-06-20 16:38:30 -07002923/*---------------------------------------------------------------------------
2924 WDI_ConfigSTAReqParamsType
2925---------------------------------------------------------------------------*/
2926typedef struct
2927{
2928 /*Info for the Join request that will be sent down to the device*/
2929 WDI_ConfigStaReqInfoType wdiReqInfo;
2930
2931 /*Request status callback offered by UMAC - it is called if the current
2932 req has returned PENDING as status; it delivers the status of sending
2933 the message over the BUS */
2934 WDI_ReqStatusCb wdiReqStatusCB;
2935
2936 /*The user data passed in by UMAC, it will be sent back when the above
2937 function pointer will be called */
2938 void* pUserData;
2939}WDI_ConfigSTAReqParamsType;
2940
2941
2942/*---------------------------------------------------------------------------
2943 WDI_UpdateBeaconParamsInfoType
2944---------------------------------------------------------------------------*/
2945
2946typedef struct
2947{
2948 /*BSS Index of the BSS*/
2949 wpt_uint8 ucBssIdx;
2950
2951 /*shortPreamble mode. HAL should update all the STA rates when it
2952 receives this message*/
2953 wpt_uint8 ucfShortPreamble;
2954 /* short Slot time.*/
2955 wpt_uint8 ucfShortSlotTime;
2956 /* Beacon Interval */
2957 wpt_uint16 usBeaconInterval;
2958 /*Protection related */
2959 wpt_uint8 ucllaCoexist;
2960 wpt_uint8 ucllbCoexist;
2961 wpt_uint8 ucllgCoexist;
2962 wpt_uint8 ucHt20MhzCoexist;
2963 wpt_uint8 ucllnNonGFCoexist;
2964 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2965 wpt_uint8 ucfRIFSMode;
2966
2967 wpt_uint16 usChangeBitmap;
2968}WDI_UpdateBeaconParamsInfoType;
2969
Mohit Khanna4a70d262012-09-11 16:30:12 -07002970#ifdef WLAN_FEATURE_11AC
2971typedef struct
2972{
2973 wpt_uint16 opMode;
2974 wpt_uint16 staId;
2975}WDI_UpdateVHTOpMode;
2976#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002977
2978/*---------------------------------------------------------------------------
2979 WDI_UpdateBeaconParamsType
2980---------------------------------------------------------------------------*/
2981typedef struct
2982{
2983 /*Update Beacon Params Info*/
2984 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2985
2986 /*Request status callback offered by UMAC - it is called if the current
2987 req has returned PENDING as status; it delivers the status of sending
2988 the message over the BUS */
2989 WDI_ReqStatusCb wdiReqStatusCB;
2990
2991 /*The user data passed in by UMAC, it will be sent back when the above
2992 function pointer will be called */
2993 void* pUserData;
2994}WDI_UpdateBeaconParamsType;
2995
2996/*---------------------------------------------------------------------------
2997 WDI_SendBeaconParamsInfoType
2998---------------------------------------------------------------------------*/
2999
3000typedef struct {
3001
3002 /*BSSID of the BSS*/
3003 wpt_macAddr macBSSID;
3004
3005 /* Beacon data */
3006 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3007
3008 /* length of the template */
3009 wpt_uint32 beaconLength;
3010
Jeff Johnson295189b2012-06-20 16:38:30 -07003011 /* TIM IE offset from the beginning of the template.*/
3012 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003013
Jeff Johnson295189b2012-06-20 16:38:30 -07003014 /* P2P IE offset from the beginning of the template */
3015 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003016} WDI_SendBeaconParamsInfoType;
3017
3018/*---------------------------------------------------------------------------
3019 WDI_SendBeaconParamsType
3020---------------------------------------------------------------------------*/
3021typedef struct
3022{
3023 /*Send Beacon Params Info*/
3024 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3025
3026 /*Request status callback offered by UMAC - it is called if the current
3027 req has returned PENDING as status; it delivers the status of sending
3028 the message over the BUS */
3029 WDI_ReqStatusCb wdiReqStatusCB;
3030
3031 /*The user data passed in by UMAC, it will be sent back when the above
3032 function pointer will be called */
3033 void* pUserData;
3034}WDI_SendBeaconParamsType;
3035
3036/*---------------------------------------------------------------------------
3037 WDI_LinkStateType
3038---------------------------------------------------------------------------*/
3039typedef enum
3040{
3041 WDI_LINK_IDLE_STATE = 0,
3042 WDI_LINK_PREASSOC_STATE = 1,
3043 WDI_LINK_POSTASSOC_STATE = 2,
3044 WDI_LINK_AP_STATE = 3,
3045 WDI_LINK_IBSS_STATE = 4,
3046
3047 // BT-AMP Case
3048 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3049 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3050 WDI_LINK_BTAMP_AP_STATE = 7,
3051 WDI_LINK_BTAMP_STA_STATE = 8,
3052
3053 // Reserved for HAL internal use
3054 WDI_LINK_LEARN_STATE = 9,
3055 WDI_LINK_SCAN_STATE = 10,
3056 WDI_LINK_FINISH_SCAN_STATE = 11,
3057 WDI_LINK_INIT_CAL_STATE = 12,
3058 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003059 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303060 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003061 WDI_LINK_MAX = 0x7FFFFFFF
3062} WDI_LinkStateType;
3063
3064/*---------------------------------------------------------------------------
3065 WDI_SetLinkReqInfoType
3066---------------------------------------------------------------------------*/
3067typedef struct
3068{
3069 /*BSSID of the BSS*/
3070 wpt_macAddr macBSSID;
3071
3072 /*Link state*/
3073 WDI_LinkStateType wdiLinkState;
3074
3075 /*BSSID of the BSS*/
3076 wpt_macAddr macSelfStaMacAddr;
3077}WDI_SetLinkReqInfoType;
3078
3079/*---------------------------------------------------------------------------
3080 WDI_SetLinkReqParamsType
3081---------------------------------------------------------------------------*/
3082typedef struct
3083{
3084 /*Link Info*/
3085 WDI_SetLinkReqInfoType wdiLinkInfo;
3086
3087 /*Request status callback offered by UMAC - it is called if the current
3088 req has returned PENDING as status; it delivers the status of sending
3089 the message over the BUS */
3090 WDI_ReqStatusCb wdiReqStatusCB;
3091
3092 /*The user data passed in by UMAC, it will be sent back when the above
3093 function pointer will be called */
3094 void* pUserData;
3095}WDI_SetLinkReqParamsType;
3096
3097/*---------------------------------------------------------------------------
3098 WDI_GetStatsParamsInfoType
3099---------------------------------------------------------------------------*/
3100typedef struct
3101{
3102 /*Indicates the station for which Get Stats are requested..*/
3103 wpt_uint8 ucSTAIdx;
3104
3105 /* categories of stats requested */
3106 wpt_uint32 uStatsMask;
3107}WDI_GetStatsParamsInfoType;
3108
3109/*---------------------------------------------------------------------------
3110 WDI_GetStatsReqParamsType
3111---------------------------------------------------------------------------*/
3112typedef struct
3113{
3114 /*Get Stats Params Info*/
3115 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3116
3117 /*Request status callback offered by UMAC - it is called if the current
3118 req has returned PENDING as status; it delivers the status of sending
3119 the message over the BUS */
3120 WDI_ReqStatusCb wdiReqStatusCB;
3121
3122 /*The user data passed in by UMAC, it will be sent back when the above
3123 function pointer will be called */
3124 void* pUserData;
3125}WDI_GetStatsReqParamsType;
3126
3127/*---------------------------------------------------------------------------
3128 WDI_GetStatsRspParamsType
3129---------------------------------------------------------------------------*/
3130typedef struct
3131{
3132 /*message type is same as the request type*/
3133 wpt_uint16 usMsgType;
3134
3135 /* length of the entire request, includes the pStatsBuf length too*/
3136 wpt_uint16 usMsgLen;
3137
3138 /*Result of the operation*/
3139 WDI_Status wdiStatus;
3140
3141 /*Indicates the station for which Get Stats are requested..*/
3142 wpt_uint8 ucSTAIdx;
3143
3144 /* categories of stats requested */
3145 wpt_uint32 uStatsMask;
3146
3147 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3148 * structure depending on statsMask.*/
3149}WDI_GetStatsRspParamsType;
3150
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003151#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003152/*---------------------------------------------------------------------------
3153 WDI_GetRoamRssiParamsInfoType
3154---------------------------------------------------------------------------*/
3155typedef struct
3156{
3157 /*Indicates the station for which Get Stats are requested..*/
3158 wpt_uint8 ucSTAIdx;
3159
3160 /* categories of stats requested */
3161 wpt_uint32 uStatsMask;
3162}WDI_GetRoamRssiParamsInfoType;
3163
3164/*---------------------------------------------------------------------------
3165 WDI_GetRoamRssiReqParamsType
3166---------------------------------------------------------------------------*/
3167typedef struct
3168{
3169 /*Get Roam Rssi Params Info*/
3170 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3171
3172 /*Request status callback offered by UMAC - it is called if the current
3173 req has returned PENDING as status; it delivers the status of sending
3174 the message over the BUS */
3175 WDI_ReqStatusCb wdiReqStatusCB;
3176
3177 /*The user data passed in by UMAC, it will be sent back when the above
3178 function pointer will be called */
3179 void* pUserData;
3180}WDI_GetRoamRssiReqParamsType;
3181
3182/*---------------------------------------------------------------------------
3183 WDI_GetRoamRssiRspParamsType
3184---------------------------------------------------------------------------*/
3185typedef struct
3186{
3187 /*Result of the operation*/
3188 WDI_Status wdiStatus;
3189
3190 /*Indicates the station for which Get Stats are requested..*/
3191 wpt_uint8 ucSTAIdx;
3192
3193 /* roam rssi requested */
3194 wpt_int8 rssi;
3195
3196 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3197 * structure depending on statsMask.*/
3198}WDI_GetRoamRssiRspParamsType;
3199#endif
3200
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003201#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003202/*---------------------------------------------------------------------------
3203 WDI_TSMStatsParamsInfoType
3204---------------------------------------------------------------------------*/
3205typedef struct
3206{
3207 /*Indicates the station for which Get Stats are requested..*/
3208 wpt_uint8 ucTid;
3209
3210 wpt_macAddr bssid;
3211}WDI_TSMStatsParamsInfoType;
3212
3213/*---------------------------------------------------------------------------
3214 WDI_TSMStatsReqParamsType
3215---------------------------------------------------------------------------*/
3216typedef struct
3217{
3218 /*Get TSM Stats Params Info*/
3219 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3220
3221 WDI_ReqStatusCb wdiReqStatusCB;
3222
3223 /*The user data passed in by UMAC, it will be sent back when the above
3224 function pointer will be called */
3225 void* pUserData;
3226
3227}WDI_TSMStatsReqParamsType;
3228
3229
3230/*---------------------------------------------------------------------------
3231 WDI_TSMStatsRspParamsType
3232---------------------------------------------------------------------------*/
3233typedef struct
3234{
3235 /*Indicates the status of the operation */
3236 WDI_Status wdiStatus;
3237
3238 wpt_uint16 UplinkPktQueueDly;
3239 wpt_uint16 UplinkPktQueueDlyHist[4];
3240 wpt_uint32 UplinkPktTxDly;
3241 wpt_uint16 UplinkPktLoss;
3242 wpt_uint16 UplinkPktCount;
3243 wpt_uint8 RoamingCount;
3244 wpt_uint16 RoamingDly;
3245}WDI_TSMStatsRspParamsType;
3246
3247
3248#endif
3249/*---------------------------------------------------------------------------
3250 WDI_UpdateCfgReqParamsType
3251---------------------------------------------------------------------------*/
3252typedef struct
3253{
3254 /*This is a TLV formatted buffer containing all config values that can
3255 be set through the DAL Interface
3256
3257 The TLV is expected to be formatted like this:
3258
3259 0 7 15 31 ....
3260 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3261
3262 Or from a C construct point of VU it would look like this:
3263
3264 typedef struct WPT_PACK_POST
3265 {
3266 #ifdef WPT_BIG_ENDIAN
3267 wpt_uint32 ucCfgId:8;
3268 wpt_uint32 ucCfgLen:8;
3269 wpt_uint32 usReserved:16;
3270 #else
3271 wpt_uint32 usReserved:16;
3272 wpt_uint32 ucCfgLen:8;
3273 wpt_uint32 ucCfgId:8;
3274 #endif
3275
3276 wpt_uint8 ucCfgBody[ucCfgLen];
3277 }WDI_ConfigType;
3278
3279 Multiple such tuplets are to be placed in the config buffer. One for
3280 each required configuration item:
3281
3282 | TLV 1 | TLV2 | ....
3283
3284 The buffer is expected to be a flat area of memory that can be manipulated
3285 with standard memory routines.
3286
3287 For more info please check paragraph 2.3.1 Config Structure from the
3288 HAL LLD.
3289
3290 For a list of accepted configuration list and IDs please look up
3291 wlan_qct_dal_cfg.h
3292 */
3293 void* pConfigBuffer;
3294
3295 /*Length of the config buffer above*/
3296 wpt_uint32 uConfigBufferLen;
3297
3298 /*Request status callback offered by UMAC - it is called if the current
3299 req has returned PENDING as status; it delivers the status of sending
3300 the message over the BUS */
3301 WDI_ReqStatusCb wdiReqStatusCB;
3302
3303 /*The user data passed in by UMAC, it will be sent back when the above
3304 function pointer will be called */
3305 void* pUserData;
3306}WDI_UpdateCfgReqParamsType;
3307
3308/*---------------------------------------------------------------------------
3309 WDI_UpdateProbeRspTemplateInfoType
3310---------------------------------------------------------------------------*/
3311//Default Beacon template size
3312#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3313
3314#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3315
3316typedef struct
3317{
3318 /*BSSID for which the Probe Template is to be used*/
3319 wpt_macAddr macBSSID;
3320
3321 /*Probe response template*/
3322 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3323
3324 /*Template Len*/
3325 wpt_uint32 uProbeRespTemplateLen;
3326
3327 /*Bitmap for the IEs that are to be handled at SLM level*/
3328 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3329
3330}WDI_UpdateProbeRspTemplateInfoType;
3331
3332/*---------------------------------------------------------------------------
3333 WDI_UpdateProbeRspParamsType
3334---------------------------------------------------------------------------*/
3335typedef struct
3336{
3337 /*Link Info*/
3338 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3339
3340 /*Request status callback offered by UMAC - it is called if the current
3341 req has returned PENDING as status; it delivers the status of sending
3342 the message over the BUS */
3343 WDI_ReqStatusCb wdiReqStatusCB;
3344
3345 /*The user data passed in by UMAC, it will be sent back when the above
3346 function pointer will be called */
3347 void* pUserData;
3348}WDI_UpdateProbeRspTemplateParamsType;
3349
3350/*---------------------------------------------------------------------------
3351 WDI_NvDownloadReqBlobInfo
3352---------------------------------------------------------------------------*/
3353
3354typedef struct
3355{
3356 /* Blob starting address*/
3357 void *pBlobAddress;
3358
3359 /* Blob size */
3360 wpt_uint32 uBlobSize;
3361
3362}WDI_NvDownloadReqBlobInfo;
3363
3364/*---------------------------------------------------------------------------
3365 WDI_NvDownloadReqParamsType
3366---------------------------------------------------------------------------*/
3367typedef struct
3368{
3369 /*NV Blob Info*/
3370 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3371
3372 /*Request status callback offered by UMAC - it is called if the current
3373 req has returned PENDING as status; it delivers the status of sending
3374 the message over the BUS */
3375 WDI_ReqStatusCb wdiReqStatusCB;
3376
3377 /*The user data passed in by UMAC, it will be sent back when the above
3378 function pointer will be called */
3379 void* pUserData;
3380
3381}WDI_NvDownloadReqParamsType;
3382
3383/*---------------------------------------------------------------------------
3384 WDI_NvDownloadRspInfoType
3385---------------------------------------------------------------------------*/
3386typedef struct
3387{
3388 /*Status of the response*/
3389 WDI_Status wdiStatus;
3390
3391}WDI_NvDownloadRspInfoType;
3392
3393/*---------------------------------------------------------------------------
3394 WDI_SetMaxTxPowerInfoType
3395---------------------------------------------------------------------------*/
3396
3397typedef struct
3398{
3399 /*BSSID is needed to identify which session issued this request. As the request has
3400 power constraints, this should be applied only to that session*/
3401 wpt_macAddr macBSSId;
3402
3403
3404 wpt_macAddr macSelfStaMacAddr;
3405
3406 /* In request power == MaxTxpower to be used.*/
3407 wpt_int8 ucPower;
3408
3409}WDI_SetMaxTxPowerInfoType;
3410
3411/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003412 WDI_SetTxPowerInfoType
3413---------------------------------------------------------------------------*/
3414
3415typedef struct
3416{
3417 wpt_uint8 bssIdx;
3418 /* In request power == MaxTxpower to be used.*/
3419 wpt_uint8 ucPower;
3420
3421}WDI_SetTxPowerInfoType;
3422
3423/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003424 WDI_SetMaxTxPowerParamsType
3425---------------------------------------------------------------------------*/
3426typedef struct
3427{
3428 /*Link Info*/
3429 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3430
3431 /*Request status callback offered by UMAC - it is called if the current
3432 req has returned PENDING as status; it delivers the status of sending
3433 the message over the BUS */
3434 WDI_ReqStatusCb wdiReqStatusCB;
3435
3436 /*The user data passed in by UMAC, it will be sent back when the above
3437 function pointer will be called */
3438 void* pUserData;
3439}WDI_SetMaxTxPowerParamsType;
3440
schang86c22c42013-03-13 18:41:24 -07003441/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003442 WDI_Band
3443---------------------------------------------------------------------------*/
3444typedef enum
3445{
3446 WDI_BAND_ALL,
3447 WDI_BAND_24,
3448 WDI_BAND_5G,
3449 WDI_BAND_MAX,
3450}eWDIBand;
3451
3452/*---------------------------------------------------------------------------
3453 WDI_MaxTxPowerPerBandInfoType
3454---------------------------------------------------------------------------*/
3455typedef struct
3456{
3457 eWDIBand bandInfo;
3458 /* In request power == MaxTxpower to be used.*/
3459 wpt_uint8 ucPower;
3460}WDI_MaxTxPowerPerBandInfoType;
3461
3462/*---------------------------------------------------------------------------
3463 WDI_SetMaxTxPowerPerBandParamsType
3464---------------------------------------------------------------------------*/
3465typedef struct
3466{
3467 /*Link Info*/
3468 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3469
3470 /*Request status callback offered by UMAC - it is called if the current
3471 req has returned PENDING as status; it delivers the status of sending
3472 the message over the BUS */
3473 WDI_ReqStatusCb wdiReqStatusCB;
3474
3475 /*The user data passed in by UMAC, it will be sent back when the above
3476 function pointer will be called */
3477 void* pUserData;
3478}WDI_SetMaxTxPowerPerBandParamsType;
3479
3480/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003481 WDI_SetTxPowerParamsType
3482---------------------------------------------------------------------------*/
3483typedef struct
3484{
3485 /*Link Info*/
3486 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3487
3488 /*Request status callback offered by UMAC - it is called if the current
3489 req has returned PENDING as status; it delivers the status of sending
3490 the message over the BUS */
3491 WDI_ReqStatusCb wdiReqStatusCB;
3492
3493 /*The user data passed in by UMAC, it will be sent back when the above
3494 function pointer will be called */
3495 void* pUserData;
3496}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003497
3498/*---------------------------------------------------------------------------
3499 WDI_SetMaxTxPowerRspMsg
3500---------------------------------------------------------------------------*/
3501
3502typedef struct
3503{
3504 /* In response, power==tx power used for management frames*/
3505 wpt_int8 ucPower;
3506
3507 /*Result of the operation*/
3508 WDI_Status wdiStatus;
3509
3510}WDI_SetMaxTxPowerRspMsg;
3511
schang86c22c42013-03-13 18:41:24 -07003512/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003513 WDI_SetMaxTxPowerPerBandRspMsg
3514---------------------------------------------------------------------------*/
3515typedef struct
3516{
3517 /* In response, power==tx power used for management frames*/
3518 wpt_int8 ucPower;
3519
3520 /*Result of the operation*/
3521 WDI_Status wdiStatus;
3522
3523}WDI_SetMaxTxPowerPerBandRspMsg;
3524
3525/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003526 WDI_SetTxPowerRspMsg
3527---------------------------------------------------------------------------*/
3528
3529typedef struct
3530{
3531 /* In response, power==tx power used for management frames*/
3532 wpt_int8 ucPower;
3533
3534 /*Result of the operation*/
3535 WDI_Status wdiStatus;
3536
3537}WDI_SetTxPowerRspMsg;
3538
Jeff Johnson295189b2012-06-20 16:38:30 -07003539typedef struct
3540{
3541 wpt_uint8 ucOpp_ps;
3542 wpt_uint32 uCtWindow;
3543 wpt_uint8 ucCount;
3544 wpt_uint32 uDuration;
3545 wpt_uint32 uInterval;
3546 wpt_uint32 uSingle_noa_duration;
3547 wpt_uint8 ucPsSelection;
3548}WDI_SetP2PGONOAReqInfoType;
3549
3550/*---------------------------------------------------------------------------
3551 WDI_SetP2PGONOAReqParamsType
3552---------------------------------------------------------------------------*/
3553typedef struct
3554{
3555 /*P2P GO NOA Req*/
3556 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3557
3558 /*Request status callback offered by UMAC - it is called if the current
3559 req has returned PENDING as status; it delivers the status of sending
3560 the message over the BUS */
3561 WDI_ReqStatusCb wdiReqStatusCB;
3562
3563 /*The user data passed in by UMAC, it will be sent back when the above
3564 function pointer will be called */
3565 void* pUserData;
3566}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003567
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303568#define WDI_MAX_SUPP_CHANNELS 128
3569#define WDI_MAX_SUPP_OPER_CLASSES 32
3570
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303571typedef struct
3572{
3573 wpt_uint16 uStaIdx;
3574 wpt_uint8 uIsResponder;
3575 wpt_uint8 uUapsdQueues;
3576 wpt_uint8 uMaxSp;
3577 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303578 wpt_uint8 uIsOffChannelSupported;
3579 wpt_uint8 peerCurrOperClass;
3580 wpt_uint8 selfCurrOperClass;
3581 wpt_uint8 validChannelsLen;
3582 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3583 wpt_uint8 validOperClassesLen;
3584 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303585}WDI_SetTDLSLinkEstablishReqInfoType;
3586/*---------------------------------------------------------------------------
3587 WDI_SetTDLSLinkEstablishReqParamsType
3588---------------------------------------------------------------------------*/
3589typedef struct
3590{
3591 /*TDLS Link Establish Req*/
3592 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3593
3594 /*Request status callback offered by UMAC - it is called if the current
3595 req has returned PENDING as status; it delivers the status of sending
3596 the message over the BUS */
3597 WDI_ReqStatusCb wdiReqStatusCB;
3598
3599 /*The user data passed in by UMAC, it will be sent back when the above
3600 function pointer will be called */
3601 void* pUserData;
3602}WDI_SetTDLSLinkEstablishReqParamsType;
3603
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303604typedef struct
3605{
3606 /*Result of the operation*/
3607 WDI_Status wdiStatus;
3608
3609 /*STA Idx*/
3610 wpt_uint16 uStaIdx;
3611}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003612
Atul Mittalc0f739f2014-07-31 13:47:47 +05303613
3614
3615typedef struct
3616{
3617 /*STA Index*/
3618 wpt_uint8 staIdx;
3619 /* if this is 1, self is initiator otherwise responder only*/
3620 wpt_uint8 isOffchannelInitiator;
3621 /*TDLS off channel related params */
3622 wpt_uint8 targetOperClass;
3623 wpt_uint8 targetChannel;
3624 wpt_uint8 secondaryChannelOffset;
3625 wpt_uint8 reserved[64];
3626}WDI_SetTDLSChanSwitchReqInfoType;
3627
3628typedef struct
3629{
3630 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3631 WDI_ReqStatusCb wdiReqStatusCB;
3632 void* pUserData;
3633}WDI_SetTDLSChanSwitchReqParamsType;
3634
3635
3636typedef struct
3637{
3638 /*Result of the operation*/
3639 WDI_Status wdiStatus;
3640
3641 /*STA Idx*/
3642 wpt_uint16 uStaIdx;
3643}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003644/*---------------------------------------------------------------------------
3645 WDI_SetAddSTASelfParamsType
3646---------------------------------------------------------------------------*/
3647typedef struct
3648{
3649 /*Self Station MAC address*/
3650 wpt_macAddr selfMacAddr;
3651
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003652 /*Self STA device mode*/
3653 wpt_uint32 currDeviceMode;
3654
Jeff Johnson295189b2012-06-20 16:38:30 -07003655 /*Status of the operation*/
3656 wpt_uint32 uStatus;
3657}WDI_AddSTASelfInfoType;
3658
3659/*---------------------------------------------------------------------------
3660 WDI_SetAddSTASelfParamsType
3661---------------------------------------------------------------------------*/
3662typedef struct
3663{
3664 /* Add Sta Self Req */
3665 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3666
3667 /*Request status callback offered by UMAC - it is called if the current
3668 req has returned PENDING as status; it delivers the status of sending
3669 the message over the BUS */
3670 WDI_ReqStatusCb wdiReqStatusCB;
3671
3672 /*The user data passed in by UMAC, it will be sent back when the above
3673 function pointer will be called */
3674 void* pUserData;
3675}WDI_AddSTASelfReqParamsType;
3676
3677
3678/*---------------------------------------------------------------------------
3679 WDI_AddSTASelfRspParamsType
3680---------------------------------------------------------------------------*/
3681typedef struct
3682{
3683 /*Status of the response*/
3684 WDI_Status wdiStatus;
3685
3686 /*STA Idx allocated by HAL*/
3687 wpt_uint8 ucSTASelfIdx;
3688
3689 /* DPU Index (IGTK, PTK, GTK all same) */
3690 wpt_uint8 dpuIdx;
3691
3692 /* DPU Signature */
3693 wpt_uint8 dpuSignature;
3694
3695 /*Self STA Mac*/
3696 wpt_macAddr macSelfSta;
3697
3698}WDI_AddSTASelfRspParamsType;
3699
3700/*---------------------------------------------------------------------------
3701 WDI_DelSTASelfReqParamsType
3702 Del Sta Self info passed to WDI form WDA
3703---------------------------------------------------------------------------*/
3704typedef struct
3705{
3706 wpt_macAddr selfMacAddr;
3707
3708}WDI_DelSTASelfInfoType;
3709
3710/*---------------------------------------------------------------------------
3711 WDI_DelSTASelfReqParamsType
3712 Del Sta Self info passed to WDI form WDA
3713---------------------------------------------------------------------------*/
3714typedef struct
3715{
3716 /*Del Sta Self Info Type */
3717 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3718 /*Request status callback offered by UMAC - it is called if the current req
3719 has returned PENDING as status; it delivers the status of sending the message
3720 over the BUS */
3721 WDI_ReqStatusCb wdiReqStatusCB;
3722 /*The user data passed in by UMAC, it will be sent back when the above
3723 function pointer will be called */
3724 void* pUserData;
3725}WDI_DelSTASelfReqParamsType;
3726
3727/*---------------------------------------------------------------------------
3728 WDI_DelSTASelfRspParamsType
3729---------------------------------------------------------------------------*/
3730typedef struct
3731{
3732 /*Status of the response*/
3733 WDI_Status wdiStatus;
3734
3735 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3736// wpt_uint8 ucSTAIdx;
3737}WDI_DelSTASelfRspParamsType;
3738
3739/*---------------------------------------------------------------------------
3740 WDI_UapsdInfoType
3741 UAPSD parameters passed per AC to WDA from UMAC
3742---------------------------------------------------------------------------*/
3743typedef struct
3744{
3745 wpt_uint8 ucSTAIdx; // STA index
3746 wpt_uint8 ucAc; // Access Category
3747 wpt_uint8 ucUp; // User Priority
3748 wpt_uint32 uSrvInterval; // Service Interval
3749 wpt_uint32 uSusInterval; // Suspend Interval
3750 wpt_uint32 uDelayInterval; // Delay Interval
3751} WDI_UapsdInfoType;
3752
3753/*---------------------------------------------------------------------------
3754 WDI_SetUapsdAcParamsReqParamsType
3755 UAPSD parameters passed per AC to WDI from WDA
3756---------------------------------------------------------------------------*/
3757typedef struct
3758{
3759 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3760 WDI_UapsdInfoType wdiUapsdInfo;
3761 /*Request status callback offered by UMAC - it is called if the current req
3762 has returned PENDING as status; it delivers the status of sending the message
3763 over the BUS */
3764 WDI_ReqStatusCb wdiReqStatusCB;
3765 /*The user data passed in by UMAC, it will be sent back when the above
3766 function pointer will be called */
3767 void* pUserData;
3768}WDI_SetUapsdAcParamsReqParamsType;
3769
3770/*---------------------------------------------------------------------------
3771 WDI_EnterBmpsReqinfoType
3772 Enter BMPS parameters passed to WDA from UMAC
3773---------------------------------------------------------------------------*/
3774typedef struct
3775{
3776 //TBTT value derived from the last beacon
3777 wpt_uint8 ucBssIdx;
3778 wpt_uint64 uTbtt;
3779 wpt_uint8 ucDtimCount;
3780 //DTIM period given to HAL during association may not be valid,
3781 //if association is based on ProbeRsp instead of beacon.
3782 wpt_uint8 ucDtimPeriod;
3783 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3784 DXE when DXE wakes up from power save*/
3785 unsigned int dxePhyAddr;
3786
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003787 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003788 wpt_uint32 rssiFilterPeriod;
3789 wpt_uint32 numBeaconPerRssiAverage;
3790 wpt_uint8 bRssiFilterEnable;
3791}WDI_EnterBmpsReqinfoType;
3792
3793/*---------------------------------------------------------------------------
3794 WDI_EnterBmpsReqParamsType
3795 Enter BMPS parameters passed to WDI from WDA
3796---------------------------------------------------------------------------*/
3797typedef struct
3798{
3799 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3800 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3801 /*Request status callback offered by UMAC - it is called if the current req
3802 has returned PENDING as status; it delivers the status of sending the message
3803 over the BUS */
3804 WDI_ReqStatusCb wdiReqStatusCB;
3805 /*The user data passed in by UMAC, it will be sent back when the above
3806 function pointer will be called */
3807 void* pUserData;
3808}WDI_EnterBmpsReqParamsType;
3809
3810/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303811 WDI_EnterImpsReqParamsType
3812 Enter IMPS parameters passed to WDI from WDA
3813---------------------------------------------------------------------------*/
3814typedef struct
3815{
3816 /*Request status callback offered by UMAC - it is called if the current req
3817 has returned PENDING as status; it delivers the status of sending the message
3818 over the BUS */
3819 WDI_ReqStatusCb wdiReqStatusCB;
3820 /*The user data passed in by UMAC, it will be sent back when the above
3821 function pointer will be called */
3822 void* pUserData;
3823}WDI_EnterImpsReqParamsType;
3824
3825/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303826 WDI_ExitImpsReqParamsType
3827 Exit IMPS parameters passed to WDI from WDA
3828----------------------------------------------------------------------------*/
3829typedef struct
3830{
3831 /*Request status callback offered by UMAC */
3832 WDI_ReqStatusCb wdiReqStatusCB;
3833 /*The user data passed in by UMAC, it will be sent back when the above
3834 function pointer will be called */
3835 void* pUserData;
3836
3837}WDI_ExitImpsReqParamsType;
3838
3839/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003840 WDI_EnterBmpsReqParamsType
3841 Enter BMPS parameters passed from WDI to WDA
3842---------------------------------------------------------------------------*/
3843typedef struct
3844{
3845 /*Status of the response*/
3846 WDI_Status wdiStatus;
3847
3848 /*BssIDX of the session*/
3849 wpt_uint8 bssIdx;
3850}WDI_EnterBmpsRspParamsType;
3851
3852/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003853 WDI_ExitBmpsReqinfoType
3854 Exit BMPS parameters passed to WDA from UMAC
3855---------------------------------------------------------------------------*/
3856typedef struct
3857{
3858 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003859 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003860}WDI_ExitBmpsReqinfoType;
3861
3862/*---------------------------------------------------------------------------
3863 WDI_ExitBmpsReqParamsType
3864 Exit BMPS parameters passed to WDI from WDA
3865---------------------------------------------------------------------------*/
3866typedef struct
3867{
3868 /*Exit BMPS Info Type, same as tExitBmpsParams */
3869 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3870 /*Request status callback offered by UMAC - it is called if the current req
3871 has returned PENDING as status; it delivers the status of sending the message
3872 over the BUS */
3873 WDI_ReqStatusCb wdiReqStatusCB;
3874 /*The user data passed in by UMAC, it will be sent back when the above
3875 function pointer will be called */
3876 void* pUserData;
3877}WDI_ExitBmpsReqParamsType;
3878
3879/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003880 WDI_ExitBmpsReqParamsType
3881 Exit BMPS parameters passed from WDI to WDA
3882---------------------------------------------------------------------------*/
3883typedef struct
3884{
3885 /*Status of the response*/
3886 WDI_Status wdiStatus;
3887
3888 /*BssIDX of the session*/
3889 wpt_uint8 bssIdx;
3890}WDI_ExitBmpsRspParamsType;
3891
3892/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003893 WDI_EnterUapsdReqinfoType
3894 Enter UAPSD parameters passed to WDA from UMAC
3895---------------------------------------------------------------------------*/
3896typedef struct
3897{
3898 wpt_uint8 ucBkDeliveryEnabled:1;
3899 wpt_uint8 ucBeDeliveryEnabled:1;
3900 wpt_uint8 ucViDeliveryEnabled:1;
3901 wpt_uint8 ucVoDeliveryEnabled:1;
3902 wpt_uint8 ucBkTriggerEnabled:1;
3903 wpt_uint8 ucBeTriggerEnabled:1;
3904 wpt_uint8 ucViTriggerEnabled:1;
3905 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003906 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003907}WDI_EnterUapsdReqinfoType;
3908
3909/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003910 WDI_EnterUapsdRspParamsType
3911 Enter UAPSD parameters passed from WDI to WDA
3912---------------------------------------------------------------------------*/
3913typedef struct
3914{
3915 /*Status of the response*/
3916 WDI_Status wdiStatus;
3917
3918 /*BssIDX of the session*/
3919 wpt_uint8 bssIdx;
3920}WDI_EnterUapsdRspParamsType;
3921
3922/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003923 WDI_EnterUapsdReqinfoType
3924 Enter UAPSD parameters passed to WDI from WDA
3925---------------------------------------------------------------------------*/
3926typedef struct
3927{
3928 /*Enter UAPSD Info Type, same as tUapsdParams */
3929 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3930 /*Request status callback offered by UMAC - it is called if the current req
3931 has returned PENDING as status; it delivers the status of sending the message
3932 over the BUS */
3933 WDI_ReqStatusCb wdiReqStatusCB;
3934 /*The user data passed in by UMAC, it will be sent back when the above
3935 function pointer will be called */
3936 void* pUserData;
3937}WDI_EnterUapsdReqParamsType;
3938
3939/*---------------------------------------------------------------------------
3940 WDI_UpdateUapsdReqinfoType
3941 Update UAPSD parameters passed to WDA from UMAC
3942---------------------------------------------------------------------------*/
3943typedef struct
3944{
3945 wpt_uint8 ucSTAIdx;
3946 wpt_uint8 ucUapsdACMask;
3947 wpt_uint32 uMaxSpLen;
3948}WDI_UpdateUapsdReqinfoType;
3949
3950/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003951 WDI_ExitUapsdReqinfoType
3952 Exit UAPSD parameters passed to WDA from UMAC
3953---------------------------------------------------------------------------*/
3954typedef struct
3955{
3956 wpt_uint8 bssIdx;
3957}WDI_ExitUapsdReqinfoType;
3958
3959/*---------------------------------------------------------------------------
3960 WDI_ExitUapsdReqParamsType
3961 Exit UAPSD parameters passed to WDI from WDA
3962---------------------------------------------------------------------------*/
3963typedef struct
3964{
3965 /*Exit UAPSD Info Type, same as tUapsdParams */
3966 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3967 /*Request status callback offered by UMAC - it is called if the current req
3968 has returned PENDING as status; it delivers the status of sending the message
3969 over the BUS */
3970 WDI_ReqStatusCb wdiReqStatusCB;
3971 /*The user data passed in by UMAC, it will be sent back when the above
3972 function pointer will be called */
3973 void* pUserData;
3974}WDI_ExitUapsdReqParamsType;
3975
3976/*---------------------------------------------------------------------------
3977 WDI_ExitUapsdRspParamsType
3978 Exit UAPSD parameters passed from WDI to WDA
3979---------------------------------------------------------------------------*/
3980typedef struct
3981{
3982 /*Status of the response*/
3983 WDI_Status wdiStatus;
3984
3985 /*BssIDX of the session*/
3986 wpt_uint8 bssIdx;
3987}WDI_ExitUapsdRspParamsType;
3988
3989/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003990 WDI_UpdateUapsdReqParamsType
3991 Update UAPSD parameters passed to WDI form WDA
3992---------------------------------------------------------------------------*/
3993typedef struct
3994{
3995 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3996 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3997 /*Request status callback offered by UMAC - it is called if the current req
3998 has returned PENDING as status; it delivers the status of sending the message
3999 over the BUS */
4000 WDI_ReqStatusCb wdiReqStatusCB;
4001 /*The user data passed in by UMAC, it will be sent back when the above
4002 function pointer will be called */
4003 void* pUserData;
4004}WDI_UpdateUapsdReqParamsType;
4005
4006/*---------------------------------------------------------------------------
4007 WDI_ConfigureRxpFilterReqParamsType
4008 RXP filter parameters passed to WDI form WDA
4009---------------------------------------------------------------------------*/
4010typedef struct
4011{
4012 /* Mode of Mcast and Bcast filters configured */
4013 wpt_uint8 ucSetMcstBcstFilterSetting;
4014
4015 /* Mcast Bcast Filters enable/disable*/
4016 wpt_uint8 ucSetMcstBcstFilter;
4017}WDI_RxpFilterReqParamsType;
4018
4019typedef struct
4020{
4021 /* Rxp Filter */
4022 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4023
4024 /*Request status callback offered by UMAC - it is called if the current req
4025 has returned PENDING as status; it delivers the status of sending the message
4026 over the BUS */
4027 WDI_ReqStatusCb wdiReqStatusCB;
4028 /*The user data passed in by UMAC, it will be sent back when the above
4029 function pointer will be called */
4030 void* pUserData;
4031}WDI_ConfigureRxpFilterReqParamsType;
4032
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304033typedef struct
4034{
4035 wpt_uint8 enableFlag;
4036 wpt_uint8 frameType;
4037 wpt_uint8 frameSize;
4038 wpt_uint8 bufferMode;
4039}WDI_MgmtLoggingInitReqInfoType;
4040
Jeff Johnson295189b2012-06-20 16:38:30 -07004041/*---------------------------------------------------------------------------
4042 WDI_BeaconFilterInfoType
4043 Beacon Filtering data structures passed to WDA form UMAC
4044---------------------------------------------------------------------------*/
4045typedef struct
4046{
4047 wpt_uint16 usCapabilityInfo;
4048 wpt_uint16 usCapabilityMask;
4049 wpt_uint16 usBeaconInterval;
4050 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004051 wpt_uint8 bssIdx;
4052 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004053}WDI_BeaconFilterInfoType;
4054
4055/*---------------------------------------------------------------------------
4056 WDI_BeaconFilterReqParamsType
4057 Beacon Filtering parameters passed to WDI form WDA
4058---------------------------------------------------------------------------*/
4059typedef struct
4060{
4061 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4062 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4063 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4064 copy of params from WDA to WDI */
4065 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4066 /*Request status callback offered by UMAC - it is called if the current req
4067 has returned PENDING as status; it delivers the status of sending the message
4068 over the BUS */
4069 WDI_ReqStatusCb wdiReqStatusCB;
4070 /*The user data passed in by UMAC, it will be sent back when the above
4071 function pointer will be called */
4072 void* pUserData;
4073}WDI_BeaconFilterReqParamsType;
4074
4075/*---------------------------------------------------------------------------
4076 WDI_RemBeaconFilterInfoType
4077 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4078---------------------------------------------------------------------------*/
4079typedef struct
4080{
4081 wpt_uint8 ucIeCount;
4082 wpt_uint8 ucRemIeId[1];
4083}WDI_RemBeaconFilterInfoType;
4084
4085/*---------------------------------------------------------------------------
4086 WDI_RemBeaconFilterReqParamsType
4087 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4088---------------------------------------------------------------------------*/
4089typedef struct
4090{
4091 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4092 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4093 /*Request status callback offered by UMAC - it is called if the current req
4094 has returned PENDING as status; it delivers the status of sending the message
4095 over the BUS */
4096 WDI_ReqStatusCb wdiReqStatusCB;
4097 /*The user data passed in by UMAC, it will be sent back when the above
4098 function pointer will be called */
4099 void* pUserData;
4100}WDI_RemBeaconFilterReqParamsType;
4101
4102/*---------------------------------------------------------------------------
4103 WDI_RSSIThresholdsType
4104 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4105---------------------------------------------------------------------------*/
4106typedef struct
4107{
4108 wpt_int8 ucRssiThreshold1 : 8;
4109 wpt_int8 ucRssiThreshold2 : 8;
4110 wpt_int8 ucRssiThreshold3 : 8;
4111 wpt_uint8 bRssiThres1PosNotify : 1;
4112 wpt_uint8 bRssiThres1NegNotify : 1;
4113 wpt_uint8 bRssiThres2PosNotify : 1;
4114 wpt_uint8 bRssiThres2NegNotify : 1;
4115 wpt_uint8 bRssiThres3PosNotify : 1;
4116 wpt_uint8 bRssiThres3NegNotify : 1;
4117 wpt_uint8 bReserved10 : 2;
4118} WDI_RSSIThresholdsType;
4119
4120/*---------------------------------------------------------------------------
4121 WDI_SetRSSIThresholdsReqParamsType
4122 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4123---------------------------------------------------------------------------*/
4124typedef struct
4125{
4126 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4127 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4128 /*Request status callback offered by UMAC - it is called if the current req
4129 has returned PENDING as status; it delivers the status of sending the message
4130 over the BUS */
4131 WDI_ReqStatusCb wdiReqStatusCB;
4132 /*The user data passed in by UMAC, it will be sent back when the above
4133 function pointer will be called */
4134 void* pUserData;
4135}WDI_SetRSSIThresholdsReqParamsType;
4136
4137/*---------------------------------------------------------------------------
4138 WDI_HostOffloadReqType
4139 host offload info passed to WDA form UMAC
4140---------------------------------------------------------------------------*/
4141#ifdef WLAN_NS_OFFLOAD
4142typedef struct
4143{
4144 wpt_uint8 srcIPv6Addr[16];
4145 wpt_uint8 selfIPv6Addr[16];
4146 //Only support 2 possible Network Advertisement IPv6 address
4147 wpt_uint8 targetIPv6Addr1[16];
4148 wpt_uint8 targetIPv6Addr2[16];
4149 wpt_uint8 selfMacAddr[6];
4150 wpt_uint8 srcIPv6AddrValid : 1;
4151 wpt_uint8 targetIPv6Addr1Valid : 1;
4152 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304153 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004154} WDI_NSOffloadParams;
4155#endif //WLAN_NS_OFFLOAD
4156
4157typedef struct
4158{
4159 wpt_uint8 ucOffloadType;
4160 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004161 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004162 union
4163 {
4164 wpt_uint8 aHostIpv4Addr [4];
4165 wpt_uint8 aHostIpv6Addr [16];
4166 } params;
4167} WDI_HostOffloadReqType;
4168
4169/*---------------------------------------------------------------------------
4170 WDI_HostOffloadReqParamsType
4171 host offload info passed to WDI form WDA
4172---------------------------------------------------------------------------*/
4173typedef struct
4174{
4175 /*Host offload Info Type, same as tHalHostOffloadReq */
4176 WDI_HostOffloadReqType wdiHostOffloadInfo;
4177#ifdef WLAN_NS_OFFLOAD
4178 WDI_NSOffloadParams wdiNsOffloadParams;
4179#endif //WLAN_NS_OFFLOAD
4180 /*Request status callback offered by UMAC - it is called if the current req
4181 has returned PENDING as status; it delivers the status of sending the message
4182 over the BUS */
4183 WDI_ReqStatusCb wdiReqStatusCB;
4184 /*The user data passed in by UMAC, it will be sent back when the above
4185 function pointer will be called */
4186 void* pUserData;
4187}WDI_HostOffloadReqParamsType;
4188
4189/*---------------------------------------------------------------------------
4190 WDI_KeepAliveReqType
4191 Keep Alive info passed to WDA form UMAC
4192---------------------------------------------------------------------------*/
4193typedef struct
4194{
4195 wpt_uint8 ucPacketType;
4196 wpt_uint32 ucTimePeriod;
4197 wpt_uint8 aHostIpv4Addr[4];
4198 wpt_uint8 aDestIpv4Addr[4];
4199 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004200 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004201} WDI_KeepAliveReqType;
4202
4203/*---------------------------------------------------------------------------
4204 WDI_KeepAliveReqParamsType
4205 Keep Alive passed to WDI form WDA
4206---------------------------------------------------------------------------*/
4207typedef struct
4208{
4209 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4210 WDI_KeepAliveReqType wdiKeepAliveInfo;
4211 /*Request status callback offered by UMAC - it is called if the current req
4212 has returned PENDING as status; it delivers the status of sending the message
4213 over the BUS */
4214 WDI_ReqStatusCb wdiReqStatusCB;
4215 /*The user data passed in by UMAC, it will be sent back when the above
4216 function pointer will be called */
4217 void* pUserData;
4218}WDI_KeepAliveReqParamsType;
4219
4220/*---------------------------------------------------------------------------
4221 WDI_WowlAddBcPtrnInfoType
4222 Wowl add ptrn info passed to WDA form UMAC
4223---------------------------------------------------------------------------*/
4224typedef struct
4225{
4226 wpt_uint8 ucPatternId; // Pattern ID
4227 // Pattern byte offset from beginning of the 802.11 packet to start of the
4228 // wake-up pattern
4229 wpt_uint8 ucPatternByteOffset;
4230 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4231 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4232 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4233 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4234 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4235 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004236 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004237} WDI_WowlAddBcPtrnInfoType;
4238
4239/*---------------------------------------------------------------------------
4240 WDI_WowlAddBcPtrnReqParamsType
4241 Wowl add ptrn info passed to WDI form WDA
4242---------------------------------------------------------------------------*/
4243typedef struct
4244{
4245 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4246 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4247 /*Request status callback offered by UMAC - it is called if the current req
4248 has returned PENDING as status; it delivers the status of sending the message
4249 over the BUS */
4250 WDI_ReqStatusCb wdiReqStatusCB;
4251 /*The user data passed in by UMAC, it will be sent back when the above
4252 function pointer will be called */
4253 void* pUserData;
4254}WDI_WowlAddBcPtrnReqParamsType;
4255
4256/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004257 WDI_WowlAddBcPtrnRspParamsType
4258 Wowl add ptrn info passed from WDI to WDA
4259---------------------------------------------------------------------------*/
4260typedef struct
4261{
4262 /*Status of the response*/
4263 WDI_Status wdiStatus;
4264 /*BssIDX of the session*/
4265 wpt_uint8 bssIdx;
4266}WDI_WowlAddBcPtrnRspParamsType;
4267
4268/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004269 WDI_WowlDelBcPtrnInfoType
4270 Wowl add ptrn info passed to WDA form UMAC
4271---------------------------------------------------------------------------*/
4272typedef struct
4273{
4274 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004275 wpt_uint8 ucPatternId;
4276 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004277} WDI_WowlDelBcPtrnInfoType;
4278
4279/*---------------------------------------------------------------------------
4280 WDI_WowlDelBcPtrnReqParamsType
4281 Wowl add ptrn info passed to WDI form WDA
4282---------------------------------------------------------------------------*/
4283typedef struct
4284{
4285 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4286 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4287 /*Request status callback offered by UMAC - it is called if the current req
4288 has returned PENDING as status; it delivers the status of sending the message
4289 over the BUS */
4290 WDI_ReqStatusCb wdiReqStatusCB;
4291 /*The user data passed in by UMAC, it will be sent back when the above
4292 function pointer will be called */
4293 void* pUserData;
4294}WDI_WowlDelBcPtrnReqParamsType;
4295
4296/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004297 WDI_WowlDelBcPtrnRspParamsType
4298 Wowl Del ptrn info passed from WDI to WDA
4299---------------------------------------------------------------------------*/
4300typedef struct
4301{
4302 /*Status of the response*/
4303 WDI_Status wdiStatus;
4304 /*BssIDX of the session*/
4305 wpt_uint8 bssIdx;
4306}WDI_WowlDelBcPtrnRspParamsType;
4307
4308/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004309 WDI_WowlEnterInfoType
4310 Wowl enter info passed to WDA form UMAC
4311---------------------------------------------------------------------------*/
4312typedef struct
4313{
4314 /* Enables/disables magic packet filtering */
4315 wpt_uint8 ucMagicPktEnable;
4316
4317 /* Magic pattern */
4318 wpt_macAddr magicPtrn;
4319
4320 /* Enables/disables packet pattern filtering in firmware.
4321 Enabling this flag enables broadcast pattern matching
4322 in Firmware. If unicast pattern matching is also desired,
4323 ucUcastPatternFilteringEnable flag must be set tot true
4324 as well
4325 */
4326 wpt_uint8 ucPatternFilteringEnable;
4327
4328 /* Enables/disables unicast packet pattern filtering.
4329 This flag specifies whether we want to do pattern match
4330 on unicast packets as well and not just broadcast packets.
4331 This flag has no effect if the ucPatternFilteringEnable
4332 (main controlling flag) is set to false
4333 */
4334 wpt_uint8 ucUcastPatternFilteringEnable;
4335
4336 /* This configuration is valid only when magicPktEnable=1.
4337 * It requests hardware to wake up when it receives the
4338 * Channel Switch Action Frame.
4339 */
4340 wpt_uint8 ucWowChnlSwitchRcv;
4341
4342 /* This configuration is valid only when magicPktEnable=1.
4343 * It requests hardware to wake up when it receives the
4344 * Deauthentication Frame.
4345 */
4346 wpt_uint8 ucWowDeauthRcv;
4347
4348 /* This configuration is valid only when magicPktEnable=1.
4349 * It requests hardware to wake up when it receives the
4350 * Disassociation Frame.
4351 */
4352 wpt_uint8 ucWowDisassocRcv;
4353
4354 /* This configuration is valid only when magicPktEnable=1.
4355 * It requests hardware to wake up when it has missed
4356 * consecutive beacons. This is a hardware register
4357 * configuration (NOT a firmware configuration).
4358 */
4359 wpt_uint8 ucWowMaxMissedBeacons;
4360
4361 /* This configuration is valid only when magicPktEnable=1.
4362 * This is a timeout value in units of microsec. It requests
4363 * hardware to unconditionally wake up after it has stayed
4364 * in WoWLAN mode for some time. Set 0 to disable this feature.
4365 */
4366 wpt_uint8 ucWowMaxSleepUsec;
4367
4368#ifdef WLAN_WAKEUP_EVENTS
4369 /* This configuration directs the WoW packet filtering to look for EAP-ID
4370 * requests embedded in EAPOL frames and use this as a wake source.
4371 */
4372 wpt_uint8 ucWoWEAPIDRequestEnable;
4373
4374 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4375 * requests and use this as a wake source.
4376 */
4377 wpt_uint8 ucWoWEAPOL4WayEnable;
4378
4379 /* This configuration allows a host wakeup on an network scan offload match.
4380 */
4381 wpt_uint8 ucWowNetScanOffloadMatch;
4382
4383 /* This configuration allows a host wakeup on any GTK rekeying error.
4384 */
4385 wpt_uint8 ucWowGTKRekeyError;
4386
4387 /* This configuration allows a host wakeup on BSS connection loss.
4388 */
4389 wpt_uint8 ucWoWBSSConnLoss;
4390#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004391
4392 /* BSSIDX used to find the current session
4393 */
4394 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004395} WDI_WowlEnterInfoType;
4396
4397/*---------------------------------------------------------------------------
4398 WDI_WowlEnterReqParamsType
4399 Wowl enter info passed to WDI form WDA
4400---------------------------------------------------------------------------*/
4401typedef struct
4402{
4403 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4404 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4405 /*Request status callback offered by UMAC - it is called if the current req
4406 has returned PENDING as status; it delivers the status of sending the message
4407 over the BUS */
4408 WDI_ReqStatusCb wdiReqStatusCB;
4409 /*The user data passed in by UMAC, it will be sent back when the above
4410 function pointer will be called */
4411 void* pUserData;
4412}WDI_WowlEnterReqParamsType;
4413
4414/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004415 WDI_WowlEnterRsqParamsType
4416 Wowl enter info passed from WDI to WDA
4417---------------------------------------------------------------------------*/
4418typedef struct
4419{
4420 /*Status of the response message*/
4421 WDI_Status status;
4422
4423 /* BSSIDX used to find the current session
4424 */
4425 wpt_uint8 bssIdx;
4426}WDI_WowlEnterRspParamsType;
4427
4428/*---------------------------------------------------------------------------
4429 WDI_WowlExitInfoType
4430 Wowl exit info passed to WDA form UMAC
4431 ---------------------------------------------------------------------------*/
4432typedef struct
4433{
4434 /* BSSIDX used to find the current session
4435 */
4436 wpt_uint8 bssIdx;
4437} WDI_WowlExitInfoType;
4438
4439/*---------------------------------------------------------------------------
4440 WDI_WowlExitReqParamsType
4441 Wowl exit info passed to WDI form WDA
4442---------------------------------------------------------------------------*/
4443typedef struct
4444{
4445 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4446 WDI_WowlExitInfoType wdiWowlExitInfo;
4447 /*Request status callback offered by UMAC - it is called if the current req
4448 has returned PENDING as status; it delivers the status of sending the message
4449 over the BUS */
4450 WDI_ReqStatusCb wdiReqStatusCB;
4451 /*The user data passed in by UMAC, it will be sent back when the above
4452 function pointer will be called */
4453 void* pUserData;
4454}WDI_WowlExitReqParamsType;
4455
4456/*---------------------------------------------------------------------------
4457 WDI_WowlExitRspParamsType
4458 Wowl exit info passed from WDI to WDA
4459---------------------------------------------------------------------------*/
4460typedef struct
4461{
4462 /*Status of the response message*/
4463 WDI_Status status;
4464
4465 /* BSSIDX used to find the current session
4466 */
4467 wpt_uint8 bssIdx;
4468}WDI_WowlExitRspParamsType;
4469
4470/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004471 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4472 Apps Cpu Wakeup State parameters passed to WDI form WDA
4473---------------------------------------------------------------------------*/
4474typedef struct
4475{
4476 /*Depicts the state of the Apps CPU */
4477 wpt_boolean bIsAppsAwake;
4478 /*Request status callback offered by UMAC - it is called if the current req
4479 has returned PENDING as status; it delivers the status of sending the message
4480 over the BUS */
4481 WDI_ReqStatusCb wdiReqStatusCB;
4482 /*The user data passed in by UMAC, it will be sent back when the above
4483 function pointer will be called */
4484 void* pUserData;
4485}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4486/*---------------------------------------------------------------------------
4487 WDI_FlushAcReqinfoType
4488---------------------------------------------------------------------------*/
4489typedef struct
4490{
4491 // Message Type
4492 wpt_uint16 usMesgType;
4493
4494 // Message Length
4495 wpt_uint16 usMesgLen;
4496
4497 // Station Index. originates from HAL
4498 wpt_uint8 ucSTAId;
4499
4500 // TID for which the transmit queue is being flushed
4501 wpt_uint8 ucTid;
4502
4503}WDI_FlushAcReqinfoType;
4504
4505/*---------------------------------------------------------------------------
4506 WDI_FlushAcReqParamsType
4507---------------------------------------------------------------------------*/
4508typedef struct
4509{
4510 /*AC Info */
4511 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4512
4513 /*Request status callback offered by UMAC - it is called if the current
4514 req has returned PENDING as status; it delivers the status of sending
4515 the message over the BUS */
4516 WDI_ReqStatusCb wdiReqStatusCB;
4517
4518 /*The user data passed in by UMAC, it will be sent back when the above
4519 function pointer will be called */
4520 void* pUserData;
4521}WDI_FlushAcReqParamsType;
4522
4523/*---------------------------------------------------------------------------
4524 WDI_BtAmpEventinfoType
4525 BT-AMP Event Structure
4526---------------------------------------------------------------------------*/
4527typedef struct
4528{
4529 wpt_uint8 ucBtAmpEventType;
4530
4531} WDI_BtAmpEventinfoType;
4532
4533/*---------------------------------------------------------------------------
4534 WDI_BtAmpEventParamsType
4535---------------------------------------------------------------------------*/
4536typedef struct
4537{
4538 /*BT AMP event Info */
4539 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4540
4541 /*Request status callback offered by UMAC - it is called if the current
4542 req has returned PENDING as status; it delivers the status of sending
4543 the message over the BUS */
4544 WDI_ReqStatusCb wdiReqStatusCB;
4545
4546 /*The user data passed in by UMAC, it will be sent back when the above
4547 function pointer will be called */
4548 void* pUserData;
4549}WDI_BtAmpEventParamsType;
4550
Jeff Johnsone7245742012-09-05 17:12:55 -07004551#ifdef FEATURE_OEM_DATA_SUPPORT
4552
4553#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004554#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004555#endif
4556#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004557#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004558#endif
4559
4560/*----------------------------------------------------------------------------
4561 WDI_oemDataReqInfoType
4562----------------------------------------------------------------------------*/
4563typedef struct
4564{
4565 wpt_macAddr selfMacAddr;
4566 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4567}WDI_oemDataReqInfoType;
4568
4569/*----------------------------------------------------------------------------
4570 WDI_oemDataReqParamsType
4571----------------------------------------------------------------------------*/
4572typedef struct
4573{
4574 /*Request status callback offered by UMAC - it is called if the current
4575 req has returned PENDING as status; it delivers the status of sending
4576 the message over the BUS */
4577 WDI_ReqStatusCb wdiReqStatusCB;
4578
4579 /*The user data passed in by UMAC, it will be sent back when the above
4580 function pointer will be called */
4581 void* pUserData;
4582
4583 /*OEM DATA REQ Info */
4584 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4585
4586}WDI_oemDataReqParamsType;
4587
4588/*----------------------------------------------------------------------------
4589 WDI_oemDataRspParamsType
4590----------------------------------------------------------------------------*/
4591typedef struct
4592{
4593 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4594}WDI_oemDataRspParamsType;
4595
4596#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004597
4598#ifdef WLAN_FEATURE_VOWIFI_11R
4599/*---------------------------------------------------------------------------
4600 WDI_AggrAddTSReqInfoType
4601---------------------------------------------------------------------------*/
4602typedef struct
4603{
4604 /*STA Index*/
4605 wpt_uint8 ucSTAIdx;
4606
4607 /*Identifier for TSpec*/
4608 wpt_uint8 ucTspecIdx;
4609
4610 /*Tspec IE negotiated OTA*/
4611 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4612
4613 /*UAPSD delivery and trigger enabled flags */
4614 wpt_uint8 ucUapsdFlags;
4615
4616 /*SI for each AC*/
4617 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4618
4619 /*Suspend Interval for each AC*/
4620 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4621
4622 /*DI for each AC*/
4623 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4624
4625}WDI_AggrAddTSReqInfoType;
4626
4627
4628/*---------------------------------------------------------------------------
4629 WDI_AggrAddTSReqParamsType
4630---------------------------------------------------------------------------*/
4631typedef struct
4632{
4633 /*TSpec Info */
4634 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4635
4636 /*Request status callback offered by UMAC - it is called if the current
4637 req has returned PENDING as status; it delivers the status of sending
4638 the message over the BUS */
4639 WDI_ReqStatusCb wdiReqStatusCB;
4640
4641 /*The user data passed in by UMAC, it will be sent back when the above
4642 function pointer will be called */
4643 void* pUserData;
4644}WDI_AggrAddTSReqParamsType;
4645
4646#endif /* WLAN_FEATURE_VOWIFI_11R */
4647
Jeff Johnson295189b2012-06-20 16:38:30 -07004648/*---------------------------------------------------------------------------
4649 WDI_FTMCommandReqType
4650---------------------------------------------------------------------------*/
4651typedef struct
4652{
4653 /* FTM Command Body length */
4654 wpt_uint32 bodyLength;
4655 /* Actual FTM Command body */
4656 void *FTMCommandBody;
4657}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004658
4659/*---------------------------------------------------------------------------
4660 WDI_WlanSuspendInfoType
4661---------------------------------------------------------------------------*/
4662typedef struct
4663{
4664 /* Mode of Mcast and Bcast filters configured */
4665 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4666}WDI_WlanSuspendInfoType;
4667
4668/*---------------------------------------------------------------------------
4669 WDI_SuspendParamsType
4670---------------------------------------------------------------------------*/
4671typedef struct
4672{
4673 WDI_WlanSuspendInfoType wdiSuspendParams;
4674
4675 /*Request status callback offered by UMAC - it is called if the current
4676 req has returned PENDING as status; it delivers the status of sending
4677 the message over the BUS */
4678 WDI_ReqStatusCb wdiReqStatusCB;
4679
4680 /*The user data passed in by UMAC, it will be sent back when the above
4681 function pointer will be called */
4682 void* pUserData;
4683
4684}WDI_SuspendParamsType;
4685
4686/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004687 WDI_TrafficStatsType - This is collected for each STA
4688---------------------------------------------------------------------------*/
4689
4690typedef struct
4691{
4692 /* TX stats */
4693 wpt_uint32 txBytesPushed;
4694 wpt_uint32 txPacketsPushed;
4695
4696 /* RX stats */
4697 wpt_uint32 rxBytesRcvd;
4698 wpt_uint32 rxPacketsRcvd;
4699 wpt_uint32 rxTimeTotal;
4700}WDI_TrafficStatsType;
4701
4702typedef struct
4703{
4704 WDI_TrafficStatsType *pTrafficStats;
4705 wpt_uint32 length;
4706 wpt_uint32 duration;
4707
4708 /*Request status callback offered by UMAC - it is called if the current
4709 req has returned PENDING as status; it delivers the status of sending
4710 the message over the BUS */
4711 WDI_ReqStatusCb wdiReqStatusCB;
4712
4713 /*The user data passed in by UMAC, it will be sent back when the above
4714 function pointer will be called */
4715 void* pUserData;
4716}WDI_TrafficStatsIndType;
4717
Chet Lanctot186b5732013-03-18 10:26:30 -07004718#ifdef WLAN_FEATURE_11W
4719typedef struct
4720{
4721
4722 wpt_boolean bExcludeUnencrypt;
4723 wpt_macAddr bssid;
4724 /*Request status callback offered by UMAC - it is called if the current
4725 req has returned PENDING as status; it delivers the status of sending
4726 the message over the BUS */
4727 WDI_ReqStatusCb wdiReqStatusCB;
4728
4729 /*The user data passed in by UMAC, it will be sent back when the above
4730 function pointer will be called */
4731 void* pUserData;
4732}WDI_ExcludeUnencryptIndType;
4733#endif
4734
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004735/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004736 WDI_WlanResumeInfoType
4737---------------------------------------------------------------------------*/
4738typedef struct
4739{
4740 /* Mode of Mcast and Bcast filters configured */
4741 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4742}WDI_WlanResumeInfoType;
4743
4744/*---------------------------------------------------------------------------
4745 WDI_ResumeParamsType
4746---------------------------------------------------------------------------*/
4747typedef struct
4748{
4749 WDI_WlanResumeInfoType wdiResumeParams;
4750
4751 /*Request status callback offered by UMAC - it is called if the current
4752 req has returned PENDING as status; it delivers the status of sending
4753 the message over the BUS */
4754 WDI_ReqStatusCb wdiReqStatusCB;
4755
4756 /*The user data passed in by UMAC, it will be sent back when the above
4757 function pointer will be called */
4758 void* pUserData;
4759
4760}WDI_ResumeParamsType;
4761
4762#ifdef WLAN_FEATURE_GTK_OFFLOAD
4763/*---------------------------------------------------------------------------
4764 * WDI_GTK_OFFLOAD_REQ
4765 *--------------------------------------------------------------------------*/
4766
4767typedef struct
4768{
4769 wpt_uint32 ulFlags; /* optional flags */
4770 wpt_uint8 aKCK[16]; /* Key confirmation key */
4771 wpt_uint8 aKEK[16]; /* key encryption key */
4772 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004773 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004774} WDI_GtkOffloadReqParams;
4775
4776typedef struct
4777{
4778 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4779
4780 /*Request status callback offered by UMAC - it is called if the current
4781 req has returned PENDING as status; it delivers the status of sending
4782 the message over the BUS */
4783 WDI_ReqStatusCb wdiReqStatusCB;
4784
4785 /*The user data passed in by UMAC, it will be sent back when the above
4786 function pointer will be called */
4787 void* pUserData;
4788} WDI_GtkOffloadReqMsg;
4789
4790/*---------------------------------------------------------------------------
4791 * WDI_GTK_OFFLOAD_RSP
4792 *--------------------------------------------------------------------------*/
4793typedef struct
4794{
4795 /* success or failure */
4796 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004797 /*BssIdx of the response */
4798 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004799} WDI_GtkOffloadRspParams;
4800
4801typedef struct
4802{
4803 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4804
4805 /*Request status callback offered by UMAC - it is called if the current
4806 req has returned PENDING as status; it delivers the status of sending
4807 the message over the BUS */
4808 WDI_ReqStatusCb wdiReqStatusCB;
4809
4810 /*The user data passed in by UMAC, it will be sent back when the above
4811 function pointer will be called */
4812 void* pUserData;
4813} WDI_GtkOffloadRspMsg;
4814
4815
4816/*---------------------------------------------------------------------------
4817* WDI_GTK_OFFLOAD_GETINFO_REQ
4818*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004819typedef struct
4820{
4821 /*BssIdx of the response */
4822 wpt_macAddr bssId;
4823} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004824
4825typedef struct
4826{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004827
4828 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004829 /*Request status callback offered by UMAC - it is called if the current
4830 req has returned PENDING as status; it delivers the status of sending
4831 the message over the BUS */
4832 WDI_ReqStatusCb wdiReqStatusCB;
4833
4834 /*The user data passed in by UMAC, it will be sent back when the above
4835 function pointer will be called */
4836 void* pUserData;
4837} WDI_GtkOffloadGetInfoReqMsg;
4838
4839/*---------------------------------------------------------------------------
4840* WDI_GTK_OFFLOAD_GETINFO_RSP
4841*--------------------------------------------------------------------------*/
4842typedef struct
4843{
4844 wpt_uint32 ulStatus; /* success or failure */
4845 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4846 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4847 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4848 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304849 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004850} WDI_GtkOffloadGetInfoRspParams;
4851
4852typedef struct
4853{
4854 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4855
4856 /*Request status callback offered by UMAC - it is called if the current
4857 req has returned PENDING as status; it delivers the status of sending
4858 the message over the BUS */
4859 WDI_ReqStatusCb wdiReqStatusCB;
4860
4861 /*The user data passed in by UMAC, it will be sent back when the above
4862 function pointer will be called */
4863 void* pUserData;
4864} WDI_GtkOffloadGetInfoRspMsg;
4865#endif // WLAN_FEATURE_GTK_OFFLOAD
4866
4867/*---------------------------------------------------------------------------
4868 WDI_SuspendResumeRspParamsType
4869---------------------------------------------------------------------------*/
4870typedef struct
4871{
4872 /*Status of the response*/
4873 WDI_Status wdiStatus;
4874}WDI_SuspendResumeRspParamsType;
4875
Leo Chang9056f462013-08-01 19:21:11 -07004876#ifdef FEATURE_WLAN_LPHB
4877/*---------------------------------------------------------------------------
4878 WDI Low Power Heart Beat Config request
4879 Copy from sirApi.h to avoid compile error
4880---------------------------------------------------------------------------*/
4881#define WDI_LPHB_FILTER_LEN 64
4882
4883typedef enum
4884{
4885 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4886 WDI_LPHB_SET_TCP_PARAMS_INDID,
4887 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4888 WDI_LPHB_SET_UDP_PARAMS_INDID,
4889 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4890 WDI_LPHB_SET_NETWORK_INFO_INDID,
4891} WDI_LPHBIndType;
4892
4893typedef struct
4894{
4895 wpt_uint8 enable;
4896 wpt_uint8 item;
4897 wpt_uint8 session;
4898} WDI_LPHBEnableStruct;
4899
4900typedef struct
4901{
4902 wpt_uint32 srv_ip;
4903 wpt_uint32 dev_ip;
4904 wpt_uint16 src_port;
4905 wpt_uint16 dst_port;
4906 wpt_uint16 timeout;
4907 wpt_uint8 session;
4908 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004909 wpt_uint16 timePeriodSec; // in seconds
4910 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004911} WDI_LPHBTcpParamStruct;
4912
4913typedef struct
4914{
4915 wpt_uint16 length;
4916 wpt_uint8 offset;
4917 wpt_uint8 session;
4918 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4919} WDI_LPHBTcpFilterStruct;
4920
4921typedef struct
4922{
4923 wpt_uint32 srv_ip;
4924 wpt_uint32 dev_ip;
4925 wpt_uint16 src_port;
4926 wpt_uint16 dst_port;
4927 wpt_uint16 interval;
4928 wpt_uint16 timeout;
4929 wpt_uint8 session;
4930 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4931} WDI_LPHBUdpParamStruct;
4932
4933typedef struct
4934{
4935 wpt_uint16 length;
4936 wpt_uint8 offset;
4937 wpt_uint8 session;
4938 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4939} WDI_LPHBUdpFilterStruct;
4940
4941typedef struct
4942{
4943 wpt_uint16 cmd;
4944 wpt_uint16 dummy;
4945 union
4946 {
4947 WDI_LPHBEnableStruct lphbEnableReq;
4948 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4949 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4950 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4951 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4952 } params;
4953} WDI_LPHBReq;
4954#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004955
Jeff Johnson295189b2012-06-20 16:38:30 -07004956/*---------------------------------------------------------------------------
4957 WDI_AuthType
4958---------------------------------------------------------------------------*/
4959typedef enum
4960{
4961 WDI_AUTH_TYPE_ANY = 0,
4962
4963 WDI_AUTH_TYPE_NONE,
4964 WDI_AUTH_TYPE_OPEN_SYSTEM,
4965 WDI_AUTH_TYPE_SHARED_KEY,
4966
4967 WDI_AUTH_TYPE_WPA,
4968 WDI_AUTH_TYPE_WPA_PSK,
4969 WDI_AUTH_TYPE_WPA_NONE,
4970
4971 WDI_AUTH_TYPE_RSN,
4972 WDI_AUTH_TYPE_RSN_PSK,
4973 WDI_AUTH_TYPE_FT_RSN,
4974 WDI_AUTH_TYPE_FT_RSN_PSK,
4975 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4976 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4977 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4978
4979}WDI_AuthType;
4980
4981/*---------------------------------------------------------------------------
4982 WDI_EdType
4983---------------------------------------------------------------------------*/
4984typedef enum
4985{
4986 WDI_ED_ANY = 0,
4987 WDI_ED_NONE,
4988 WDI_ED_WEP40,
4989 WDI_ED_WEP104,
4990 WDI_ED_TKIP,
4991 WDI_ED_CCMP,
4992 WDI_ED_WPI,
4993 WDI_ED_AES_128_CMAC,
4994 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4995} WDI_EdType;
4996
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004997#ifdef FEATURE_WLAN_SCAN_PNO
4998
4999/*Max number of channels for a given network supported by PNO*/
5000#define WDI_PNO_MAX_NETW_CHANNELS 26
5001
5002/*Max number of channels for a given network supported by PNO*/
5003#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5004
5005/*The max number of programable networks for PNO*/
5006#define WDI_PNO_MAX_SUPP_NETWORKS 16
5007
5008/*The max number of scan timers programable in Riva*/
5009#define WDI_PNO_MAX_SCAN_TIMERS 10
5010
5011#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005012
5013/*---------------------------------------------------------------------------
5014 WDI_PNOMode
5015---------------------------------------------------------------------------*/
5016typedef enum
5017{
5018 /*Network offload is to start immediately*/
5019 WDI_PNO_MODE_IMMEDIATE,
5020
5021 /*Network offload is to start on host suspend*/
5022 WDI_PNO_MODE_ON_SUSPEND,
5023
5024 /*Network offload is to start on host resume*/
5025 WDI_PNO_MODE_ON_RESUME,
5026 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5027} WDI_PNOMode;
5028
5029/* SSID broadcast type */
5030typedef enum
5031{
5032 WDI_BCAST_UNKNOWN = 0,
5033 WDI_BCAST_NORMAL = 1,
5034 WDI_BCAST_HIDDEN = 2,
5035
5036 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5037} WDI_SSIDBcastType;
5038
5039/*---------------------------------------------------------------------------
5040 WDI_NetworkType
5041---------------------------------------------------------------------------*/
5042typedef struct
5043{
5044 /*The SSID of the preferred network*/
5045 WDI_MacSSid ssId;
5046
5047 /*The authentication method of the preferred network*/
5048 WDI_AuthType wdiAuth;
5049
5050 /*The encryption method of the preferred network*/
5051 WDI_EdType wdiEncryption;
5052
5053 /*SSID broadcast type, normal, hidden or unknown*/
5054 WDI_SSIDBcastType wdiBcastNetworkType;
5055
5056 /*channel count - 0 for all channels*/
5057 wpt_uint8 ucChannelCount;
5058
5059 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305060 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005061
5062 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5063 wpt_uint8 rssiThreshold;
5064} WDI_NetworkType;
5065
5066
5067/*---------------------------------------------------------------------------
5068 WDI_ScanTimer
5069---------------------------------------------------------------------------*/
5070typedef struct
5071{
5072 /*The timer value*/
5073 wpt_uint32 uTimerValue;
5074
5075 /*The amount of time we should be repeating the interval*/
5076 wpt_uint32 uTimerRepeat;
5077} WDI_ScanTimer;
5078
5079/*---------------------------------------------------------------------------
5080 WDI_ScanTimersType
5081---------------------------------------------------------------------------*/
5082typedef struct
5083{
5084 /*The number of value pair intervals present in the array*/
5085 wpt_uint8 ucScanTimersCount;
5086
5087 /*The time-repeat value pairs*/
5088 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5089} WDI_ScanTimersType;
5090
5091/*---------------------------------------------------------------------------
5092 WDI_PNOScanReqType
5093---------------------------------------------------------------------------*/
5094typedef struct
5095{
5096 /*Enable or disable PNO feature*/
5097 wpt_uint8 bEnable;
5098
5099 /*PNO mode requested*/
5100 WDI_PNOMode wdiModePNO;
5101
5102 /*Network count*/
5103 wpt_uint8 ucNetworksCount;
5104
5105 /*The networks to look for*/
5106 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5107
5108 /*Scan timer intervals*/
5109 WDI_ScanTimersType scanTimers;
5110
5111 /*Probe template for 2.4GHz band*/
5112 wpt_uint16 us24GProbeSize;
5113 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5114
5115 /*Probe template for 5GHz band*/
5116 wpt_uint16 us5GProbeSize;
5117 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5118} WDI_PNOScanReqType;
5119
5120/*---------------------------------------------------------------------------
5121 WDI_PNOScanReqParamsType
5122 PNO info passed to WDI form WDA
5123---------------------------------------------------------------------------*/
5124typedef struct
5125{
5126 /* PNO Info Type, same as tPrefNetwListParams */
5127 WDI_PNOScanReqType wdiPNOScanInfo;
5128 /* Request status callback offered by UMAC - it is called if the current req
5129 has returned PENDING as status; it delivers the status of sending the message
5130 over the BUS */
5131 WDI_ReqStatusCb wdiReqStatusCB;
5132 /* The user data passed in by UMAC, it will be sent back when the above
5133 function pointer will be called */
5134 void* pUserData;
5135} WDI_PNOScanReqParamsType;
5136
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005137/*---------------------------------------------------------------------------
5138 WDI_SetRssiFilterReqParamsType
5139 PNO info passed to WDI form WDA
5140---------------------------------------------------------------------------*/
5141typedef struct
5142{
5143 /* RSSI Threshold */
5144 wpt_uint8 rssiThreshold;
5145 /* Request status callback offered by UMAC - it is called if the current req
5146 has returned PENDING as status; it delivers the status of sending the message
5147 over the BUS */
5148 WDI_ReqStatusCb wdiReqStatusCB;
5149 /* The user data passed in by UMAC, it will be sent back when the above
5150 function pointer will be called */
5151 void* pUserData;
5152} WDI_SetRssiFilterReqParamsType;
5153
5154/*---------------------------------------------------------------------------
5155 WDI_UpdateScanParamsInfo
5156---------------------------------------------------------------------------*/
5157typedef struct
5158{
5159 /*Is 11d enabled*/
5160 wpt_uint8 b11dEnabled;
5161
5162 /*Was UMAc able to find the regulatory domain*/
5163 wpt_uint8 b11dResolved;
5164
5165 /*Number of channel allowed in the regulatory domain*/
5166 wpt_uint8 ucChannelCount;
5167
5168 /*The actual channels allowed in the regulatory domain*/
5169 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5170
5171 /*Passive min channel time*/
5172 wpt_uint16 usPassiveMinChTime;
5173
5174 /*Passive max channel time*/
5175 wpt_uint16 usPassiveMaxChTime;
5176
5177 /*Active min channel time*/
5178 wpt_uint16 usActiveMinChTime;
5179
5180 /*Active max channel time*/
5181 wpt_uint16 usActiveMaxChTime;
5182
5183 /*channel bonding info*/
5184 wpt_uint8 cbState;
5185} WDI_UpdateScanParamsInfo;
5186
5187/*---------------------------------------------------------------------------
5188 WDI_UpdateScanParamsInfoType
5189 UpdateScanParams info passed to WDI form WDA
5190---------------------------------------------------------------------------*/
5191typedef struct
5192{
5193 /* PNO Info Type, same as tUpdateScanParams */
5194 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5195 /* Request status callback offered by UMAC - it is called if the current req
5196 has returned PENDING as status; it delivers the status of sending the message
5197 over the BUS */
5198 WDI_ReqStatusCb wdiReqStatusCB;
5199 /* The user data passed in by UMAC, it will be sent back when the above
5200 function pointer will be called */
5201 void* pUserData;
5202} WDI_UpdateScanParamsInfoType;
5203#endif //FEATURE_WLAN_SCAN_PNO
5204
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005205#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5206
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005207#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005208#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005209
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005210typedef struct
5211{
5212 /*The SSID of the preferred network*/
5213 WDI_MacSSid ssId;
5214 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5215
5216 /*The authentication method of the preferred network*/
5217 WDI_AuthType authentication;
5218
5219 /*The encryption method of the preferred network*/
5220 WDI_EdType encryption;
5221 WDI_EdType mcencryption;
5222
5223 /*SSID broadcast type, normal, hidden or unknown*/
5224 //WDI_SSIDBcastType wdiBcastNetworkType;
5225
5226 /*channel count - 0 for all channels*/
5227 wpt_uint8 ChannelCount;
5228
5229 /*the actual channels*/
5230 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5231
5232} WDI_RoamNetworkType;
5233
5234typedef struct WDIMobilityDomainInfo
5235{
5236 wpt_uint8 mdiePresent;
5237 wpt_uint16 mobilityDomain;
5238} WDI_MobilityDomainInfo;
5239
5240/*---------------------------------------------------------------------------
5241 WDI_RoamOffloadScanInfo
5242---------------------------------------------------------------------------*/
5243typedef struct
5244{
5245 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005246 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005247 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005248 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005249 wpt_uint8 RoamRssiDiff;
5250 wpt_uint8 ChannelCacheType;
5251 wpt_uint8 Command;
5252 wpt_uint8 StartScanReason;
5253 wpt_uint16 NeighborScanTimerPeriod;
5254 wpt_uint16 NeighborRoamScanRefreshPeriod;
5255 wpt_uint16 NeighborScanChannelMinTime;
5256 wpt_uint16 NeighborScanChannelMaxTime;
5257 wpt_uint16 EmptyRefreshScanPeriod;
5258 wpt_uint8 ValidChannelCount;
5259 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005260 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005261 /*Probe template for 2.4GHz band*/
5262 wpt_uint16 us24GProbeSize;
5263 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5264
5265 /*Probe template for 5GHz band*/
5266 wpt_uint16 us5GProbeSize;
5267 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005268 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005269 * As per requirement, later, the following structure can be used as an array of networks.*/
5270 WDI_RoamNetworkType ConnectedNetwork;
5271 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005272 wpt_uint8 nProbes;
5273 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005274} WDI_RoamOffloadScanInfo;
5275
5276typedef struct
5277{
5278 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5279 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5280 /* Request status callback offered by UMAC - it is called if the current req
5281 has returned PENDING as status; it delivers the status of sending the message
5282 over the BUS */
5283 WDI_ReqStatusCb wdiReqStatusCB;
5284 /* The user data passed in by UMAC, it will be sent back when the above
5285 function pointer will be called */
5286 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005287} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005288#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005289
5290/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305291 WDI_HT40ObssScanIndType
5292---------------------------------------------------------------------------*/
5293typedef struct
5294{
5295 wpt_uint8 cmdType;
5296 wpt_uint8 scanType;
5297 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5298 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5299 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5300 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5301 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5302 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5303 wpt_uint16 OBSSScanActivityThreshold;
5304 wpt_uint8 selfStaIdx;
5305 wpt_uint8 bssIdx;
5306 wpt_uint8 fortyMHZIntolerent;
5307 wpt_uint8 channelCount;
5308 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5309 wpt_uint8 currentOperatingClass;
5310 wpt_uint16 ieFieldLen;
5311 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5312} WDI_HT40ObssScanIndType;
5313
5314
5315/*---------------------------------------------------------------------------
5316 WDI_OBSSScanIndParamsType
5317---------------------------------------------------------------------------*/
5318typedef struct
5319{
5320 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5321
5322 /*Request status callback offered by UMAC - it is called if the current
5323 req has returned PENDING as status; it delivers the status of sending
5324 the message over the BUS */
5325 WDI_ReqStatusCb wdiReqStatusCB;
5326
5327 /*The user data passed in by UMAC, it will be sent back when the above
5328 function pointer will be called */
5329 void* pUserData;
5330
5331}WDI_HT40ObssScanParamsType;
5332
5333/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005334 WDI_UpdateScanParamsInfo
5335---------------------------------------------------------------------------*/
5336typedef struct
5337{
5338 /* Ignore DTIM */
5339 wpt_uint32 uIgnoreDTIM;
5340
5341 /*DTIM Period*/
5342 wpt_uint32 uDTIMPeriod;
5343
5344 /* Listen Interval */
5345 wpt_uint32 uListenInterval;
5346
5347 /* Broadcast Multicas Filter */
5348 wpt_uint32 uBcastMcastFilter;
5349
5350 /* Beacon Early Termination */
5351 wpt_uint32 uEnableBET;
5352
5353 /* Beacon Early Termination Interval */
5354 wpt_uint32 uBETInterval;
5355
Yue Mac24062f2013-05-13 17:01:29 -07005356 /* MAX LI for modulated DTIM */
5357 wpt_uint32 uMaxLIModulatedDTIM;
5358
Jeff Johnson295189b2012-06-20 16:38:30 -07005359} WDI_SetPowerParamsInfo;
5360
5361/*---------------------------------------------------------------------------
5362 WDI_UpdateScanParamsInfoType
5363 UpdateScanParams info passed to WDI form WDA
5364---------------------------------------------------------------------------*/
5365typedef struct
5366{
5367 /* Power params Info Type, same as tSetPowerParamsReq */
5368 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5369 /* Request status callback offered by UMAC - it is called if the current req
5370 has returned PENDING as status; it delivers the status of sending the message
5371 over the BUS */
5372 WDI_ReqStatusCb wdiReqStatusCB;
5373 /* The user data passed in by UMAC, it will be sent back when the above
5374 function pointer will be called */
5375 void* pUserData;
5376}WDI_SetPowerParamsReqParamsType;
5377
5378/*---------------------------------------------------------------------------
5379 WDI_SetTxPerTrackingConfType
5380 Wowl add ptrn info passed to WDA form UMAC
5381---------------------------------------------------------------------------*/
5382typedef struct
5383{
5384 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5385 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5386 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5387 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5388} WDI_TxPerTrackingParamType;
5389
5390/*---------------------------------------------------------------------------
5391 WDI_SetTxPerTrackingReqParamsType
5392 Tx PER Tracking parameters passed to WDI from WDA
5393---------------------------------------------------------------------------*/
5394typedef struct
5395{
5396 /* Configurations for Tx PER Tracking */
5397 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5398 /*Request status callback offered by UMAC - it is called if the current req
5399 has returned PENDING as status; it delivers the status of sending the message
5400 over the BUS */
5401 WDI_ReqStatusCb wdiReqStatusCB;
5402 /*The user data passed in by UMAC, it will be sent back when the above
5403 function pointer will be called */
5404 void* pUserData;
5405}WDI_SetTxPerTrackingReqParamsType;
5406
5407#ifdef WLAN_FEATURE_PACKET_FILTERING
5408/*---------------------------------------------------------------------------
5409 Packet Filtering Parameters
5410---------------------------------------------------------------------------*/
5411
5412#define WDI_IPV4_ADDR_LEN 4
5413#define WDI_MAC_ADDR_LEN 6
5414#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5415#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5416#define WDI_MAX_NUM_FILTERS 20
5417#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5418
5419//
5420// Receive Filter Parameters
5421//
5422typedef enum
5423{
5424 WDI_RCV_FILTER_TYPE_INVALID,
5425 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5426 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5427 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5428}WDI_ReceivePacketFilterType;
5429
5430typedef enum
5431{
5432 WDI_FILTER_HDR_TYPE_INVALID,
5433 WDI_FILTER_HDR_TYPE_MAC,
5434 WDI_FILTER_HDR_TYPE_ARP,
5435 WDI_FILTER_HDR_TYPE_IPV4,
5436 WDI_FILTER_HDR_TYPE_IPV6,
5437 WDI_FILTER_HDR_TYPE_UDP,
5438 WDI_FILTER_HDR_TYPE_MAX
5439}WDI_RcvPktFltProtocolType;
5440
5441typedef enum
5442{
5443 WDI_FILTER_CMP_TYPE_INVALID,
5444 WDI_FILTER_CMP_TYPE_EQUAL,
5445 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5446 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5447 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5448 WDI_FILTER_CMP_TYPE_MAX
5449}WDI_RcvPktFltCmpFlagType;
5450
5451typedef struct
5452{
5453 WDI_RcvPktFltProtocolType protocolLayer;
5454 WDI_RcvPktFltCmpFlagType cmpFlag;
5455/* Length of the data to compare */
5456 wpt_uint16 dataLength;
5457/* from start of the respective frame header */
5458 wpt_uint8 dataOffset;
5459 wpt_uint8 reserved; /* Reserved field */
5460/* Data to compare */
5461 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5462/* Mask to be applied on the received packet data before compare */
5463 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5464}WDI_RcvPktFilterFieldParams;
5465
5466typedef struct
5467{
5468 wpt_uint8 filterId;
5469 wpt_uint8 filterType;
5470 wpt_uint32 numFieldParams;
5471 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005472 wpt_macAddr selfMacAddr;
5473 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005474 WDI_RcvPktFilterFieldParams paramsData[1];
5475
Jeff Johnson295189b2012-06-20 16:38:30 -07005476}WDI_RcvPktFilterCfgType;
5477
5478typedef struct
5479{
5480 /*Request status callback offered by UMAC - it is called if the current
5481 req has returned PENDING as status; it delivers the status of sending
5482 the message over the BUS */
5483 WDI_ReqStatusCb wdiReqStatusCB;
5484
5485 /*The user data passed in by UMAC, it will be sent back when the above
5486 function pointer will be called */
5487 void* pUserData;
5488
5489 // Variable length packet filter field params
5490 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5491} WDI_SetRcvPktFilterReqParamsType;
5492
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005493typedef struct
5494{
5495 /*Result of the operation*/
5496 WDI_Status wdiStatus;
5497 /* BSSIDX of the Set Receive Filter
5498 */
5499 wpt_uint8 bssIdx;
5500} WDI_SetRcvPktFilterRspParamsType;
5501
Jeff Johnson295189b2012-06-20 16:38:30 -07005502//
5503// Filter Packet Match Count Parameters
5504//
5505typedef struct
5506{
5507 /*Request status callback offered by UMAC - it is called if the current
5508 req has returned PENDING as status; it delivers the status of sending
5509 the message over the BUS */
5510 WDI_ReqStatusCb wdiReqStatusCB;
5511
5512 /*The user data passed in by UMAC, it will be sent back when the above
5513 function pointer will be called */
5514 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005515
5516 /* BSSID of the Match count
5517 */
5518 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005519} WDI_RcvFltPktMatchCntReqParamsType;
5520
5521typedef struct
5522{
5523 wpt_uint8 filterId;
5524 wpt_uint32 matchCnt;
5525} WDI_RcvFltPktMatchCnt;
5526
5527typedef struct
5528{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005529 /*Result of the operation*/
5530 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005531
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005532 /* BSSIDX of the Match count response
5533 */
5534 wpt_uint8 bssIdx;
5535
Jeff Johnson295189b2012-06-20 16:38:30 -07005536} WDI_RcvFltPktMatchCntRspParamsType;
5537
Jeff Johnson295189b2012-06-20 16:38:30 -07005538//
5539// Receive Filter Clear Parameters
5540//
5541typedef struct
5542{
5543 wpt_uint32 status; /* only valid for response message */
5544 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005545 wpt_macAddr selfMacAddr;
5546 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005547}WDI_RcvFltPktClearParam;
5548
5549typedef struct
5550{
5551 WDI_RcvFltPktClearParam filterClearParam;
5552 /*Request status callback offered by UMAC - it is called if the current
5553 req has returned PENDING as status; it delivers the status of sending
5554 the message over the BUS */
5555 WDI_ReqStatusCb wdiReqStatusCB;
5556
5557 /*The user data passed in by UMAC, it will be sent back when the above
5558 function pointer will be called */
5559 void* pUserData;
5560} WDI_RcvFltPktClearReqParamsType;
5561
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005562typedef struct
5563{
5564 /*Result of the operation*/
5565 WDI_Status wdiStatus;
5566 /* BSSIDX of the Match count response
5567 */
5568 wpt_uint8 bssIdx;
5569
5570} WDI_RcvFltPktClearRspParamsType;
5571
Jeff Johnson295189b2012-06-20 16:38:30 -07005572//
5573// Multicast Address List Parameters
5574//
5575typedef struct
5576{
5577 wpt_uint32 ulMulticastAddrCnt;
5578 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005579 wpt_macAddr selfMacAddr;
5580 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005581} WDI_RcvFltMcAddrListType;
5582
5583typedef struct
5584{
5585 WDI_RcvFltMcAddrListType mcAddrList;
5586 /*Request status callback offered by UMAC - it is called if the current
5587 req has returned PENDING as status; it delivers the status of sending
5588 the message over the BUS */
5589 WDI_ReqStatusCb wdiReqStatusCB;
5590
5591 /*The user data passed in by UMAC, it will be sent back when the above
5592 function pointer will be called */
5593 void* pUserData;
5594} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005595
5596typedef struct
5597{
5598 /*Result of the operation*/
5599 WDI_Status wdiStatus;
5600 /* BSSIDX of the Match count response
5601 */
5602 wpt_uint8 bssIdx;
5603} WDI_RcvFltPktSetMcListRspParamsType;
5604
Jeff Johnson295189b2012-06-20 16:38:30 -07005605#endif // WLAN_FEATURE_PACKET_FILTERING
5606
5607/*---------------------------------------------------------------------------
5608 WDI_HALDumpCmdReqInfoType
5609---------------------------------------------------------------------------*/
5610typedef struct
5611{
5612 /*command*/
5613 wpt_uint32 command;
5614
5615 /*Arguments*/
5616 wpt_uint32 argument1;
5617 wpt_uint32 argument2;
5618 wpt_uint32 argument3;
5619 wpt_uint32 argument4;
5620
5621}WDI_HALDumpCmdReqInfoType;
5622
5623/*---------------------------------------------------------------------------
5624 WDI_HALDumpCmdReqParamsType
5625---------------------------------------------------------------------------*/
5626typedef struct
5627{
5628 /*NV Blob Info*/
5629 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5630
5631 /*Request status callback offered by UMAC - it is called if the current
5632 req has returned PENDING as status; it delivers the status of sending
5633 the message over the BUS */
5634 WDI_ReqStatusCb wdiReqStatusCB;
5635
5636 /*The user data passed in by UMAC, it will be sent back when the above
5637 function pointer will be called */
5638 void* pUserData;
5639
5640}WDI_HALDumpCmdReqParamsType;
5641
5642
5643/*---------------------------------------------------------------------------
5644 WDI_HALDumpCmdRspParamsType
5645---------------------------------------------------------------------------*/
5646typedef struct
5647{
5648 /*Result of the operation*/
5649 WDI_Status wdiStatus;
5650
5651 /* length of the buffer */
5652 wpt_uint16 usBufferLen;
5653
5654 /* Buffer */
5655 wpt_uint8 *pBuffer;
5656}WDI_HALDumpCmdRspParamsType;
5657
5658
5659/*---------------------------------------------------------------------------
5660 WDI_SetTmLevelReqType
5661---------------------------------------------------------------------------*/
5662typedef struct
5663{
5664 wpt_uint16 tmMode;
5665 wpt_uint16 tmLevel;
5666 void* pUserData;
5667}WDI_SetTmLevelReqType;
5668
5669/*---------------------------------------------------------------------------
5670 WDI_SetTmLevelRspType
5671---------------------------------------------------------------------------*/
5672typedef struct
5673{
5674 WDI_Status wdiStatus;
5675 void* pUserData;
5676}WDI_SetTmLevelRspType;
5677
Leo Chang9056f462013-08-01 19:21:11 -07005678#ifdef FEATURE_WLAN_LPHB
5679/*---------------------------------------------------------------------------
5680 WDI_LPHBConfigParamsType
5681---------------------------------------------------------------------------*/
5682typedef struct
5683{
5684 void* pLphsConfIndData;
5685}WDI_LPHBConfigParamsType;
5686#endif /* FEATURE_WLAN_LPHB */
5687
Yue Mab9c86f42013-08-14 15:59:08 -07005688/*---------------------------------------------------------------------------
5689 WDI_AddPeriodicTxPtrnInfoType
5690---------------------------------------------------------------------------*/
5691typedef struct
5692{
5693 /* MAC Address for the adapter */
5694 wpt_macAddr macAddr;
5695
5696 wpt_uint8 ucPtrnId; // Pattern ID
5697 wpt_uint16 ucPtrnSize; // Pattern size
5698 wpt_uint32 usPtrnIntervalMs; // In msec
5699 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5700} WDI_AddPeriodicTxPtrnInfoType;
5701
5702/*---------------------------------------------------------------------------
5703 WDI_DelPeriodicTxPtrnInfoType
5704---------------------------------------------------------------------------*/
5705typedef struct
5706{
5707 /* MAC Address for the adapter */
5708 wpt_macAddr macAddr;
5709
5710 /* Bitmap of pattern IDs that needs to be deleted */
5711 wpt_uint32 ucPatternIdBitmap;
5712} WDI_DelPeriodicTxPtrnInfoType;
5713
5714/*---------------------------------------------------------------------------
5715 WDI_AddPeriodicTxPtrnParamsType
5716---------------------------------------------------------------------------*/
5717typedef struct
5718{
5719 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5720
5721 /*Request status callback offered by UMAC - it is called if the current
5722 req has returned PENDING as status; it delivers the status of sending
5723 the message over the BUS */
5724 WDI_ReqStatusCb wdiReqStatusCB;
5725
5726 /*The user data passed in by UMAC, it will be sent back when the above
5727 function pointer will be called */
5728 void* pUserData;
5729} WDI_AddPeriodicTxPtrnParamsType;
5730
5731/*---------------------------------------------------------------------------
5732 WDI_DelPeriodicTxPtrnParamsType
5733---------------------------------------------------------------------------*/
5734typedef struct
5735{
5736 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5737
5738 /*Request status callback offered by UMAC - it is called if the current
5739 req has returned PENDING as status; it delivers the status of sending
5740 the message over the BUS */
5741 WDI_ReqStatusCb wdiReqStatusCB;
5742
5743 /*The user data passed in by UMAC, it will be sent back when the above
5744 function pointer will be called */
5745 void* pUserData;
5746} WDI_DelPeriodicTxPtrnParamsType;
5747
Dino Mycle41bdc942014-06-10 11:30:24 +05305748#ifdef WLAN_FEATURE_EXTSCAN
5749
5750#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5751#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5752#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5753#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5754
5755typedef enum
5756{
5757 WDI_WIFI_BAND_UNSPECIFIED,
5758 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5759 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5760 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5761 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5762 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5763 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5764
5765 /* Keep it last */
5766 WDI_WIFI_BAND_MAX
5767} WDI_WifiBand;
5768
5769typedef struct
5770{
5771 wpt_uint32 channel; // frequency
5772 wpt_uint32 dwellTimeMs; // dwell time hint
5773 wpt_uint8 passive; // 0 => active,
5774 // 1 => passive scan; ignored for DFS
5775 wpt_uint8 chnlClass;
5776} WDI_WifiScanChannelSpec;
5777
5778typedef struct
5779{
5780 wpt_uint8 bucket; // bucket index, 0 based
5781 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5782
5783 /*
5784 * desired period, in millisecond; if this is too
5785 * low, the firmware should choose to generate results as fast as
5786 * it can instead of failing the command byte
5787 */
5788 wpt_uint32 period;
5789
5790 /*
5791 * 0 => normal reporting (reporting rssi history
5792 * only, when rssi history buffer is % full)
5793 * 1 => same as 0 + report a scan completion event after scanning
5794 * this bucket
5795 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5796 * in real time to HAL
5797 */
5798 wpt_uint8 reportEvents;
5799
5800 wpt_uint8 numChannels;
5801
5802 /*
5803 * channels to scan; these may include DFS channels
5804 */
5805 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5806} WDI_WifiScanBucketSpec;
5807
5808typedef struct
5809{
5810 wpt_uint32 requestId;
5811 wpt_uint8 sessionId;
5812 wpt_uint32 basePeriod; // base timer period
5813 wpt_uint32 maxAPperScan;
5814
5815 /* in %, when buffer is this much full, wake up host */
5816 wpt_uint32 reportThreshold;
5817
5818 wpt_uint8 numBuckets;
5819 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5820} WDI_EXTScanStartReqParams;
5821
5822typedef struct
5823{
5824 wpt_uint32 requestId;
5825 wpt_uint8 sessionId;
5826} WDI_EXTScanStopReqParams;
5827
5828typedef struct
5829{
5830 wpt_uint32 requestId;
5831 wpt_uint8 sessionId;
5832
5833 /*
5834 * 1 return cached results and flush it
5835 * 0 return cached results and do not flush
5836 */
5837 wpt_boolean flush;
5838} WDI_EXTScanGetCachedResultsReqParams;
5839
5840typedef struct
5841{
5842 wpt_uint32 requestId;
5843 wpt_uint8 sessionId;
5844} WDI_EXTScanGetCapabilitiesReqParams;
5845
5846typedef struct
5847{
5848 wpt_uint8 bssid[6]; /* BSSID */
5849 wpt_int32 low; // low threshold
5850 wpt_int32 high; // high threshold
5851 wpt_uint32 channel; // channel hint
5852} WDI_APThresholdParam;
5853
5854typedef struct
5855{
5856 wpt_int32 requestId;
5857 wpt_int8 sessionId; // session Id mapped to vdev_id
5858
5859 wpt_int32 numAp; // number of hotlist APs
5860 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5861} WDI_EXTScanSetBSSIDHotlistReqParams;
5862
5863typedef struct
5864{
5865 wpt_uint32 requestId;
5866 wpt_uint8 sessionId;
5867} WDI_EXTScanResetBSSIDHotlistReqParams;
5868
5869
5870typedef struct
5871{
5872 wpt_int32 requestId;
5873 wpt_int8 sessionId; // session Id mapped to vdev_id
5874
5875 /* number of samples for averaging RSSI */
5876 wpt_int32 rssiSampleSize;
5877
5878 /* number of missed samples to confirm AP loss */
5879 wpt_int32 lostApSampleSize;
5880
5881 /* number of APs breaching threshold required for firmware
5882 * to generate event
5883 */
5884 wpt_int32 minBreaching;
5885
5886 wpt_int32 numAp; // number of hotlist APs
5887 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5888} WDI_EXTScanSetSignfRSSIChangeReqParams;
5889
5890typedef struct
5891{
5892 wpt_uint32 requestId;
5893 wpt_uint8 sessionId;
5894} WDI_EXTScanResetSignfRSSIChangeReqParams;
5895#endif /* WLAN_FEATURE_EXTSCAN */
5896
Sunil Duttbd736ed2014-05-26 21:19:41 +05305897#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5898typedef struct
5899{
5900 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305901 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305902 wpt_uint32 mpduSizeThreshold;
5903 wpt_uint32 aggressiveStatisticsGathering;
5904}WDI_LLStatsSetReqType;
5905
5906typedef struct
5907{
5908 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305909 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305910 wpt_uint32 paramIdMask;
5911}WDI_LLStatsGetReqType;
5912
5913typedef struct
5914{
5915 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305916 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305917 wpt_uint32 statsClearReqMask;
5918 wpt_uint8 stopReq;
5919}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305920
Sunil Duttbd736ed2014-05-26 21:19:41 +05305921#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5922
Siddharth Bhal171788a2014-09-29 21:02:40 +05305923/*---------------------------------------------------------------------------
5924 WDI_SPOOF_MAC_ADDR_REQ
5925---------------------------------------------------------------------------*/
5926typedef struct
5927{
5928 /* Spoof MAC Address for FW */
5929 wpt_macAddr macAddr;
5930
5931 /* Reserved Params/fields */
5932 wpt_uint32 params;
5933 wpt_uint32 reserved;
5934} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305935
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05305936//This is to force compiler to use the maximum of an int for enum
5937#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
5938// Enum to specify whether key is used
5939// for TX only, RX only or both
5940typedef enum
5941{
5942 eWDI_TX_ONLY,
5943 eWDI_RX_ONLY,
5944 eWDI_TX_RX,
5945 eWDI_TX_DEFAULT,
5946 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
5947} tWDIKeyDirection;
5948
5949// MAX key length when ULA is used
5950#define SIR_MAC_MAX_KEY_LENGTH 32
5951/* Max key size including the WAPI and TKIP */
5952#define WLAN_MAX_KEY_RSC_LEN 16
5953// Definition for Encryption Keys
5954//typedef struct sSirKeys
5955typedef struct
5956{
5957 wpt_uint8 keyId;
5958 wpt_uint8 unicast; // 0 for multicast
5959 tWDIKeyDirection keyDirection;
5960 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
5961 wpt_uint8 paeRole; // =1 for authenticator,
5962 // =0 for supplicant
5963 wpt_uint16 keyLength;
5964 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
5965} tWDIKeys, *tpWDIKeys;
5966
5967typedef enum
5968{
5969 eWDI_WEP_STATIC,
5970 eWDI_WEP_DYNAMIC,
5971} tWDIWepType;
5972
5973// Encryption type enum used with peer
5974typedef enum
5975{
5976 eWDI_ED_NONE,
5977 eWDI_ED_WEP40,
5978 eWDI_ED_WEP104,
5979 eWDI_ED_TKIP,
5980 eWDI_ED_CCMP,
5981#if defined(FEATURE_WLAN_WAPI)
5982 eWDI_ED_WPI,
5983#endif
5984 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
5985 * Thus while setting BIP encryption mode in corresponding DPU Desc
5986 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
5987 */
5988 eWDI_ED_AES_128_CMAC,
5989 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
5990} tWDIEdType;
5991#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
5992/*
5993 * This is used by PE to configure the key information on a given station.
5994 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
5995 * a preconfigured key from a BSS the station assoicated with; otherwise
5996 * a new key descriptor is created based on the key field.
5997 */
5998typedef struct
5999{
6000 wpt_uint16 staIdx;
6001 tWDIEdType encType; // Encryption/Decryption type
6002 tWDIWepType wepType; // valid only for WEP
6003 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6004 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6005 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6006 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6007} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6008
6009typedef struct
6010{
6011 tWDISetStaKeyParams keyParams;
6012 wpt_uint8 pn[6];
6013}wpt_encConfigParams;
6014
6015typedef struct
6016{
6017 wpt_uint16 length;
6018 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6019}wpt_payload;
6020
6021typedef struct
6022{
6023 wpt_80211Header macHeader;
6024 wpt_encConfigParams encParams;
6025 wpt_payload data;
6026}wpt_pkt80211;
6027
Jeff Johnson295189b2012-06-20 16:38:30 -07006028/*----------------------------------------------------------------------------
6029 * WDI callback types
6030 *--------------------------------------------------------------------------*/
6031
6032/*---------------------------------------------------------------------------
6033 WDI_StartRspCb
6034
6035 DESCRIPTION
6036
6037 This callback is invoked by DAL when it has received a Start response from
6038 the underlying device.
6039
6040 PARAMETERS
6041
6042 IN
6043 wdiRspParams: response parameters received from HAL
6044 pUserData: user data
6045
6046
6047 RETURN VALUE
6048 The result code associated with performing the operation
6049---------------------------------------------------------------------------*/
6050typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6051 void* pUserData);
6052
6053/*---------------------------------------------------------------------------
6054 WDI_StartRspCb
6055
6056 DESCRIPTION
6057
6058 This callback is invoked by DAL when it has received a Stop response from
6059 the underlying device.
6060
6061 PARAMETERS
6062
6063 IN
6064 wdiStatus: response status received from HAL
6065 pUserData: user data
6066
6067
6068
6069 RETURN VALUE
6070 The result code associated with performing the operation
6071---------------------------------------------------------------------------*/
6072typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6073 void* pUserData);
6074
6075/*---------------------------------------------------------------------------
6076 WDI_StartRspCb
6077
6078 DESCRIPTION
6079
6080 This callback is invoked by DAL when it has received an Init Scan response
6081 from the underlying device.
6082
6083 PARAMETERS
6084
6085 IN
6086 wdiStatus: response status received from HAL
6087 pUserData: user data
6088
6089
6090
6091 RETURN VALUE
6092 The result code associated with performing the operation
6093---------------------------------------------------------------------------*/
6094typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6095 void* pUserData);
6096
6097
6098/*---------------------------------------------------------------------------
6099 WDI_StartRspCb
6100
6101 DESCRIPTION
6102
6103 This callback is invoked by DAL when it has received a StartScan response
6104 from the underlying device.
6105
6106 PARAMETERS
6107
6108 IN
6109 wdiParams: response params received from HAL
6110 pUserData: user data
6111
6112
6113
6114 RETURN VALUE
6115 The result code associated with performing the operation
6116---------------------------------------------------------------------------*/
6117typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6118 void* pUserData);
6119
6120
6121/*---------------------------------------------------------------------------
6122 WDI_StartRspCb
6123
6124 DESCRIPTION
6125
6126 This callback is invoked by DAL when it has received a End Scan response
6127 from the underlying device.
6128
6129 PARAMETERS
6130
6131 IN
6132 wdiStatus: response status received from HAL
6133 pUserData: user data
6134
6135
6136
6137 RETURN VALUE
6138 The result code associated with performing the operation
6139---------------------------------------------------------------------------*/
6140typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6141 void* pUserData);
6142
6143
6144/*---------------------------------------------------------------------------
6145 WDI_StartRspCb
6146
6147 DESCRIPTION
6148
6149 This callback is invoked by DAL when it has received a Finish Scan response
6150 from the underlying device.
6151
6152 PARAMETERS
6153
6154 IN
6155 wdiStatus: response status received from HAL
6156 pUserData: user data
6157
6158
6159
6160 RETURN VALUE
6161 The result code associated with performing the operation
6162---------------------------------------------------------------------------*/
6163typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6164 void* pUserData);
6165
6166
6167/*---------------------------------------------------------------------------
6168 WDI_StartRspCb
6169
6170 DESCRIPTION
6171
6172 This callback is invoked by DAL when it has received a Join response from
6173 the underlying device.
6174
6175 PARAMETERS
6176
6177 IN
6178 wdiStatus: response status received from HAL
6179 pUserData: user data
6180
6181
6182
6183 RETURN VALUE
6184 The result code associated with performing the operation
6185---------------------------------------------------------------------------*/
6186typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6187 void* pUserData);
6188
6189
6190/*---------------------------------------------------------------------------
6191 WDI_StartRspCb
6192
6193 DESCRIPTION
6194
6195 This callback is invoked by DAL when it has received a Config BSS response
6196 from the underlying device.
6197
6198 PARAMETERS
6199
6200 IN
6201 wdiConfigBSSRsp: response parameters received from HAL
6202 pUserData: user data
6203
6204
6205 RETURN VALUE
6206 The result code associated with performing the operation
6207---------------------------------------------------------------------------*/
6208typedef void (*WDI_ConfigBSSRspCb)(
6209 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6210 void* pUserData);
6211
6212
6213/*---------------------------------------------------------------------------
6214 WDI_StartRspCb
6215
6216 DESCRIPTION
6217
6218 This callback is invoked by DAL when it has received a Del BSS response from
6219 the underlying device.
6220
6221 PARAMETERS
6222
6223 IN
6224 wdiDelBSSRsp: response parameters received from HAL
6225 pUserData: user data
6226
6227
6228 RETURN VALUE
6229 The result code associated with performing the operation
6230---------------------------------------------------------------------------*/
6231typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6232 void* pUserData);
6233
6234
6235/*---------------------------------------------------------------------------
6236 WDI_StartRspCb
6237
6238 DESCRIPTION
6239
6240 This callback is invoked by DAL when it has received a Post Assoc response
6241 from the underlying device.
6242
6243 PARAMETERS
6244
6245 IN
6246 wdiRspParams: response parameters received from HAL
6247 pUserData: user data
6248
6249
6250 RETURN VALUE
6251 The result code associated with performing the operation
6252---------------------------------------------------------------------------*/
6253typedef void (*WDI_PostAssocRspCb)(
6254 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6255 void* pUserData);
6256
6257
6258/*---------------------------------------------------------------------------
6259 WDI_StartRspCb
6260
6261 DESCRIPTION
6262
6263 This callback is invoked by DAL when it has received a Del STA response from
6264 the underlying device.
6265
6266 PARAMETERS
6267
6268 IN
6269 wdiDelSTARsp: response parameters received from HAL
6270 pUserData: user data
6271
6272
6273 RETURN VALUE
6274 The result code associated with performing the operation
6275---------------------------------------------------------------------------*/
6276typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6277 void* pUserData);
6278
6279
6280
6281/*---------------------------------------------------------------------------
6282 WDI_StartRspCb
6283
6284 DESCRIPTION
6285
6286 This callback is invoked by DAL when it has received a Set BSS Key response
6287 from the underlying device.
6288
6289 PARAMETERS
6290
6291 IN
6292 wdiStatus: response status received from HAL
6293 pUserData: user data
6294
6295
6296
6297 RETURN VALUE
6298 The result code associated with performing the operation
6299---------------------------------------------------------------------------*/
6300typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6301 void* pUserData);
6302
6303/*---------------------------------------------------------------------------
6304 WDI_StartRspCb
6305
6306 DESCRIPTION
6307
6308 This callback is invoked by DAL when it has received a Remove BSS Key
6309 response from the underlying device.
6310
6311 PARAMETERS
6312
6313 IN
6314 wdiStatus: response status received from HAL
6315 pUserData: user data
6316
6317
6318
6319 RETURN VALUE
6320 The result code associated with performing the operation
6321---------------------------------------------------------------------------*/
6322typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6323 void* pUserData);
6324
6325/*---------------------------------------------------------------------------
6326 WDI_StartRspCb
6327
6328 DESCRIPTION
6329
6330 This callback is invoked by DAL when it has received a Set STA Key response
6331 from the underlying device.
6332
6333 PARAMETERS
6334
6335 IN
6336 wdiStatus: response status received from HAL
6337 pUserData: user data
6338
6339
Jeff Johnson295189b2012-06-20 16:38:30 -07006340 RETURN VALUE
6341 The result code associated with performing the operation
6342---------------------------------------------------------------------------*/
6343typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6344 void* pUserData);
6345
Jeff Johnson295189b2012-06-20 16:38:30 -07006346/*---------------------------------------------------------------------------
6347 WDI_StartRspCb
6348
6349 DESCRIPTION
6350
6351 This callback is invoked by DAL when it has received a Remove STA Key
6352 response from the underlying device.
6353
6354 PARAMETERS
6355
6356 IN
6357 wdiStatus: response status received from HAL
6358 pUserData: user data
6359
Siddharth Bhal171788a2014-09-29 21:02:40 +05306360
Jeff Johnson295189b2012-06-20 16:38:30 -07006361 RETURN VALUE
6362 The result code associated with performing the operation
6363---------------------------------------------------------------------------*/
6364typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6365 void* pUserData);
6366
6367
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006368#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006369/*---------------------------------------------------------------------------
6370 WDI_TsmRspCb
6371
6372 DESCRIPTION
6373
6374 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6375
6376 PARAMETERS
6377
6378 IN
6379 pTSMStats: response status received from HAL
6380 pUserData: user data
6381
6382
6383
6384 RETURN VALUE
6385 The result code associated with performing the operation
6386---------------------------------------------------------------------------*/
6387typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6388 void* pUserData);
6389#endif
6390
6391/*---------------------------------------------------------------------------
6392 WDI_StartRspCb
6393
6394 DESCRIPTION
6395
6396 This callback is invoked by DAL when it has received a Add TS response from
6397 the underlying device.
6398
6399 PARAMETERS
6400
6401 IN
6402 wdiStatus: response status received from HAL
6403 pUserData: user data
6404
6405
6406
6407 RETURN VALUE
6408 The result code associated with performing the operation
6409---------------------------------------------------------------------------*/
6410typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6411 void* pUserData);
6412
6413/*---------------------------------------------------------------------------
6414 WDI_StartRspCb
6415
6416 DESCRIPTION
6417
6418 This callback is invoked by DAL when it has received a Del TS response from
6419 the underlying device.
6420
6421 PARAMETERS
6422
6423 IN
6424 wdiStatus: response status received from HAL
6425 pUserData: user data
6426
6427
6428
6429 RETURN VALUE
6430 The result code associated with performing the operation
6431---------------------------------------------------------------------------*/
6432typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6433 void* pUserData);
6434
6435/*---------------------------------------------------------------------------
6436 WDI_StartRspCb
6437
6438 DESCRIPTION
6439
6440 This callback is invoked by DAL when it has received an Update EDCA Params
6441 response from the underlying device.
6442
6443 PARAMETERS
6444
6445 IN
6446 wdiStatus: response status received from HAL
6447 pUserData: user data
6448
6449
6450
6451 RETURN VALUE
6452 The result code associated with performing the operation
6453---------------------------------------------------------------------------*/
6454typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6455 void* pUserData);
6456
6457/*---------------------------------------------------------------------------
6458 WDI_StartRspCb
6459
6460 DESCRIPTION
6461
6462 This callback is invoked by DAL when it has received a Add BA response from
6463 the underlying device.
6464
6465 PARAMETERS
6466
6467 IN
6468 wdiStatus: response status received from HAL
6469 pUserData: user data
6470
6471
6472
6473 RETURN VALUE
6474 The result code associated with performing the operation
6475---------------------------------------------------------------------------*/
6476typedef void (*WDI_AddBASessionRspCb)(
6477 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6478 void* pUserData);
6479
6480
6481/*---------------------------------------------------------------------------
6482 WDI_StartRspCb
6483
6484 DESCRIPTION
6485
6486 This callback is invoked by DAL when it has received a Del BA response from
6487 the underlying device.
6488
6489 PARAMETERS
6490
6491 IN
6492 wdiStatus: response status received from HAL
6493 pUserData: user data
6494
6495
6496
6497 RETURN VALUE
6498 The result code associated with performing the operation
6499---------------------------------------------------------------------------*/
6500typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6501 void* pUserData);
6502
6503
6504/*---------------------------------------------------------------------------
6505 WDI_StartRspCb
6506
6507 DESCRIPTION
6508
6509 This callback is invoked by DAL when it has received a Switch Ch response
6510 from the underlying device.
6511
6512 PARAMETERS
6513
6514 IN
6515 wdiRspParams: response parameters received from HAL
6516 pUserData: user data
6517
6518
6519 RETURN VALUE
6520 The result code associated with performing the operation
6521---------------------------------------------------------------------------*/
6522typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6523 void* pUserData);
6524
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006525typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6526 void* pUserData);
6527
Jeff Johnson295189b2012-06-20 16:38:30 -07006528
6529/*---------------------------------------------------------------------------
6530 WDI_StartRspCb
6531
6532 DESCRIPTION
6533
6534 This callback is invoked by DAL when it has received a Config STA response
6535 from the underlying device.
6536
6537 PARAMETERS
6538
6539 IN
6540 wdiRspParams: response parameters received from HAL
6541 pUserData: user data
6542
6543
6544 RETURN VALUE
6545 The result code associated with performing the operation
6546---------------------------------------------------------------------------*/
6547typedef void (*WDI_ConfigSTARspCb)(
6548 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6549 void* pUserData);
6550
6551
6552/*---------------------------------------------------------------------------
6553 WDI_StartRspCb
6554
6555 DESCRIPTION
6556
6557 This callback is invoked by DAL when it has received a Set Link State
6558 response from the underlying device.
6559
6560 PARAMETERS
6561
6562 IN
6563 wdiRspParams: response parameters received from HAL
6564 pUserData: user data
6565
6566
6567 RETURN VALUE
6568 The result code associated with performing the operation
6569---------------------------------------------------------------------------*/
6570typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6571 void* pUserData);
6572
6573
6574/*---------------------------------------------------------------------------
6575 WDI_StartRspCb
6576
6577 DESCRIPTION
6578
6579 This callback is invoked by DAL when it has received a Get Stats response
6580 from the underlying device.
6581
6582 PARAMETERS
6583
6584 IN
6585 wdiRspParams: response parameters received from HAL
6586 pUserData: user data
6587
6588
6589 RETURN VALUE
6590 The result code associated with performing the operation
6591---------------------------------------------------------------------------*/
6592typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6593 void* pUserData);
6594
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006595#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006596/*---------------------------------------------------------------------------
6597 WDI_GetRoamRssiRspCb
6598
6599 DESCRIPTION
6600
6601 This callback is invoked by DAL when it has received a Get Roam Rssi response
6602 from the underlying device.
6603
6604 PARAMETERS
6605
6606 IN
6607 wdiRspParams: response parameters received from HAL
6608 pUserData: user data
6609
6610
6611 RETURN VALUE
6612 The result code associated with performing the operation
6613---------------------------------------------------------------------------*/
6614typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6615 void* pUserData);
6616#endif
6617
Jeff Johnson295189b2012-06-20 16:38:30 -07006618
6619/*---------------------------------------------------------------------------
6620 WDI_StartRspCb
6621
6622 DESCRIPTION
6623
6624 This callback is invoked by DAL when it has received a Update Cfg response
6625 from the underlying device.
6626
6627 PARAMETERS
6628
6629 IN
6630 wdiStatus: response status received from HAL
6631 pUserData: user data
6632
6633
6634 RETURN VALUE
6635 The result code associated with performing the operation
6636---------------------------------------------------------------------------*/
6637typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6638 void* pUserData);
6639
6640/*---------------------------------------------------------------------------
6641 WDI_AddBARspCb
6642
6643 DESCRIPTION
6644
6645 This callback is invoked by DAL when it has received a ADD BA response
6646 from the underlying device.
6647
6648 PARAMETERS
6649
6650 IN
6651 wdiStatus: response status received from HAL
6652 pUserData: user data
6653
6654
6655 RETURN VALUE
6656 The result code associated with performing the operation
6657---------------------------------------------------------------------------*/
6658typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6659 void* pUserData);
6660
6661/*---------------------------------------------------------------------------
6662 WDI_TriggerBARspCb
6663
6664 DESCRIPTION
6665
6666 This callback is invoked by DAL when it has received a ADD BA response
6667 from the underlying device.
6668
6669 PARAMETERS
6670
6671 IN
6672 wdiStatus: response status received from HAL
6673 pUserData: user data
6674
6675
6676 RETURN VALUE
6677 The result code associated with performing the operation
6678---------------------------------------------------------------------------*/
6679typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6680 void* pUserData);
6681
6682
6683/*---------------------------------------------------------------------------
6684 WDI_UpdateBeaconParamsRspCb
6685
6686 DESCRIPTION
6687
6688 This callback is invoked by DAL when it has received a Update Beacon Params response from
6689 the underlying device.
6690
6691 PARAMETERS
6692
6693 IN
6694 wdiStatus: response status received from HAL
6695 pUserData: user data
6696
6697
6698
6699 RETURN VALUE
6700 The result code associated with performing the operation
6701---------------------------------------------------------------------------*/
6702typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6703 void* pUserData);
6704
6705/*---------------------------------------------------------------------------
6706 WDI_SendBeaconParamsRspCb
6707
6708 DESCRIPTION
6709
6710 This callback is invoked by DAL when it has received a Send Beacon Params response from
6711 the underlying device.
6712
6713 PARAMETERS
6714
6715 IN
6716 wdiStatus: response status received from HAL
6717 pUserData: user data
6718
6719
6720
6721 RETURN VALUE
6722 The result code associated with performing the operation
6723---------------------------------------------------------------------------*/
6724typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6725 void* pUserData);
6726
6727/*---------------------------------------------------------------------------
6728 WDA_SetMaxTxPowerRspCb
6729
6730 DESCRIPTION
6731
6732 This callback is invoked by DAL when it has received a set max Tx Power response from
6733 the underlying device.
6734
6735 PARAMETERS
6736
6737 IN
6738 wdiStatus: response status received from HAL
6739 pUserData: user data
6740
6741
6742
6743 RETURN VALUE
6744 The result code associated with performing the operation
6745---------------------------------------------------------------------------*/
6746typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6747 void* pUserData);
6748
6749/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006750 WDA_SetMaxTxPowerPerBandRspCb
6751
6752 DESCRIPTION
6753
6754 This callback is invoked by DAL when it has received a
6755 set max Tx Power Per Band response from the underlying device.
6756
6757 PARAMETERS
6758
6759 IN
6760 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6761 pUserData: user data
6762
6763 RETURN VALUE
6764 The result code associated with performing the operation
6765---------------------------------------------------------------------------*/
6766typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6767 *wdiSetMaxTxPowerPerBandRsp,
6768 void* pUserData);
6769
6770/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006771 WDA_SetTxPowerRspCb
6772
6773 DESCRIPTION
6774
6775 This callback is invoked by DAL when it has received a set max Tx Power response from
6776 the underlying device.
6777
6778 PARAMETERS
6779
6780 IN
6781 wdiStatus: response status received from HAL
6782 pUserData: user data
6783
6784 RETURN VALUE
6785 The result code associated with performing the operation
6786---------------------------------------------------------------------------*/
6787typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6788 void* pUserData);
6789
6790/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006791 WDI_UpdateProbeRspTemplateRspCb
6792
6793 DESCRIPTION
6794
6795 This callback is invoked by DAL when it has received a Probe RSP Template
6796 Update response from the underlying device.
6797
6798 PARAMETERS
6799
6800 IN
6801 wdiStatus: response status received from HAL
6802 pUserData: user data
6803
6804
6805
6806 RETURN VALUE
6807 The result code associated with performing the operation
6808---------------------------------------------------------------------------*/
6809typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6810 void* pUserData);
6811
Jeff Johnson295189b2012-06-20 16:38:30 -07006812/*---------------------------------------------------------------------------
6813 WDI_SetP2PGONOAReqParamsRspCb
6814
6815 DESCRIPTION
6816
6817 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6818 the underlying device.
6819
6820 PARAMETERS
6821
6822 IN
6823 wdiStatus: response status received from HAL
6824 pUserData: user data
6825
6826
6827
6828 RETURN VALUE
6829 The result code associated with performing the operation
6830---------------------------------------------------------------------------*/
6831typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6832 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006833
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306834/*---------------------------------------------------------------------------
6835 WDI_SetTDLSLinkEstablishReqParamsRspCb
6836
6837 DESCRIPTION
6838
6839 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6840 the underlying device.
6841
6842 PARAMETERS
6843
6844 IN
6845 wdiStatus: response status received from HAL
6846 pUserData: user data
6847
6848
6849
6850 RETURN VALUE
6851 The result code associated with performing the operation
6852---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306853typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6854 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306855 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006856
6857/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306858 WDI_SetTDLSChanSwitchReqParamsRspCb
6859
6860 DESCRIPTION
6861
6862 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6863 the underlying device.
6864
6865 PARAMETERS
6866
6867 IN
6868 wdiStatus: response status received from HAL
6869 pUserData: user data
6870
6871
6872
6873 RETURN VALUE
6874 The result code associated with performing the operation
6875---------------------------------------------------------------------------*/
6876typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6877 wdiSetTdlsChanSwitchReqRsp,
6878 void* pUserData);
6879/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006880 WDI_SetPwrSaveCfgCb
6881
6882 DESCRIPTION
6883
6884 This callback is invoked by DAL when it has received a set Power Save CFG
6885 response from the underlying device.
6886
6887 PARAMETERS
6888
6889 IN
6890 wdiStatus: response status received from HAL
6891 pUserData: user data
6892
6893
6894
6895 RETURN VALUE
6896 The result code associated with performing the operation
6897---------------------------------------------------------------------------*/
6898typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6899 void* pUserData);
6900
6901/*---------------------------------------------------------------------------
6902 WDI_SetUapsdAcParamsCb
6903
6904 DESCRIPTION
6905
6906 This callback is invoked by DAL when it has received a set UAPSD params
6907 response from the underlying device.
6908
6909 PARAMETERS
6910
6911 IN
6912 wdiStatus: response status received from HAL
6913 pUserData: user data
6914
6915
6916
6917 RETURN VALUE
6918 The result code associated with performing the operation
6919---------------------------------------------------------------------------*/
6920typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6921 void* pUserData);
6922
6923/*---------------------------------------------------------------------------
6924 WDI_EnterImpsRspCb
6925
6926 DESCRIPTION
6927
6928 This callback is invoked by DAL when it has received a Enter IMPS response
6929 from the underlying device.
6930
6931 PARAMETERS
6932
6933 IN
6934 wdiStatus: response status received from HAL
6935 pUserData: user data
6936
6937
6938
6939 RETURN VALUE
6940 The result code associated with performing the operation
6941---------------------------------------------------------------------------*/
6942typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6943 void* pUserData);
6944
6945/*---------------------------------------------------------------------------
6946 WDI_ExitImpsRspCb
6947
6948 DESCRIPTION
6949
6950 This callback is invoked by DAL when it has received a Exit IMPS response
6951 from the underlying device.
6952
6953 PARAMETERS
6954
6955 IN
6956 wdiStatus: response status received from HAL
6957 pUserData: user data
6958
6959
6960
6961 RETURN VALUE
6962 The result code associated with performing the operation
6963---------------------------------------------------------------------------*/
6964typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6965 void* pUserData);
6966
6967/*---------------------------------------------------------------------------
6968 WDI_EnterBmpsRspCb
6969
6970 DESCRIPTION
6971
6972 This callback is invoked by DAL when it has received a enter BMPS response
6973 from the underlying device.
6974
6975 PARAMETERS
6976
6977 IN
6978 wdiStatus: response status received from HAL
6979 pUserData: user data
6980
6981
6982
6983 RETURN VALUE
6984 The result code associated with performing the operation
6985---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006986typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006987 void* pUserData);
6988
6989/*---------------------------------------------------------------------------
6990 WDI_ExitBmpsRspCb
6991
6992 DESCRIPTION
6993
6994 This callback is invoked by DAL when it has received a exit BMPS response
6995 from the underlying device.
6996
6997 PARAMETERS
6998
6999 IN
7000 wdiStatus: response status received from HAL
7001 pUserData: user data
7002
7003
7004
7005 RETURN VALUE
7006 The result code associated with performing the operation
7007---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007008typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007009 void* pUserData);
7010
7011/*---------------------------------------------------------------------------
7012 WDI_EnterUapsdRspCb
7013
7014 DESCRIPTION
7015
7016 This callback is invoked by DAL when it has received a enter UAPSD response
7017 from the underlying device.
7018
7019 PARAMETERS
7020
7021 IN
7022 wdiStatus: response status received from HAL
7023 pUserData: user data
7024
7025
7026
7027 RETURN VALUE
7028 The result code associated with performing the operation
7029---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007030typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007031 void* pUserData);
7032
7033/*---------------------------------------------------------------------------
7034 WDI_ExitUapsdRspCb
7035
7036 DESCRIPTION
7037
7038 This callback is invoked by DAL when it has received a exit UAPSD response
7039 from the underlying device.
7040
7041 PARAMETERS
7042
7043 IN
7044 wdiStatus: response status received from HAL
7045 pUserData: user data
7046
7047
7048
7049 RETURN VALUE
7050 The result code associated with performing the operation
7051---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007052typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007053 void* pUserData);
7054
7055/*---------------------------------------------------------------------------
7056 WDI_UpdateUapsdParamsCb
7057
7058 DESCRIPTION
7059
7060 This callback is invoked by DAL when it has received a update UAPSD params
7061 response from the underlying device.
7062
7063 PARAMETERS
7064
7065 IN
7066 wdiStatus: response status received from HAL
7067 pUserData: user data
7068
7069
7070
7071 RETURN VALUE
7072 The result code associated with performing the operation
7073---------------------------------------------------------------------------*/
7074typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7075 void* pUserData);
7076
7077/*---------------------------------------------------------------------------
7078 WDI_ConfigureRxpFilterCb
7079
7080 DESCRIPTION
7081
7082 This callback is invoked by DAL when it has received a config RXP filter
7083 response from the underlying device.
7084
7085 PARAMETERS
7086
7087 IN
7088 wdiStatus: response status received from HAL
7089 pUserData: user data
7090
7091
7092
7093 RETURN VALUE
7094 The result code associated with performing the operation
7095---------------------------------------------------------------------------*/
7096typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7097 void* pUserData);
7098
7099/*---------------------------------------------------------------------------
7100 WDI_SetBeaconFilterCb
7101
7102 DESCRIPTION
7103
7104 This callback is invoked by DAL when it has received a set beacon filter
7105 response from the underlying device.
7106
7107 PARAMETERS
7108
7109 IN
7110 wdiStatus: response status received from HAL
7111 pUserData: user data
7112
7113
7114
7115 RETURN VALUE
7116 The result code associated with performing the operation
7117---------------------------------------------------------------------------*/
7118typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7119 void* pUserData);
7120
7121/*---------------------------------------------------------------------------
7122 WDI_RemBeaconFilterCb
7123
7124 DESCRIPTION
7125
7126 This callback is invoked by DAL when it has received a remove beacon filter
7127 response from the underlying device.
7128
7129 PARAMETERS
7130
7131 IN
7132 wdiStatus: response status received from HAL
7133 pUserData: user data
7134
7135
7136
7137 RETURN VALUE
7138 The result code associated with performing the operation
7139---------------------------------------------------------------------------*/
7140typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7141 void* pUserData);
7142
7143/*---------------------------------------------------------------------------
7144 WDI_SetRSSIThresholdsCb
7145
7146 DESCRIPTION
7147
7148 This callback is invoked by DAL when it has received a set RSSI thresholds
7149 response from the underlying device.
7150
7151 PARAMETERS
7152
7153 IN
7154 wdiStatus: response status received from HAL
7155 pUserData: user data
7156
7157
7158
7159 RETURN VALUE
7160 The result code associated with performing the operation
7161---------------------------------------------------------------------------*/
7162typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7163 void* pUserData);
7164
7165/*---------------------------------------------------------------------------
7166 WDI_HostOffloadCb
7167
7168 DESCRIPTION
7169
7170 This callback is invoked by DAL when it has received a host offload
7171 response from the underlying device.
7172
7173 PARAMETERS
7174
7175 IN
7176 wdiStatus: response status received from HAL
7177 pUserData: user data
7178
7179
7180
7181 RETURN VALUE
7182 The result code associated with performing the operation
7183---------------------------------------------------------------------------*/
7184typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7185 void* pUserData);
7186
7187/*---------------------------------------------------------------------------
7188 WDI_KeepAliveCb
7189
7190 DESCRIPTION
7191
7192 This callback is invoked by DAL when it has received a Keep Alive
7193 response from the underlying device.
7194
7195 PARAMETERS
7196
7197 IN
7198 wdiStatus: response status received from HAL
7199 pUserData: user data
7200
7201
7202
7203 RETURN VALUE
7204 The result code associated with performing the operation
7205---------------------------------------------------------------------------*/
7206typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7207 void* pUserData);
7208
7209/*---------------------------------------------------------------------------
7210 WDI_WowlAddBcPtrnCb
7211
7212 DESCRIPTION
7213
7214 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7215 response from the underlying device.
7216
7217 PARAMETERS
7218
7219 IN
7220 wdiStatus: response status received from HAL
7221 pUserData: user data
7222
7223
7224
7225 RETURN VALUE
7226 The result code associated with performing the operation
7227---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007228typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007229 void* pUserData);
7230
7231/*---------------------------------------------------------------------------
7232 WDI_WowlDelBcPtrnCb
7233
7234 DESCRIPTION
7235
7236 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7237 response from the underlying device.
7238
7239 PARAMETERS
7240
7241 IN
7242 wdiStatus: response status received from HAL
7243 pUserData: user data
7244
7245
7246
7247 RETURN VALUE
7248 The result code associated with performing the operation
7249---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007250typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007251 void* pUserData);
7252
7253/*---------------------------------------------------------------------------
7254 WDI_WowlEnterReqCb
7255
7256 DESCRIPTION
7257
7258 This callback is invoked by DAL when it has received a Wowl enter
7259 response from the underlying device.
7260
7261 PARAMETERS
7262
7263 IN
7264 wdiStatus: response status received from HAL
7265 pUserData: user data
7266
7267
7268
7269 RETURN VALUE
7270 The result code associated with performing the operation
7271---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007272typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7273 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007274
7275/*---------------------------------------------------------------------------
7276 WDI_WowlExitReqCb
7277
7278 DESCRIPTION
7279
7280 This callback is invoked by DAL when it has received a Wowl exit
7281 response from the underlying device.
7282
7283 PARAMETERS
7284
7285 IN
7286 wdiStatus: response status received from HAL
7287 pUserData: user data
7288
7289
7290
7291 RETURN VALUE
7292 The result code associated with performing the operation
7293---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007294typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007295 void* pUserData);
7296
7297/*---------------------------------------------------------------------------
7298 WDI_ConfigureAppsCpuWakeupStateCb
7299
7300 DESCRIPTION
7301
7302 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7303 State response from the underlying device.
7304
7305 PARAMETERS
7306
7307 IN
7308 wdiStatus: response status received from HAL
7309 pUserData: user data
7310
7311
7312
7313 RETURN VALUE
7314 The result code associated with performing the operation
7315---------------------------------------------------------------------------*/
7316typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7317 void* pUserData);
7318/*---------------------------------------------------------------------------
7319 WDI_NvDownloadRspCb
7320
7321 DESCRIPTION
7322
7323 This callback is invoked by DAL when it has received a NV Download response
7324 from the underlying device.
7325
7326 PARAMETERS
7327
7328 IN
7329 wdiStatus:response status received from HAL
7330 pUserData:user data
7331
7332 RETURN VALUE
7333 The result code associated with performing the operation
7334---------------------------------------------------------------------------*/
7335typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7336 void* pUserData);
7337/*---------------------------------------------------------------------------
7338 WDI_FlushAcRspCb
7339
7340 DESCRIPTION
7341
7342 This callback is invoked by DAL when it has received a Flush AC response from
7343 the underlying device.
7344
7345 PARAMETERS
7346
7347 IN
7348 wdiStatus: response status received from HAL
7349 pUserData: user data
7350
7351
7352
7353 RETURN VALUE
7354 The result code associated with performing the operation
7355---------------------------------------------------------------------------*/
7356typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7357 void* pUserData);
7358
7359/*---------------------------------------------------------------------------
7360 WDI_BtAmpEventRspCb
7361
7362 DESCRIPTION
7363
7364 This callback is invoked by DAL when it has received a Bt AMP event response
7365 from the underlying device.
7366
7367 PARAMETERS
7368
7369 IN
7370 wdiStatus: response status received from HAL
7371 pUserData: user data
7372
7373
7374
7375 RETURN VALUE
7376 The result code associated with performing the operation
7377---------------------------------------------------------------------------*/
7378typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7379 void* pUserData);
7380
Jeff Johnsone7245742012-09-05 17:12:55 -07007381#ifdef FEATURE_OEM_DATA_SUPPORT
7382/*---------------------------------------------------------------------------
7383 WDI_oemDataRspCb
7384
7385 DESCRIPTION
7386
7387 This callback is invoked by DAL when it has received a Start oem data response from
7388 the underlying device.
7389
7390 PARAMETERS
7391
7392 IN
7393 wdiStatus: response status received from HAL
7394 pUserData: user data
7395
7396
7397
7398 RETURN VALUE
7399 The result code associated with performing the operation
7400---------------------------------------------------------------------------*/
7401typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7402 void* pUserData);
7403
7404#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007405
7406/*---------------------------------------------------------------------------
7407 WDI_HostResumeEventRspCb
7408
7409 DESCRIPTION
7410
7411 This callback is invoked by DAL when it has received a Bt AMP event response
7412 from the underlying device.
7413
7414 PARAMETERS
7415
7416 IN
7417 wdiStatus: response status received from HAL
7418 pUserData: user data
7419
7420
7421
7422 RETURN VALUE
7423 The result code associated with performing the operation
7424---------------------------------------------------------------------------*/
7425typedef void (*WDI_HostResumeEventRspCb)(
7426 WDI_SuspendResumeRspParamsType *resumeRspParams,
7427 void* pUserData);
7428
7429
7430#ifdef WLAN_FEATURE_VOWIFI_11R
7431/*---------------------------------------------------------------------------
7432 WDI_AggrAddTsRspCb
7433
7434 DESCRIPTION
7435
7436 This callback is invoked by DAL when it has received a Aggregated Add TS
7437 response from the underlying device.
7438
7439 PARAMETERS
7440
7441 IN
7442 wdiStatus: response status received from HAL
7443 pUserData: user data
7444
7445
7446
7447 RETURN VALUE
7448 The result code associated with performing the operation
7449---------------------------------------------------------------------------*/
7450typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7451 void* pUserData);
7452#endif /* WLAN_FEATURE_VOWIFI_11R */
7453
Jeff Johnson295189b2012-06-20 16:38:30 -07007454/*---------------------------------------------------------------------------
7455 WDI_FTMCommandRspCb
7456
7457 DESCRIPTION
7458
7459 FTM Command response CB
7460
7461 PARAMETERS
7462
7463 IN
7464 ftmCMDRspdata: FTM response data from HAL
7465 pUserData: user data
7466
7467
7468 RETURN VALUE
7469 NONE
7470---------------------------------------------------------------------------*/
7471typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7472 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007473
7474/*---------------------------------------------------------------------------
7475 WDI_AddSTASelfParamsRspCb
7476
7477 DESCRIPTION
7478
7479 This callback is invoked by DAL when it has received a Add Sta Self Params
7480 response from the underlying device.
7481
7482 PARAMETERS
7483
7484 IN
7485 wdiAddSelfSTARsp: response status received from HAL
7486 pUserData: user data
7487
7488
7489
7490 RETURN VALUE
7491 The result code associated with performing the operation
7492---------------------------------------------------------------------------*/
7493typedef void (*WDI_AddSTASelfParamsRspCb)(
7494 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7495 void* pUserData);
7496
7497
7498/*---------------------------------------------------------------------------
7499 WDI_DelSTASelfRspCb
7500
7501 DESCRIPTION
7502
7503 This callback is invoked by DAL when it has received a host offload
7504 response from the underlying device.
7505
7506 PARAMETERS
7507
7508 IN
7509 wdiStatus: response status received from HAL
7510 pUserData: user data
7511
7512
7513
7514 RETURN VALUE
7515 The result code associated with performing the operation
7516---------------------------------------------------------------------------*/
7517typedef void (*WDI_DelSTASelfRspCb)
7518(
7519WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7520void* pUserData
7521);
7522
7523#ifdef FEATURE_WLAN_SCAN_PNO
7524/*---------------------------------------------------------------------------
7525 WDI_PNOScanCb
7526
7527 DESCRIPTION
7528
7529 This callback is invoked by DAL when it has received a Set PNO
7530 response from the underlying device.
7531
7532 PARAMETERS
7533
7534 IN
7535 wdiStatus: response status received from HAL
7536 pUserData: user data
7537
7538
7539
7540 RETURN VALUE
7541 The result code associated with performing the operation
7542---------------------------------------------------------------------------*/
7543typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7544 void* pUserData);
7545
7546/*---------------------------------------------------------------------------
7547 WDI_PNOScanCb
7548
7549 DESCRIPTION
7550
7551 This callback is invoked by DAL when it has received a Set PNO
7552 response from the underlying device.
7553
7554 PARAMETERS
7555
7556 IN
7557 wdiStatus: response status received from HAL
7558 pUserData: user data
7559
7560
7561
7562 RETURN VALUE
7563 The result code associated with performing the operation
7564---------------------------------------------------------------------------*/
7565typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7566 void* pUserData);
7567
7568/*---------------------------------------------------------------------------
7569 WDI_UpdateScanParamsCb
7570
7571 DESCRIPTION
7572
7573 This callback is invoked by DAL when it has received a Update Scan Params
7574 response from the underlying device.
7575
7576 PARAMETERS
7577
7578 IN
7579 wdiStatus: response status received from HAL
7580 pUserData: user data
7581
7582
7583
7584 RETURN VALUE
7585 The result code associated with performing the operation
7586---------------------------------------------------------------------------*/
7587typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7588 void* pUserData);
7589#endif // FEATURE_WLAN_SCAN_PNO
7590
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007591typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7592 void* pUserData);
7593
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007594#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7595/*---------------------------------------------------------------------------
7596 WDI_RoamOffloadScanCb
7597
7598 DESCRIPTION
7599
7600 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7601 response from the underlying device.
7602
7603 PARAMETERS
7604
7605 IN
7606 wdiStatus: response status received from HAL
7607 pUserData: user data
7608
7609
7610
7611 RETURN VALUE
7612 The result code associated with performing the operation
7613---------------------------------------------------------------------------*/
7614typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7615 void* pUserData);
7616
7617#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007618/*---------------------------------------------------------------------------
7619 WDI_SetTxPerTrackingRspCb
7620
7621 DESCRIPTION
7622
7623 This callback is invoked by DAL when it has received a Tx PER Tracking
7624 response from the underlying device.
7625
7626 PARAMETERS
7627
7628 IN
7629 wdiStatus: response status received from HAL
7630 pUserData: user data
7631
7632
7633
7634 RETURN VALUE
7635 The result code associated with performing the operation
7636---------------------------------------------------------------------------*/
7637typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7638 void* pUserData);
7639
7640#ifdef WLAN_FEATURE_PACKET_FILTERING
7641/*---------------------------------------------------------------------------
7642 WDI_8023MulticastListCb
7643
7644 DESCRIPTION
7645
7646 This callback is invoked by DAL when it has received a 8023 Multicast List
7647 response from the underlying device.
7648
7649 PARAMETERS
7650
7651 IN
7652 wdiStatus: response status received from HAL
7653 pUserData: user data
7654
7655
7656
7657 RETURN VALUE
7658 The result code associated with performing the operation
7659---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007660typedef void (*WDI_8023MulticastListCb)(
7661 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7662 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007663
7664/*---------------------------------------------------------------------------
7665 WDI_ReceiveFilterSetFilterCb
7666
7667 DESCRIPTION
7668
7669 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7670 response from the underlying device.
7671
7672 PARAMETERS
7673
7674 IN
7675 wdiStatus: response status received from HAL
7676 pUserData: user data
7677
7678
7679
7680 RETURN VALUE
7681 The result code associated with performing the operation
7682---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007683typedef void (*WDI_ReceiveFilterSetFilterCb)(
7684 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7685 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007686
7687/*---------------------------------------------------------------------------
7688 WDI_FilterMatchCountCb
7689
7690 DESCRIPTION
7691
7692 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7693 response from the underlying device.
7694
7695 PARAMETERS
7696
7697 IN
7698 wdiStatus: response status received from HAL
7699 pUserData: user data
7700
7701
7702
7703 RETURN VALUE
7704 The result code associated with performing the operation
7705---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007706typedef void (*WDI_FilterMatchCountCb)(
7707 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7708 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007709
7710/*---------------------------------------------------------------------------
7711 WDI_ReceiveFilterClearFilterCb
7712
7713 DESCRIPTION
7714
7715 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7716 response from the underlying device.
7717
7718 PARAMETERS
7719
7720 IN
7721 wdiStatus: response status received from HAL
7722 pUserData: user data
7723
7724
7725
7726 RETURN VALUE
7727 The result code associated with performing the operation
7728---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007729typedef void (*WDI_ReceiveFilterClearFilterCb)(
7730 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7731 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007732#endif // WLAN_FEATURE_PACKET_FILTERING
7733
7734/*---------------------------------------------------------------------------
7735 WDI_HALDumpCmdRspCb
7736
7737 DESCRIPTION
7738
7739 This callback is invoked by DAL when it has received a HAL DUMP Command
7740response from
7741 the HAL layer.
7742
7743 PARAMETERS
7744
7745 IN
7746 wdiHalDumpCmdRsp: response status received from HAL
7747 pUserData: user data
7748
7749
7750
7751 RETURN VALUE
7752 The result code associated with performing the operation
7753---------------------------------------------------------------------------*/
7754typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7755 void* pUserData);
7756
7757/*---------------------------------------------------------------------------
7758 WDI_SetPowerParamsCb
7759
7760 DESCRIPTION
7761
7762 This callback is invoked by DAL when it has received a Set Power Param
7763 response from the underlying device.
7764
7765 PARAMETERS
7766
7767 IN
7768 wdiStatus: response status received from HAL
7769 pUserData: user data
7770
7771
7772
7773 RETURN VALUE
7774 The result code associated with performing the operation
7775---------------------------------------------------------------------------*/
7776typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7777 void* pUserData);
7778
7779#ifdef WLAN_FEATURE_GTK_OFFLOAD
7780/*---------------------------------------------------------------------------
7781 WDI_GtkOffloadCb
7782
7783 DESCRIPTION
7784
7785 This callback is invoked by DAL when it has received a GTK offload
7786 response from the underlying device.
7787
7788 PARAMETERS
7789
7790 IN
7791 wdiStatus: response status received from HAL
7792 pUserData: user data
7793
7794
7795
7796 RETURN VALUE
7797 The result code associated with performing the operation
7798---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007799typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007800 void* pUserData);
7801
7802/*---------------------------------------------------------------------------
7803 WDI_GtkOffloadGetInfoCb
7804
7805 DESCRIPTION
7806
7807 This callback is invoked by DAL when it has received a GTK offload
7808 information response from the underlying device.
7809
7810 PARAMETERS
7811
7812 IN
7813 wdiStatus: response status received from HAL
7814 pUserData: user data
7815
7816
7817
7818 RETURN VALUE
7819 The result code associated with performing the operation
7820---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007821typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007822 void* pUserData);
7823#endif // WLAN_FEATURE_GTK_OFFLOAD
7824
7825/*---------------------------------------------------------------------------
7826 WDI_SetTmLevelCb
7827
7828 DESCRIPTION
7829
7830 This callback is invoked by DAL when it has received a Set New TM Level
7831 done response from the underlying device.
7832
7833 PARAMETERS
7834
7835 IN
7836 wdiStatus: response status received from HAL
7837 pUserData: user data
7838
7839
7840
7841 RETURN VALUE
7842 The result code associated with performing the operation
7843---------------------------------------------------------------------------*/
7844typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7845 void* pUserData);
7846
7847/*---------------------------------------------------------------------------
7848 WDI_featureCapsExchangeCb
7849
7850 DESCRIPTION
7851
7852 This callback is invoked by DAL when it has received a HAL Feature Capbility
7853 Exchange Response the HAL layer. This callback is put to mantain code
7854 similarity and is not being used right now.
7855
7856 PARAMETERS
7857
7858 IN
7859 wdiFeatCapRspParams: response parameters received from HAL
7860 pUserData: user data
7861
7862 RETURN VALUE
7863 The result code associated with performing the operation
7864---------------------------------------------------------------------------*/
7865typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7866 void* pUserData);
7867
Mohit Khanna4a70d262012-09-11 16:30:12 -07007868#ifdef WLAN_FEATURE_11AC
7869typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7870 void* pUserData);
7871#endif
7872
Leo Chang9056f462013-08-01 19:21:11 -07007873#ifdef FEATURE_WLAN_LPHB
7874typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7875 void* pUserData);
7876#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007877
Rajeev79dbe4c2013-10-05 11:03:42 +05307878#ifdef FEATURE_WLAN_BATCH_SCAN
7879/*---------------------------------------------------------------------------
7880 WDI_SetBatchScanCb
7881
7882 DESCRIPTION
7883
7884 This callback is invoked by DAL when it has received a get batch scan
7885 response from the underlying device.
7886
7887 PARAMETERS
7888
7889 IN
7890 wdiStatus: response status received from HAL
7891 pUserData: user data
7892
7893
7894
7895 RETURN VALUE
7896 The result code associated with performing the operation
7897---------------------------------------------------------------------------*/
7898typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7899
7900#endif
7901
c_hpothu92367912014-05-01 15:18:17 +05307902typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7903 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307904
Dino Mycle41bdc942014-06-10 11:30:24 +05307905#ifdef WLAN_FEATURE_EXTSCAN
7906typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7907 void *pUserData);
7908typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7909 void *pUserData);
7910typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7911 void *pUserData);
7912typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7913 void *pUserData);
7914typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7915 void *pUserData);
7916typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
7917 void *pUserData);
7918typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
7919 void *pUserData);
7920typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
7921 void *pUserData);
7922#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05307923
7924#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7925typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7926 void *pUserData);
7927typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7928 void *pUserData);
7929typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7930 void *pUserData);
7931#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05307932
7933typedef void (*WDI_SetSpoofMacAddrRspCb)(
7934 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05307935
Abhishek Singh85b74712014-10-08 11:38:19 +05307936typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
7937 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05307938
7939typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05307940typedef void (*WDI_MgmtLoggingInitRspCb)(
7941 WDI_MgmtLoggingRspParamType *wdiRsp, void *pUserData);
7942
Jeff Johnson295189b2012-06-20 16:38:30 -07007943/*========================================================================
7944 * Function Declarations and Documentation
7945 ==========================================================================*/
7946
7947/*========================================================================
7948
7949 INITIALIZATION APIs
7950
7951==========================================================================*/
7952
7953/**
7954 @brief WDI_Init is used to initialize the DAL.
7955
7956 DAL will allocate all the resources it needs. It will open PAL, it will also
7957 open both the data and the control transport which in their turn will open
7958 DXE/SMD or any other drivers that they need.
7959
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307960 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07007961 ppWDIGlobalCtx: output pointer of Global Context
7962 pWdiDevCapability: output pointer of device capability
7963
7964 @return Result of the function call
7965*/
7966WDI_Status
7967WDI_Init
7968(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307969 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07007970 void** ppWDIGlobalCtx,
7971 WDI_DeviceCapabilityType* pWdiDevCapability,
7972 unsigned int driverType
7973);
7974
7975/**
7976 @brief WDI_Start will be called when the upper MAC is ready to
7977 commence operation with the WLAN Device. Upon the call
7978 of this API the WLAN DAL will pack and send a HAL Start
7979 message to the lower RIVA sub-system if the SMD channel
7980 has been fully opened and the RIVA subsystem is up.
7981
7982 If the RIVA sub-system is not yet up and running DAL
7983 will queue the request for Open and will wait for the
7984 SMD notification before attempting to send down the
7985 message to HAL.
7986
7987 WDI_Init must have been called.
7988
7989 @param wdiStartParams: the start parameters as specified by
7990 the Device Interface
7991
7992 wdiStartRspCb: callback for passing back the response of
7993 the start operation received from the device
7994
7995 pUserData: user data will be passed back with the
7996 callback
7997
7998 @see WDI_Start
7999 @return Result of the function call
8000*/
8001WDI_Status
8002WDI_Start
8003(
8004 WDI_StartReqParamsType* pwdiStartParams,
8005 WDI_StartRspCb wdiStartRspCb,
8006 void* pUserData
8007);
8008
8009
8010/**
8011 @brief WDI_Stop will be called when the upper MAC is ready to
8012 stop any operation with the WLAN Device. Upon the call
8013 of this API the WLAN DAL will pack and send a HAL Stop
8014 message to the lower RIVA sub-system if the DAL Core is
8015 in started state.
8016
8017 In state BUSY this request will be queued.
8018
8019 Request will not be accepted in any other state.
8020
8021 WDI_Start must have been called.
8022
8023 @param wdiStopParams: the stop parameters as specified by
8024 the Device Interface
8025
8026 wdiStopRspCb: callback for passing back the response of
8027 the stop operation received from the device
8028
8029 pUserData: user data will be passed back with the
8030 callback
8031
8032 @see WDI_Start
8033 @return Result of the function call
8034*/
8035WDI_Status
8036WDI_Stop
8037(
8038 WDI_StopReqParamsType* pwdiStopParams,
8039 WDI_StopRspCb wdiStopRspCb,
8040 void* pUserData
8041);
8042
8043/**
8044 @brief WDI_Close will be called when the upper MAC no longer
8045 needs to interract with DAL. DAL will free its control
8046 block.
8047
8048 It is only accepted in state STOPPED.
8049
8050 WDI_Stop must have been called.
8051
8052 @param none
8053
8054 @see WDI_Stop
8055 @return Result of the function call
8056*/
8057WDI_Status
8058WDI_Close
8059(
8060 void
8061);
8062
8063
8064/**
8065 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8066 This will do most of the WDI stop & close
8067 operations without doing any handshake with Riva
8068
8069 This will also make sure that the control transport
8070 will NOT be closed.
8071
8072 This request will not be queued.
8073
8074
8075 WDI_Start must have been called.
8076
8077 @param closeTransport: Close control channel if this is set
8078
8079 @return Result of the function call
8080*/
8081WDI_Status
8082WDI_Shutdown
8083(
8084 wpt_boolean closeTransport
8085);
8086
8087/*========================================================================
8088
8089 SCAN APIs
8090
8091==========================================================================*/
8092
8093/**
8094 @brief WDI_InitScanReq will be called when the upper MAC wants
8095 the WLAN Device to get ready for a scan procedure. Upon
8096 the call of this API the WLAN DAL will pack and send a
8097 HAL Init Scan request message to the lower RIVA
8098 sub-system if DAL is in state STARTED.
8099
8100 In state BUSY this request will be queued. Request won't
8101 be allowed in any other state.
8102
8103 WDI_Start must have been called.
8104
8105 @param wdiInitScanParams: the init scan parameters as specified
8106 by the Device Interface
8107
8108 wdiInitScanRspCb: callback for passing back the response
8109 of the init scan operation received from the device
8110
8111 pUserData: user data will be passed back with the
8112 callback
8113
8114 @see WDI_Start
8115 @return Result of the function call
8116*/
8117WDI_Status
8118WDI_InitScanReq
8119(
8120 WDI_InitScanReqParamsType* pwdiInitScanParams,
8121 WDI_InitScanRspCb wdiInitScanRspCb,
8122 void* pUserData
8123);
8124
8125/**
8126 @brief WDI_StartScanReq will be called when the upper MAC
8127 wishes to change the Scan channel on the WLAN Device.
8128 Upon the call of this API the WLAN DAL will pack and
8129 send a HAL Start Scan request message to the lower RIVA
8130 sub-system if DAL is in state STARTED.
8131
8132 In state BUSY this request will be queued. Request won't
8133 be allowed in any other state.
8134
8135 WDI_InitScanReq must have been called.
8136
8137 @param wdiStartScanParams: the start scan parameters as
8138 specified by the Device Interface
8139
8140 wdiStartScanRspCb: callback for passing back the
8141 response of the start scan operation received from the
8142 device
8143
8144 pUserData: user data will be passed back with the
8145 callback
8146
8147 @see WDI_InitScanReq
8148 @return Result of the function call
8149*/
8150WDI_Status
8151WDI_StartScanReq
8152(
8153 WDI_StartScanReqParamsType* pwdiStartScanParams,
8154 WDI_StartScanRspCb wdiStartScanRspCb,
8155 void* pUserData
8156);
8157
8158
8159/**
8160 @brief WDI_EndScanReq will be called when the upper MAC is
8161 wants to end scanning for a particular channel that it
8162 had set before by calling Scan Start on the WLAN Device.
8163 Upon the call of this API the WLAN DAL will pack and
8164 send a HAL End Scan request message to the lower RIVA
8165 sub-system if DAL is in state STARTED.
8166
8167 In state BUSY this request will be queued. Request won't
8168 be allowed in any other state.
8169
8170 WDI_StartScanReq must have been called.
8171
8172 @param wdiEndScanParams: the end scan parameters as specified
8173 by the Device Interface
8174
8175 wdiEndScanRspCb: callback for passing back the response
8176 of the end scan operation received from the device
8177
8178 pUserData: user data will be passed back with the
8179 callback
8180
8181 @see WDI_StartScanReq
8182 @return Result of the function call
8183*/
8184WDI_Status
8185WDI_EndScanReq
8186(
8187 WDI_EndScanReqParamsType* pwdiEndScanParams,
8188 WDI_EndScanRspCb wdiEndScanRspCb,
8189 void* pUserData
8190);
8191
8192
8193/**
8194 @brief WDI_FinishScanReq will be called when the upper MAC has
8195 completed the scan process on the WLAN Device. Upon the
8196 call of this API the WLAN DAL will pack and send a HAL
8197 Finish Scan Request request message to the lower RIVA
8198 sub-system if DAL is in state STARTED.
8199
8200 In state BUSY this request will be queued. Request won't
8201 be allowed in any other state.
8202
8203 WDI_InitScanReq must have been called.
8204
8205 @param wdiFinishScanParams: the finish scan parameters as
8206 specified by the Device Interface
8207
8208 wdiFinishScanRspCb: callback for passing back the
8209 response of the finish scan operation received from the
8210 device
8211
8212 pUserData: user data will be passed back with the
8213 callback
8214
8215 @see WDI_InitScanReq
8216 @return Result of the function call
8217*/
8218WDI_Status
8219WDI_FinishScanReq
8220(
8221 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8222 WDI_FinishScanRspCb wdiFinishScanRspCb,
8223 void* pUserData
8224);
8225
8226/*========================================================================
8227
8228 ASSOCIATION APIs
8229
8230==========================================================================*/
8231
8232/**
8233 @brief WDI_JoinReq will be called when the upper MAC is ready
8234 to start an association procedure to a BSS. Upon the
8235 call of this API the WLAN DAL will pack and send a HAL
8236 Join request message to the lower RIVA sub-system if
8237 DAL is in state STARTED.
8238
8239 In state BUSY this request will be queued. Request won't
8240 be allowed in any other state.
8241
8242 WDI_Start must have been called.
8243
8244 @param wdiJoinParams: the join parameters as specified by
8245 the Device Interface
8246
8247 wdiJoinRspCb: callback for passing back the response of
8248 the join operation received from the device
8249
8250 pUserData: user data will be passed back with the
8251 callback
8252
8253 @see WDI_Start
8254 @return Result of the function call
8255*/
8256WDI_Status
8257WDI_JoinReq
8258(
8259 WDI_JoinReqParamsType* pwdiJoinParams,
8260 WDI_JoinRspCb wdiJoinRspCb,
8261 void* pUserData
8262);
8263
8264/**
8265 @brief WDI_ConfigBSSReq will be called when the upper MAC
8266 wishes to configure the newly acquired or in process of
8267 being acquired BSS to the HW . Upon the call of this API
8268 the WLAN DAL will pack and send a HAL Config BSS request
8269 message to the lower RIVA sub-system if DAL is in state
8270 STARTED.
8271
8272 In state BUSY this request will be queued. Request won't
8273 be allowed in any other state.
8274
8275 WDI_JoinReq must have been called.
8276
8277 @param wdiConfigBSSParams: the config BSS parameters as
8278 specified by the Device Interface
8279
8280 wdiConfigBSSRspCb: callback for passing back the
8281 response of the config BSS operation received from the
8282 device
8283
8284 pUserData: user data will be passed back with the
8285 callback
8286
8287 @see WDI_JoinReq
8288 @return Result of the function call
8289*/
8290WDI_Status
8291WDI_ConfigBSSReq
8292(
8293 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8294 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8295 void* pUserData
8296);
8297
8298/**
8299 @brief WDI_DelBSSReq will be called when the upper MAC is
8300 dissasociating from the BSS and wishes to notify HW.
8301 Upon the call of this API the WLAN DAL will pack and
8302 send a HAL Del BSS request message to the lower RIVA
8303 sub-system if DAL is in state STARTED.
8304
8305 In state BUSY this request will be queued. Request won't
8306 be allowed in any other state.
8307
8308 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8309
8310 @param wdiDelBSSParams: the del BSS parameters as specified by
8311 the Device Interface
8312
8313 wdiDelBSSRspCb: callback for passing back the response
8314 of the del bss operation received from the device
8315
8316 pUserData: user data will be passed back with the
8317 callback
8318
8319 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8320 @return Result of the function call
8321*/
8322WDI_Status
8323WDI_DelBSSReq
8324(
8325 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8326 WDI_DelBSSRspCb wdiDelBSSRspCb,
8327 void* pUserData
8328);
8329
8330/**
8331 @brief WDI_PostAssocReq will be called when the upper MAC has
8332 associated to a BSS and wishes to configure HW for
8333 associated state. Upon the call of this API the WLAN DAL
8334 will pack and send a HAL Post Assoc request message to
8335 the lower RIVA sub-system if DAL is in state STARTED.
8336
8337 In state BUSY this request will be queued. Request won't
8338 be allowed in any other state.
8339
8340 WDI_JoinReq must have been called.
8341
8342 @param wdiPostAssocReqParams: the assoc parameters as specified
8343 by the Device Interface
8344
8345 wdiPostAssocRspCb: callback for passing back the
8346 response of the post assoc operation received from the
8347 device
8348
8349 pUserData: user data will be passed back with the
8350 callback
8351
8352 @see WDI_JoinReq
8353 @return Result of the function call
8354*/
8355WDI_Status
8356WDI_PostAssocReq
8357(
8358 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8359 WDI_PostAssocRspCb wdiPostAssocRspCb,
8360 void* pUserData
8361);
8362
8363/**
8364 @brief WDI_DelSTAReq will be called when the upper MAC when an
8365 association with another STA has ended and the station
8366 must be deleted from HW. Upon the call of this API the
8367 WLAN DAL will pack and send a HAL Del STA request
8368 message to the lower RIVA sub-system if DAL is in state
8369 STARTED.
8370
8371 In state BUSY this request will be queued. Request won't
8372 be allowed in any other state.
8373
8374 WDI_PostAssocReq must have been called.
8375
8376 @param wdiDelSTAParams: the Del STA parameters as specified by
8377 the Device Interface
8378
8379 wdiDelSTARspCb: callback for passing back the response
8380 of the del STA operation received from the device
8381
8382 pUserData: user data will be passed back with the
8383 callback
8384
8385 @see WDI_PostAssocReq
8386 @return Result of the function call
8387*/
8388WDI_Status
8389WDI_DelSTAReq
8390(
8391 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8392 WDI_DelSTARspCb wdiDelSTARspCb,
8393 void* pUserData
8394);
8395
8396/*========================================================================
8397
8398 SECURITY APIs
8399
8400==========================================================================*/
8401
8402/**
8403 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8404 install a BSS encryption key on the HW. Upon the call of
8405 this API the WLAN DAL will pack and send a HAL Start
8406 request message to the lower RIVA sub-system if DAL is
8407 in state STARTED.
8408
8409 In state BUSY this request will be queued. Request won't
8410 be allowed in any other state.
8411
8412 WDI_PostAssocReq must have been called.
8413
8414 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8415 specified by the Device Interface
8416
8417 wdiSetBSSKeyRspCb: callback for passing back the
8418 response of the set BSS Key operation received from the
8419 device
8420
8421 pUserData: user data will be passed back with the
8422 callback
8423
8424 @see WDI_PostAssocReq
8425 @return Result of the function call
8426*/
8427WDI_Status
8428WDI_SetBSSKeyReq
8429(
8430 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8431 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8432 void* pUserData
8433);
8434
8435
8436/**
8437 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8438 uninstall a BSS key from HW. Upon the call of this API
8439 the WLAN DAL will pack and send a HAL Remove BSS Key
8440 request message to the lower RIVA sub-system if DAL is
8441 in state STARTED.
8442
8443 In state BUSY this request will be queued. Request won't
8444 be allowed in any other state.
8445
8446 WDI_SetBSSKeyReq must have been called.
8447
8448 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8449 specified by the Device Interface
8450
8451 wdiRemoveBSSKeyRspCb: callback for passing back the
8452 response of the remove BSS key operation received from
8453 the device
8454
8455 pUserData: user data will be passed back with the
8456 callback
8457
8458 @see WDI_SetBSSKeyReq
8459 @return Result of the function call
8460*/
8461WDI_Status
8462WDI_RemoveBSSKeyReq
8463(
8464 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8465 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8466 void* pUserData
8467);
8468
8469
8470/**
8471 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8472 ready to install a STA(ast) encryption key in HW. Upon
8473 the call of this API the WLAN DAL will pack and send a
8474 HAL Set STA Key request message to the lower RIVA
8475 sub-system if DAL is in state STARTED.
8476
8477 In state BUSY this request will be queued. Request won't
8478 be allowed in any other state.
8479
8480 WDI_PostAssocReq must have been called.
8481
8482 @param wdiSetSTAKeyParams: the set STA key parameters as
8483 specified by the Device Interface
8484
8485 wdiSetSTAKeyRspCb: callback for passing back the
8486 response of the set STA key operation received from the
8487 device
8488
8489 pUserData: user data will be passed back with the
8490 callback
8491
8492 @see WDI_PostAssocReq
8493 @return Result of the function call
8494*/
8495WDI_Status
8496WDI_SetSTAKeyReq
8497(
8498 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8499 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8500 void* pUserData
8501);
8502
8503
8504/**
8505 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8506 wants to unistall a previously set STA key in HW. Upon
8507 the call of this API the WLAN DAL will pack and send a
8508 HAL Remove STA Key request message to the lower RIVA
8509 sub-system if DAL is in state STARTED.
8510
8511 In state BUSY this request will be queued. Request won't
8512 be allowed in any other state.
8513
8514 WDI_SetSTAKeyReq must have been called.
8515
8516 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8517 specified by the Device Interface
8518
8519 wdiRemoveSTAKeyRspCb: callback for passing back the
8520 response of the remove STA key operation received from
8521 the device
8522
8523 pUserData: user data will be passed back with the
8524 callback
8525
8526 @see WDI_SetSTAKeyReq
8527 @return Result of the function call
8528*/
8529WDI_Status
8530WDI_RemoveSTAKeyReq
8531(
8532 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8533 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8534 void* pUserData
8535);
8536
8537/**
8538 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8539 wants to install a STA Bcast encryption key on the HW.
8540 Upon the call of this API the WLAN DAL will pack and
8541 send a HAL Start request message to the lower RIVA
8542 sub-system if DAL is in state STARTED.
8543
8544 In state BUSY this request will be queued. Request won't
8545 be allowed in any other state.
8546
8547 WDI_PostAssocReq must have been called.
8548
8549 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8550 specified by the Device Interface
8551
8552 wdiSetSTABcastKeyRspCb: callback for passing back the
8553 response of the set BSS Key operation received from the
8554 device
8555
8556 pUserData: user data will be passed back with the
8557 callback
8558
8559 @see WDI_PostAssocReq
8560 @return Result of the function call
8561*/
8562WDI_Status
8563WDI_SetSTABcastKeyReq
8564(
8565 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8566 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8567 void* pUserData
8568);
8569
8570
8571/**
8572 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8573 MAC to uninstall a STA Bcast key from HW. Upon the call
8574 of this API the WLAN DAL will pack and send a HAL Remove
8575 STA Bcast Key request message to the lower RIVA
8576 sub-system if DAL is in state STARTED.
8577
8578 In state BUSY this request will be queued. Request won't
8579 be allowed in any other state.
8580
8581 WDI_SetSTABcastKeyReq must have been called.
8582
8583 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8584 parameters as specified by the Device
8585 Interface
8586
8587 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8588 response of the remove STA Bcast key operation received
8589 from the device
8590
8591 pUserData: user data will be passed back with the
8592 callback
8593
8594 @see WDI_SetSTABcastKeyReq
8595 @return Result of the function call
8596*/
8597WDI_Status
8598WDI_RemoveSTABcastKeyReq
8599(
8600 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8601 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8602 void* pUserData
8603);
8604
schang86c22c42013-03-13 18:41:24 -07008605
8606/**
8607 @brief WDI_SetTxPowerReq will be called when the upper
8608 MAC wants to set Tx Power to HW.
8609 In state BUSY this request will be queued. Request won't
8610 be allowed in any other state.
8611
8612
8613 @param pwdiSetTxPowerParams: set TS Power parameters
8614 BSSID and target TX Power with dbm included
8615
8616 wdiReqStatusCb: callback for passing back the response
8617
8618 pUserData: user data will be passed back with the
8619 callback
8620
8621 @return Result of the function call
8622*/
8623WDI_Status
8624WDI_SetTxPowerReq
8625(
8626 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8627 WDA_SetTxPowerRspCb wdiReqStatusCb,
8628 void* pUserData
8629);
8630
Jeff Johnson295189b2012-06-20 16:38:30 -07008631/**
8632 @brief WDI_SetMaxTxPowerReq will be called when the upper
8633 MAC wants to set Max Tx Power to HW. Upon the
8634 call of this API the WLAN DAL will pack and send a HAL
8635 Remove STA Bcast Key request message to the lower RIVA
8636 sub-system if DAL is in state STARTED.
8637
8638 In state BUSY this request will be queued. Request won't
8639 be allowed in any other state.
8640
8641 WDI_SetSTABcastKeyReq must have been called.
8642
8643 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8644 parameters as specified by the Device
8645 Interface
8646
8647 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8648 response of the remove STA Bcast key operation received
8649 from the device
8650
8651 pUserData: user data will be passed back with the
8652 callback
8653
8654 @see WDI_SetMaxTxPowerReq
8655 @return Result of the function call
8656*/
8657WDI_Status
8658WDI_SetMaxTxPowerReq
8659(
8660 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8661 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8662 void* pUserData
8663);
8664
Arif Hussaina5ebce02013-08-09 15:09:58 -07008665/**
8666 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8667 MAC wants to set Max Tx Power to HW for specific band. Upon the
8668 call of this API the WLAN DAL will pack and send a HAL
8669 Set Max Tx Power Per Band request message to the lower RIVA
8670 sub-system if DAL is in state STARTED.
8671
8672 In state BUSY this request will be queued. Request won't
8673 be allowed in any other state.
8674
8675
8676 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8677
8678 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8679 when it has received a set max Tx Power Per Band response from
8680 the underlying device.
8681
8682 pUserData: user data will be passed back with the
8683 callback
8684
8685 @see WDI_SetMaxTxPowerPerBandReq
8686 @return Result of the function call
8687*/
8688WDI_Status
8689WDI_SetMaxTxPowerPerBandReq
8690(
8691 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8692 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8693 void* pUserData
8694);
8695
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008696#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008697/**
8698 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8699 Traffic Stream metrics.
8700 In state BUSY this request will be queued. Request won't
8701 be allowed in any other state.
8702
8703 @param wdiAddTsReqParams: the add TS parameters as specified by
8704 the Device Interface
8705
8706 wdiAddTsRspCb: callback for passing back the response of
8707 the add TS operation received from the device
8708
8709 pUserData: user data will be passed back with the
8710 callback
8711
8712 @see WDI_PostAssocReq
8713 @return Result of the function call
8714*/
8715WDI_Status
8716WDI_TSMStatsReq
8717(
8718 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8719 WDI_TsmRspCb wdiTsmStatsRspCb,
8720 void* pUserData
8721);
8722
8723
8724#endif
8725
8726/*========================================================================
8727
8728 QoS and BA APIs
8729
8730==========================================================================*/
8731
8732/**
8733 @brief WDI_AddTSReq will be called when the upper MAC to inform
8734 the device of a successful add TSpec negotiation. HW
8735 needs to receive the TSpec Info from the UMAC in order
8736 to configure properly the QoS data traffic. Upon the
8737 call of this API the WLAN DAL will pack and send a HAL
8738 Add TS request message to the lower RIVA sub-system if
8739 DAL is in state STARTED.
8740
8741 In state BUSY this request will be queued. Request won't
8742 be allowed in any other state.
8743
8744 WDI_PostAssocReq must have been called.
8745
8746 @param wdiAddTsReqParams: the add TS parameters as specified by
8747 the Device Interface
8748
8749 wdiAddTsRspCb: callback for passing back the response of
8750 the add TS operation received from the device
8751
8752 pUserData: user data will be passed back with the
8753 callback
8754
8755 @see WDI_PostAssocReq
8756 @return Result of the function call
8757*/
8758WDI_Status
8759WDI_AddTSReq
8760(
8761 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8762 WDI_AddTsRspCb wdiAddTsRspCb,
8763 void* pUserData
8764);
8765
8766
8767
8768/**
8769 @brief WDI_DelTSReq will be called when the upper MAC has ended
8770 admission on a specific AC. This is to inform HW that
8771 QoS traffic parameters must be rest. Upon the call of
8772 this API the WLAN DAL will pack and send a HAL Del TS
8773 request message to the lower RIVA sub-system if DAL is
8774 in state STARTED.
8775
8776 In state BUSY this request will be queued. Request won't
8777 be allowed in any other state.
8778
8779 WDI_AddTSReq must have been called.
8780
8781 @param wdiDelTsReqParams: the del TS parameters as specified by
8782 the Device Interface
8783
8784 wdiDelTsRspCb: callback for passing back the response of
8785 the del TS operation received from the device
8786
8787 pUserData: user data will be passed back with the
8788 callback
8789
8790 @see WDI_AddTSReq
8791 @return Result of the function call
8792*/
8793WDI_Status
8794WDI_DelTSReq
8795(
8796 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8797 WDI_DelTsRspCb wdiDelTsRspCb,
8798 void* pUserData
8799);
8800
8801
8802
8803/**
8804 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8805 wishes to update the EDCA parameters used by HW for QoS
8806 data traffic. Upon the call of this API the WLAN DAL
8807 will pack and send a HAL Update EDCA Params request
8808 message to the lower RIVA sub-system if DAL is in state
8809 STARTED.
8810
8811 In state BUSY this request will be queued. Request won't
8812 be allowed in any other state.
8813
8814 WDI_PostAssocReq must have been called.
8815
8816 @param wdiUpdateEDCAParams: the start parameters as specified
8817 by the Device Interface
8818
8819 wdiUpdateEDCAParamsRspCb: callback for passing back the
8820 response of the start operation received from the device
8821
8822 pUserData: user data will be passed back with the
8823 callback
8824
8825 @see WDI_PostAssocReq
8826 @return Result of the function call
8827*/
8828WDI_Status
8829WDI_UpdateEDCAParams
8830(
8831 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8832 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8833 void* pUserData
8834);
8835
8836
8837
8838/**
8839 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8840 successfully a BA session and needs to notify the HW for
8841 the appropriate settings to take place. Upon the call of
8842 this API the WLAN DAL will pack and send a HAL Add BA
8843 request message to the lower RIVA sub-system if DAL is
8844 in state STARTED.
8845
8846 In state BUSY this request will be queued. Request won't
8847 be allowed in any other state.
8848
8849 WDI_PostAssocReq must have been called.
8850
8851 @param wdiAddBAReqParams: the add BA parameters as specified by
8852 the Device Interface
8853
8854 wdiAddBARspCb: callback for passing back the response of
8855 the add BA operation received from the device
8856
8857 pUserData: user data will be passed back with the
8858 callback
8859
8860 @see WDI_PostAssocReq
8861 @return Result of the function call
8862*/
8863WDI_Status
8864WDI_AddBASessionReq
8865(
8866 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8867 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8868 void* pUserData
8869);
8870
8871
8872/**
8873 @brief WDI_DelBAReq will be called when the upper MAC wants to
8874 inform HW that it has deleted a previously created BA
8875 session. Upon the call of this API the WLAN DAL will
8876 pack and send a HAL Del BA request message to the lower
8877 RIVA sub-system if DAL is in state STARTED.
8878
8879 In state BUSY this request will be queued. Request won't
8880 be allowed in any other state.
8881
8882 WDI_AddBAReq must have been called.
8883
8884 @param wdiDelBAReqParams: the del BA parameters as specified by
8885 the Device Interface
8886
8887 wdiDelBARspCb: callback for passing back the response of
8888 the del BA operation received from the device
8889
8890 pUserData: user data will be passed back with the
8891 callback
8892
8893 @see WDI_AddBAReq
8894 @return Result of the function call
8895*/
8896WDI_Status
8897WDI_DelBAReq
8898(
8899 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8900 WDI_DelBARspCb wdiDelBARspCb,
8901 void* pUserData
8902);
8903
8904/**
8905 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8906 inform HW that there is a change in the beacon parameters
8907 Upon the call of this API the WLAN DAL will
8908 pack and send a UpdateBeacon Params message to the lower
8909 RIVA sub-system if DAL is in state STARTED.
8910
8911 In state BUSY this request will be queued. Request won't
8912 be allowed in any other state.
8913
8914 WDI_UpdateBeaconParamsReq must have been called.
8915
8916 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8917 the Device Interface
8918
8919 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8920 the Update Beacon Params operation received from the device
8921
8922 pUserData: user data will be passed back with the
8923 callback
8924
8925 @see WDI_AddBAReq
8926 @return Result of the function call
8927*/
8928
8929WDI_Status
8930WDI_UpdateBeaconParamsReq
8931(
8932 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8933 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8934 void* pUserData
8935);
8936
8937
8938/**
8939 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8940 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8941 Upon the call of this API the WLAN DAL will
8942 pack and send the beacon Template message to the lower
8943 RIVA sub-system if DAL is in state STARTED.
8944
8945 In state BUSY this request will be queued. Request won't
8946 be allowed in any other state.
8947
8948 WDI_SendBeaconParamsReq must have been called.
8949
8950 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8951 the Device Interface
8952
8953 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8954 the Send Beacon Params operation received from the device
8955
8956 pUserData: user data will be passed back with the
8957 callback
8958
8959 @see WDI_AddBAReq
8960 @return Result of the function call
8961*/
8962
8963WDI_Status
8964WDI_SendBeaconParamsReq
8965(
8966 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8967 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8968 void* pUserData
8969);
8970
8971
8972/**
8973 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8974 upper MAC wants to update the probe response template to
8975 be transmitted as Soft AP
8976 Upon the call of this API the WLAN DAL will
8977 pack and send the probe rsp template message to the
8978 lower RIVA sub-system if DAL is in state STARTED.
8979
8980 In state BUSY this request will be queued. Request won't
8981 be allowed in any other state.
8982
8983
8984 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8985 specified by the Device Interface
8986
8987 wdiSendBeaconParamsRspCb: callback for passing back the
8988 response of the Send Beacon Params operation received
8989 from the device
8990
8991 pUserData: user data will be passed back with the
8992 callback
8993
8994 @see WDI_AddBAReq
8995 @return Result of the function call
8996*/
8997
8998WDI_Status
8999WDI_UpdateProbeRspTemplateReq
9000(
9001 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9002 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9003 void* pUserData
9004);
9005
Jeff Johnson295189b2012-06-20 16:38:30 -07009006/**
9007 @brief WDI_SetP2PGONOAReq will be called when the
9008 upper MAC wants to send Notice of Absence
9009 Upon the call of this API the WLAN DAL will
9010 pack and send the probe rsp template message to the
9011 lower RIVA sub-system if DAL is in state STARTED.
9012
9013 In state BUSY this request will be queued. Request won't
9014 be allowed in any other state.
9015
9016
9017 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9018 specified by the Device Interface
9019
9020 wdiSendBeaconParamsRspCb: callback for passing back the
9021 response of the Send Beacon Params operation received
9022 from the device
9023
9024 pUserData: user data will be passed back with the
9025 callback
9026
9027 @see WDI_AddBAReq
9028 @return Result of the function call
9029*/
9030WDI_Status
9031WDI_SetP2PGONOAReq
9032(
9033 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9034 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9035 void* pUserData
9036);
Jeff Johnson295189b2012-06-20 16:38:30 -07009037
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309038/**
9039 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9040 upper MAC wants to send TDLS Link Establish Request Parameters
9041 Upon the call of this API the WLAN DAL will
9042 pack and send the TDLS Link Establish Request message to the
9043 lower RIVA sub-system if DAL is in state STARTED.
9044
9045 In state BUSY this request will be queued. Request won't
9046 be allowed in any other state.
9047
9048
9049 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9050 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9051
9052 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9053 response of the TDLS Link Establish request received
9054 from the device
9055
9056 pUserData: user data will be passed back with the
9057 callback
9058
9059 @see
9060 @return Result of the function call
9061*/
9062WDI_Status
9063WDI_SetTDLSLinkEstablishReq
9064(
9065 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9066 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9067 void* pUserData
9068);
Jeff Johnson295189b2012-06-20 16:38:30 -07009069
Atul Mittalc0f739f2014-07-31 13:47:47 +05309070WDI_Status
9071WDI_SetTDLSChanSwitchReq
9072(
9073 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9074 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9075 void* pUserData
9076);
Jeff Johnson295189b2012-06-20 16:38:30 -07009077/*========================================================================
9078
9079 Power Save APIs
9080
9081==========================================================================*/
9082
9083/**
9084 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9085 wants to set the power save related configurations of
9086 the WLAN Device. Upon the call of this API the WLAN DAL
9087 will pack and send a HAL Update CFG request message to
9088 the 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 WDI_Start must have been called.
9094
9095 @param pwdiPowerSaveCfg: the power save cfg parameters as
9096 specified by the Device Interface
9097
9098 wdiSetPwrSaveCfgCb: callback for passing back the
9099 response of the set power save cfg operation received
9100 from the device
9101
9102 pUserData: user data will be passed back with the
9103 callback
9104
9105 @see WDI_Start
9106 @return Result of the function call
9107*/
9108WDI_Status
9109WDI_SetPwrSaveCfgReq
9110(
9111 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9112 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9113 void* pUserData
9114);
9115
9116/**
9117 @brief WDI_EnterImpsReq will be called when the upper MAC to
9118 request the device to get into IMPS power state. Upon
9119 the call of this API the WLAN DAL will send a HAL Enter
9120 IMPS request message to the lower RIVA sub-system if DAL
9121 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 wdiEnterImpsRspCb: callback for passing back the
9128 response of the Enter IMPS operation received from the
9129 device
9130
9131 pUserData: user data will be passed back with the
9132 callback
9133
9134 @see WDI_Start
9135 @return Result of the function call
9136*/
9137WDI_Status
9138WDI_EnterImpsReq
9139(
Mihir Shetea4306052014-03-25 00:02:54 +05309140 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009141 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9142 void* pUserData
9143);
9144
9145/**
9146 @brief WDI_ExitImpsReq will be called when the upper MAC to
9147 request the device to get out of IMPS power state. Upon
9148 the call of this API the WLAN DAL will send a HAL Exit
9149 IMPS request message to the lower RIVA sub-system if DAL
9150 is in state STARTED.
9151
9152 In state BUSY this request will be queued. Request won't
9153 be allowed in any other state.
9154
9155
9156
9157 @param wdiExitImpsRspCb: callback for passing back the response
9158 of the Exit IMPS operation received from the device
9159
9160 pUserData: user data will be passed back with the
9161 callback
9162
9163 @see WDI_Start
9164 @return Result of the function call
9165*/
9166WDI_Status
9167WDI_ExitImpsReq
9168(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309169 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009170 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9171 void* pUserData
9172);
9173
9174/**
9175 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9176 request the device to get into BMPS power state. Upon
9177 the call of this API the WLAN DAL will pack and send a
9178 HAL Enter BMPS request message to the lower RIVA
9179 sub-system if DAL is in state STARTED.
9180
9181 In state BUSY this request will be queued. Request won't
9182 be allowed in any other state.
9183
9184 WDI_PostAssocReq must have been called.
9185
9186 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9187 specified by the Device Interface
9188
9189 wdiEnterBmpsRspCb: callback for passing back the
9190 response of the Enter BMPS operation received from the
9191 device
9192
9193 pUserData: user data will be passed back with the
9194 callback
9195
9196 @see WDI_PostAssocReq
9197 @return Result of the function call
9198*/
9199WDI_Status
9200WDI_EnterBmpsReq
9201(
9202 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9203 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9204 void* pUserData
9205);
9206
9207/**
9208 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9209 request the device to get out of BMPS power state. Upon
9210 the call of this API the WLAN DAL will pack and send a
9211 HAL Exit BMPS request message to the lower RIVA
9212 sub-system if DAL is in state STARTED.
9213
9214 In state BUSY this request will be queued. Request won't
9215 be allowed in any other state.
9216
9217 WDI_PostAssocReq must have been called.
9218
9219 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9220 specified by the Device Interface
9221
9222 wdiExitBmpsRspCb: callback for passing back the response
9223 of the Exit BMPS operation received from the device
9224
9225 pUserData: user data will be passed back with the
9226 callback
9227
9228 @see WDI_PostAssocReq
9229 @return Result of the function call
9230*/
9231WDI_Status
9232WDI_ExitBmpsReq
9233(
9234 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9235 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9236 void* pUserData
9237);
9238
9239/**
9240 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9241 request the device to get into UAPSD power state. Upon
9242 the call of this API the WLAN DAL will pack and send a
9243 HAL Enter UAPSD request message to the lower RIVA
9244 sub-system if DAL is in state STARTED.
9245
9246 In state BUSY this request will be queued. Request won't
9247 be allowed in any other state.
9248
9249 WDI_PostAssocReq must have been called.
9250 WDI_SetUapsdAcParamsReq must have been called.
9251
9252 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9253 specified by the Device Interface
9254
9255 wdiEnterUapsdRspCb: callback for passing back the
9256 response of the Enter UAPSD operation received from the
9257 device
9258
9259 pUserData: user data will be passed back with the
9260 callback
9261
9262 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9263 @return Result of the function call
9264*/
9265WDI_Status
9266WDI_EnterUapsdReq
9267(
9268 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9269 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9270 void* pUserData
9271);
9272
9273/**
9274 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9275 request the device to get out of UAPSD power state. Upon
9276 the call of this API the WLAN DAL will send a HAL Exit
9277 UAPSD request message to the lower RIVA sub-system if
9278 DAL is in state STARTED.
9279
9280 In state BUSY this request will be queued. Request won't
9281 be allowed in any other state.
9282
9283 WDI_PostAssocReq must have been called.
9284
9285 @param wdiExitUapsdRspCb: callback for passing back the
9286 response of the Exit UAPSD operation received from the
9287 device
9288
9289 pUserData: user data will be passed back with the
9290 callback
9291
9292 @see WDI_PostAssocReq
9293 @return Result of the function call
9294*/
9295WDI_Status
9296WDI_ExitUapsdReq
9297(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009298 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009299 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9300 void* pUserData
9301);
9302
9303/**
9304 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9305 MAC wants to set the UAPSD related configurations
9306 of an associated STA (while acting as an AP) to the WLAN
9307 Device. Upon the call of this API the WLAN DAL will pack
9308 and send a HAL Update UAPSD params request message to
9309 the lower RIVA sub-system if DAL is in state STARTED.
9310
9311 In state BUSY this request will be queued. Request won't
9312 be allowed in any other state.
9313
9314 WDI_ConfigBSSReq must have been called.
9315
9316 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9317 as specified by the Device Interface
9318
9319 wdiUpdateUapsdParamsCb: callback for passing back the
9320 response of the update UAPSD params operation received
9321 from the device
9322
9323 pUserData: user data will be passed back with the
9324 callback
9325
9326 @see WDI_ConfigBSSReq
9327 @return Result of the function call
9328*/
9329WDI_Status
9330WDI_UpdateUapsdParamsReq
9331(
9332 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9333 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9334 void* pUserData
9335);
9336
9337/**
9338 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9339 MAC wants to set the UAPSD related configurations before
9340 requesting for enter UAPSD power state to the WLAN
9341 Device. Upon the call of this API the WLAN DAL will pack
9342 and send a HAL Set UAPSD params request message to
9343 the lower RIVA sub-system if DAL is in state STARTED.
9344
9345 In state BUSY this request will be queued. Request won't
9346 be allowed in any other state.
9347
9348 WDI_PostAssocReq must have been called.
9349
9350 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9351 the Device Interface
9352
9353 wdiSetUapsdAcParamsCb: callback for passing back the
9354 response of the set UAPSD params operation received from
9355 the device
9356
9357 pUserData: user data will be passed back with the
9358 callback
9359
9360 @see WDI_PostAssocReq
9361 @return Result of the function call
9362*/
9363WDI_Status
9364WDI_SetUapsdAcParamsReq
9365(
9366 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9367 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9368 void* pUserData
9369);
9370
9371/**
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309372 @brief WDI_MgmtLoggingInitReq will be called when the upper
9373 MAC wants to initialize frame logging. Upon the call of
9374 this API the WLAN DAL will pack and send a HAL
9375 Frame logging init request message to
9376 the lower RIVA sub-system.
9377
9378 In state BUSY this request will be queued. Request won't
9379 be allowed in any other state.
9380
9381
9382 @param pwdiMgmtLoggingInitReqParams: the Frame Logging params
9383 as specified by the Device Interface
9384
9385 wdiMgmtLoggingInitReqCb: callback for passing back the
9386 response of the frame logging init operation received
9387 from the device
9388
9389 pUserData: user data will be passed back with the
9390 callback
9391
9392 @return Result of the function call
9393*/
9394WDI_Status
9395WDI_MgmtLoggingInitReq
9396(
9397 WDI_MgmtLoggingInitReqInfoType *pwdiMgmtLoggingInitReqInfo,
9398 WDI_MgmtLoggingInitRspCb wdiMgmtLoggingInitReqCb,
9399 void* pUserData
9400);
9401
9402/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009403 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9404 MAC wants to set/reset the RXP filters for received pkts
9405 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9406 and send a HAL configure RXP filter request message to
9407 the lower RIVA sub-system.
9408
9409 In state BUSY this request will be queued. Request won't
9410 be allowed in any other state.
9411
9412
9413 @param pwdiConfigureRxpFilterReqParams: the RXP
9414 filter as specified by the Device
9415 Interface
9416
9417 wdiConfigureRxpFilterCb: callback for passing back the
9418 response of the configure RXP filter operation received
9419 from the device
9420
9421 pUserData: user data will be passed back with the
9422 callback
9423
9424 @return Result of the function call
9425*/
9426WDI_Status
9427WDI_ConfigureRxpFilterReq
9428(
9429 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9430 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9431 void* pUserData
9432);
9433
9434/**
9435 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9436 wants to set the beacon filters while in power save.
9437 Upon the call of this API the WLAN DAL will pack and
9438 send a Beacon filter request message to the
9439 lower RIVA sub-system.
9440
9441 In state BUSY this request will be queued. Request won't
9442 be allowed in any other state.
9443
9444
9445 @param pwdiBeaconFilterReqParams: the beacon
9446 filter as specified by the Device
9447 Interface
9448
9449 wdiBeaconFilterCb: callback for passing back the
9450 response of the set beacon filter operation received
9451 from the device
9452
9453 pUserData: user data will be passed back with the
9454 callback
9455
9456 @return Result of the function call
9457*/
9458WDI_Status
9459WDI_SetBeaconFilterReq
9460(
9461 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9462 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9463 void* pUserData
9464);
9465
9466/**
9467 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9468 wants to remove the beacon filter for perticular IE
9469 while in power save. Upon the call of this API the WLAN
9470 DAL will pack and send a remove Beacon filter request
9471 message to the lower RIVA sub-system.
9472
9473 In state BUSY this request will be queued. Request won't
9474 be allowed in any other state.
9475
9476
9477 @param pwdiBeaconFilterReqParams: the beacon
9478 filter as specified by the Device
9479 Interface
9480
9481 wdiBeaconFilterCb: callback for passing back the
9482 response of the remove beacon filter operation received
9483 from the device
9484
9485 pUserData: user data will be passed back with the
9486 callback
9487
9488 @return Result of the function call
9489*/
9490WDI_Status
9491WDI_RemBeaconFilterReq
9492(
9493 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9494 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9495 void* pUserData
9496);
9497
9498/**
9499 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9500 MAC wants to set the RSSI thresholds related
9501 configurations while in power save. Upon the call of
9502 this API the WLAN DAL will pack and send a HAL Set RSSI
9503 thresholds request message to the lower RIVA
9504 sub-system if DAL is in state STARTED.
9505
9506 In state BUSY this request will be queued. Request won't
9507 be allowed in any other state.
9508
9509 WDI_PostAssocReq must have been called.
9510
9511 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9512 the Device Interface
9513
9514 wdiSetUapsdAcParamsCb: callback for passing back the
9515 response of the set UAPSD params operation received from
9516 the device
9517
9518 pUserData: user data will be passed back with the
9519 callback
9520
9521 @see WDI_PostAssocReq
9522 @return Result of the function call
9523*/
9524WDI_Status
9525WDI_SetRSSIThresholdsReq
9526(
9527 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9528 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9529 void* pUserData
9530);
9531
9532/**
9533 @brief WDI_HostOffloadReq will be called when the upper MAC
9534 wants to set the filter to minimize unnecessary host
9535 wakeup due to broadcast traffic while in power save.
9536 Upon the call of this API the WLAN DAL will pack and
9537 send a HAL host offload request message to the
9538 lower RIVA sub-system if DAL is in state STARTED.
9539
9540 In state BUSY this request will be queued. Request won't
9541 be allowed in any other state.
9542
9543 WDI_PostAssocReq must have been called.
9544
9545 @param pwdiHostOffloadParams: the host offload as specified
9546 by the Device Interface
9547
9548 wdiHostOffloadCb: callback for passing back the response
9549 of the host offload operation received from the
9550 device
9551
9552 pUserData: user data will be passed back with the
9553 callback
9554
9555 @see WDI_PostAssocReq
9556 @return Result of the function call
9557*/
9558WDI_Status
9559WDI_HostOffloadReq
9560(
9561 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9562 WDI_HostOffloadCb wdiHostOffloadCb,
9563 void* pUserData
9564);
9565
9566/**
9567 @brief WDI_KeepAliveReq will be called when the upper MAC
9568 wants to set the filter to send NULL or unsolicited ARP responses
9569 and minimize unnecessary host wakeups due to while in power save.
9570 Upon the call of this API the WLAN DAL will pack and
9571 send a HAL Keep Alive request message to the
9572 lower RIVA sub-system if DAL is in state STARTED.
9573
9574 In state BUSY this request will be queued. Request won't
9575 be allowed in any other state.
9576
9577 WDI_PostAssocReq must have been called.
9578
9579 @param pwdiKeepAliveParams: the Keep Alive as specified
9580 by the Device Interface
9581
9582 wdiKeepAliveCb: callback for passing back the response
9583 of the Keep Alive operation received from the
9584 device
9585
9586 pUserData: user data will be passed back with the
9587 callback
9588
9589 @see WDI_PostAssocReq
9590 @return Result of the function call
9591*/
9592WDI_Status
9593WDI_KeepAliveReq
9594(
9595 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9596 WDI_KeepAliveCb wdiKeepAliveCb,
9597 void* pUserData
9598);
9599
9600/**
9601 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9602 wants to set the Wowl Bcast ptrn to minimize unnecessary
9603 host wakeup due to broadcast traffic while in power
9604 save. Upon the call of this API the WLAN DAL will pack
9605 and send a HAL Wowl Bcast ptrn request message to the
9606 lower RIVA sub-system if DAL is in state STARTED.
9607
9608 In state BUSY this request will be queued. Request won't
9609 be allowed in any other state.
9610
9611 WDI_PostAssocReq must have been called.
9612
9613 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9614 specified by the Device Interface
9615
9616 wdiWowlAddBcPtrnCb: callback for passing back the
9617 response of the add Wowl bcast ptrn operation received
9618 from the device
9619
9620 pUserData: user data will be passed back with the
9621 callback
9622
9623 @see WDI_PostAssocReq
9624 @return Result of the function call
9625*/
9626WDI_Status
9627WDI_WowlAddBcPtrnReq
9628(
9629 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9630 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9631 void* pUserData
9632);
9633
9634/**
9635 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9636 wants to clear the Wowl Bcast ptrn. Upon the call of
9637 this API the WLAN DAL will pack and send a HAL delete
9638 Wowl Bcast ptrn request message to the lower RIVA
9639 sub-system if DAL is in state STARTED.
9640
9641 In state BUSY this request will be queued. Request won't
9642 be allowed in any other state.
9643
9644 WDI_WowlAddBcPtrnReq must have been called.
9645
9646 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9647 specified by the Device Interface
9648
9649 wdiWowlDelBcPtrnCb: callback for passing back the
9650 response of the del Wowl bcast ptrn operation received
9651 from the device
9652
9653 pUserData: user data will be passed back with the
9654 callback
9655
9656 @see WDI_WowlAddBcPtrnReq
9657 @return Result of the function call
9658*/
9659WDI_Status
9660WDI_WowlDelBcPtrnReq
9661(
9662 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9663 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9664 void* pUserData
9665);
9666
9667/**
9668 @brief WDI_WowlEnterReq will be called when the upper MAC
9669 wants to enter the Wowl state to minimize unnecessary
9670 host wakeup while in power save. Upon the call of this
9671 API the WLAN DAL will pack and send a HAL Wowl enter
9672 request message to the lower RIVA sub-system if DAL is
9673 in state STARTED.
9674
9675 In state BUSY this request will be queued. Request won't
9676 be allowed in any other state.
9677
9678 WDI_PostAssocReq must have been called.
9679
9680 @param pwdiWowlEnterReqParams: the Wowl enter info as
9681 specified by the Device Interface
9682
9683 wdiWowlEnterReqCb: callback for passing back the
9684 response of the enter Wowl operation received from the
9685 device
9686
9687 pUserData: user data will be passed back with the
9688 callback
9689
9690 @see WDI_PostAssocReq
9691 @return Result of the function call
9692*/
9693WDI_Status
9694WDI_WowlEnterReq
9695(
9696 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9697 WDI_WowlEnterReqCb wdiWowlEnterCb,
9698 void* pUserData
9699);
9700
9701/**
9702 @brief WDI_WowlExitReq will be called when the upper MAC
9703 wants to exit the Wowl state. Upon the call of this API
9704 the WLAN DAL will pack and send a HAL Wowl exit request
9705 message to the lower RIVA sub-system if DAL is in state
9706 STARTED.
9707
9708 In state BUSY this request will be queued. Request won't
9709 be allowed in any other state.
9710
9711 WDI_WowlEnterReq must have been called.
9712
9713 @param pwdiWowlExitReqParams: the Wowl exit info as
9714 specified by the Device Interface
9715
9716 wdiWowlExitReqCb: callback for passing back the response
9717 of the exit Wowl operation received from the device
9718
9719 pUserData: user data will be passed back with the
9720 callback
9721
9722 @see WDI_WowlEnterReq
9723 @return Result of the function call
9724*/
9725WDI_Status
9726WDI_WowlExitReq
9727(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009728 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009729 WDI_WowlExitReqCb wdiWowlExitCb,
9730 void* pUserData
9731);
9732
9733/**
9734 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9735 the upper MAC wants to dynamically adjusts the listen
9736 interval based on the WLAN/MSM activity. Upon the call
9737 of this API the WLAN DAL will pack and send a HAL
9738 configure Apps Cpu Wakeup State request message to the
9739 lower RIVA sub-system.
9740
9741 In state BUSY this request will be queued. Request won't
9742 be allowed in any other state.
9743
9744
9745 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9746 Apps Cpu Wakeup State as specified by the
9747 Device Interface
9748
9749 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9750 back the response of the configure Apps Cpu Wakeup State
9751 operation received from the device
9752
9753 pUserData: user data will be passed back with the
9754 callback
9755
9756 @return Result of the function call
9757*/
9758WDI_Status
9759WDI_ConfigureAppsCpuWakeupStateReq
9760(
9761 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9762 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9763 void* pUserData
9764);
9765/**
9766 @brief WDI_FlushAcReq will be called when the upper MAC wants
9767 to to perform a flush operation on a given AC. Upon the
9768 call of this API the WLAN DAL will pack and send a HAL
9769 Flush AC request message to the lower RIVA sub-system if
9770 DAL is in state STARTED.
9771
9772 In state BUSY this request will be queued. Request won't
9773 be allowed in any other state.
9774
9775
9776 @param pwdiFlushAcReqParams: the Flush AC parameters as
9777 specified by the Device Interface
9778
9779 wdiFlushAcRspCb: callback for passing back the response
9780 of the Flush AC operation received from the device
9781
9782 pUserData: user data will be passed back with the
9783 callback
9784
9785 @return Result of the function call
9786*/
9787WDI_Status
9788WDI_FlushAcReq
9789(
9790 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9791 WDI_FlushAcRspCb wdiFlushAcRspCb,
9792 void* pUserData
9793);
9794
9795/**
9796 @brief WDI_BtAmpEventReq will be called when the upper MAC
9797 wants to notify the lower mac on a BT AMP event. This is
9798 to inform BTC-SLM that some BT AMP event occurred. Upon
9799 the call of this API the WLAN DAL will pack and send a
9800 HAL BT AMP event request message to the lower RIVA
9801 sub-system if DAL is in state STARTED.
9802
9803 In state BUSY this request will be queued. Request won't
9804 be allowed in any other state.
9805
9806
9807 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9808 specified by the Device Interface
9809
9810 wdiBtAmpEventRspCb: callback for passing back the
9811 response of the BT AMP event operation received from the
9812 device
9813
9814 pUserData: user data will be passed back with the
9815 callback
9816
9817 @return Result of the function call
9818*/
9819WDI_Status
9820WDI_BtAmpEventReq
9821(
9822 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9823 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9824 void* pUserData
9825);
9826
Jeff Johnsone7245742012-09-05 17:12:55 -07009827#ifdef FEATURE_OEM_DATA_SUPPORT
9828/**
9829 @brief WDI_Start oem data Req will be called when the upper MAC
9830 wants to notify the lower mac on a oem data Req event.Upon
9831 the call of this API the WLAN DAL will pack and send a
9832 HAL OEM Data Req event request message to the lower RIVA
9833 sub-system if DAL is in state STARTED.
9834
9835 In state BUSY this request will be queued. Request won't
9836 be allowed in any other state.
9837
9838
9839 @param pWdiOemDataReqParams: the oem data req parameters as
9840 specified by the Device Interface
9841
9842 wdiStartOemDataRspCb: callback for passing back the
9843 response of the Oem Data Req received from the
9844 device
9845
9846 pUserData: user data will be passed back with the
9847 callback
9848
9849 @return Result of the function call
9850*/
9851WDI_Status
9852WDI_StartOemDataReq
9853(
9854 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9855 WDI_oemDataRspCb wdiOemDataRspCb,
9856 void* pUserData
9857);
9858#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009859
9860/*========================================================================
9861
9862 CONTROL APIs
9863
9864==========================================================================*/
9865/**
9866 @brief WDI_SwitchChReq will be called when the upper MAC wants
9867 the WLAN HW to change the current channel of operation.
9868 Upon the call of this API the WLAN DAL will pack and
9869 send a HAL Start request message to the lower RIVA
9870 sub-system if DAL is in state STARTED.
9871
9872 In state BUSY this request will be queued. Request won't
9873 be allowed in any other state.
9874
9875 WDI_Start must have been called.
9876
9877 @param wdiSwitchChReqParams: the switch ch parameters as
9878 specified by the Device Interface
9879
9880 wdiSwitchChRspCb: callback for passing back the response
9881 of the switch ch operation received from the device
9882
9883 pUserData: user data will be passed back with the
9884 callback
9885
9886 @see WDI_Start
9887 @return Result of the function call
9888*/
9889WDI_Status
9890WDI_SwitchChReq
9891(
9892 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9893 WDI_SwitchChRspCb wdiSwitchChRspCb,
9894 void* pUserData
9895);
9896
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009897/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009898 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9899 it also send type source for the channel change.
9900 WDI_Start must have been called.
9901
9902 @param wdiSwitchChReqParams: the switch ch parameters as
9903 specified by the Device Interface
9904
9905 wdiSwitchChRspCb: callback for passing back the response
9906 of the switch ch operation received from the device
9907
9908 pUserData: user data will be passed back with the
9909 callback
9910
9911 @see WDI_Start
9912 @return Result of the function call
9913*/
9914
9915WDI_Status
9916WDI_SwitchChReq_V1
9917(
9918 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9919 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9920 void* pUserData
9921);
9922
9923/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009924 @brief WDI_UpdateChannelReq will be called when the upper MAC
9925 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009926 In state BUSY this request will be queued. Request won't
9927 be allowed in any other state.
9928
9929 WDI_UpdateChannelReq must have been called.
9930
9931 @param wdiUpdateChannelReqParams: the updated channel parameters
9932 as specified by the Device Interface
9933
9934 wdiUpdateChannelRspCb: callback for passing back the
9935 response of the update channel operation received from
9936 the device
9937
9938 pUserData: user data will be passed back with the
9939 callback
9940
9941 @return Result of the function call
9942*/
9943WDI_Status
9944WDI_UpdateChannelReq
9945(
9946 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
9947 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
9948 void* pUserData
9949);
Jeff Johnson295189b2012-06-20 16:38:30 -07009950
9951/**
9952 @brief WDI_ConfigSTAReq will be called when the upper MAC
9953 wishes to add or update a STA in HW. Upon the call of
9954 this API the WLAN DAL will pack and send a HAL Start
9955 message request message to the lower RIVA sub-system if
9956 DAL is in state STARTED.
9957
9958 In state BUSY this request will be queued. Request won't
9959 be allowed in any other state.
9960
9961 WDI_Start must have been called.
9962
9963 @param wdiConfigSTAReqParams: the config STA parameters as
9964 specified by the Device Interface
9965
9966 wdiConfigSTARspCb: callback for passing back the
9967 response of the config STA operation received from the
9968 device
9969
9970 pUserData: user data will be passed back with the
9971 callback
9972
9973 @see WDI_Start
9974 @return Result of the function call
9975*/
9976WDI_Status
9977WDI_ConfigSTAReq
9978(
9979 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9980 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9981 void* pUserData
9982);
9983
9984/**
9985 @brief WDI_SetLinkStateReq will be called when the upper MAC
9986 wants to change the state of an ongoing link. Upon the
9987 call of this API the WLAN DAL will pack and send a HAL
9988 Start message request message to the lower RIVA
9989 sub-system if DAL is in state STARTED.
9990
9991 In state BUSY this request will be queued. Request won't
9992 be allowed in any other state.
9993
9994 WDI_JoinReq must have been called.
9995
9996 @param wdiSetLinkStateReqParams: the set link state parameters
9997 as specified by the Device Interface
9998
9999 wdiSetLinkStateRspCb: callback for passing back the
10000 response of the set link state operation received from
10001 the device
10002
10003 pUserData: user data will be passed back with the
10004 callback
10005
10006 @see WDI_JoinStartReq
10007 @return Result of the function call
10008*/
10009WDI_Status
10010WDI_SetLinkStateReq
10011(
10012 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10013 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10014 void* pUserData
10015);
10016
10017
10018/**
10019 @brief WDI_GetStatsReq will be called when the upper MAC wants
10020 to get statistics (MIB counters) from the device. Upon
10021 the call of this API the WLAN DAL will pack and send a
10022 HAL Start request message to the lower RIVA sub-system
10023 if DAL is in state STARTED.
10024
10025 In state BUSY this request will be queued. Request won't
10026 be allowed in any other state.
10027
10028 WDI_Start must have been called.
10029
10030 @param wdiGetStatsReqParams: the stats parameters to get as
10031 specified by the Device Interface
10032
10033 wdiGetStatsRspCb: callback for passing back the response
10034 of the get stats operation received from the device
10035
10036 pUserData: user data will be passed back with the
10037 callback
10038
10039 @see WDI_Start
10040 @return Result of the function call
10041*/
10042WDI_Status
10043WDI_GetStatsReq
10044(
10045 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10046 WDI_GetStatsRspCb wdiGetStatsRspCb,
10047 void* pUserData
10048);
10049
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010050#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010051/**
10052 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10053 to get roam rssi from the device. Upon
10054 the call of this API the WLAN DAL will pack and send a
10055 HAL Start request message to the lower RIVA sub-system
10056 if DAL is in state STARTED.
10057
10058 In state BUSY this request will be queued. Request won't
10059 be allowed in any other state.
10060
10061 WDI_Start must have been called.
10062
10063 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10064 specified by the Device Interface
10065
10066 wdiGetRoamRssispCb: callback for passing back the response
10067 of the get stats operation received from the device
10068
10069 pUserData: user data will be passed back with the
10070 callback
10071
10072 @see WDI_Start
10073 @return Result of the function call
10074*/
10075WDI_Status
10076WDI_GetRoamRssiReq
10077(
10078 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10079 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10080 void* pUserData
10081);
10082#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010083
10084/**
10085 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10086 it wishes to change the configuration of the WLAN
10087 Device. Upon the call of this API the WLAN DAL will pack
10088 and send a HAL Update CFG request message to the lower
10089 RIVA sub-system if DAL is in state STARTED.
10090
10091 In state BUSY this request will be queued. Request won't
10092 be allowed in any other state.
10093
10094 WDI_Start must have been called.
10095
10096 @param wdiUpdateCfgReqParams: the update cfg parameters as
10097 specified by the Device Interface
10098
10099 wdiUpdateCfgsRspCb: callback for passing back the
10100 response of the update cfg operation received from the
10101 device
10102
10103 pUserData: user data will be passed back with the
10104 callback
10105
10106 @see WDI_Start
10107 @return Result of the function call
10108*/
10109WDI_Status
10110WDI_UpdateCfgReq
10111(
10112 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10113 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10114 void* pUserData
10115);
10116
10117/**
10118 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10119 to the NV memory.
10120
10121 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10122 the Device Interface
10123
10124 wdiNvDownloadRspCb: callback for passing back the response of
10125 the NV Download operation received from the device
10126
10127 pUserData: user data will be passed back with the
10128 callback
10129
10130 @see WDI_PostAssocReq
10131 @return Result of the function call
10132*/
10133WDI_Status
10134WDI_NvDownloadReq
10135(
10136 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10137 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10138 void* pUserData
10139);
10140/**
10141 @brief WDI_AddBAReq will be called when the upper MAC has setup
10142 successfully a BA session and needs to notify the HW for
10143 the appropriate settings to take place. Upon the call of
10144 this API the WLAN DAL will pack and send a HAL Add BA
10145 request message to the lower RIVA sub-system if DAL is
10146 in state STARTED.
10147
10148 In state BUSY this request will be queued. Request won't
10149 be allowed in any other state.
10150
10151 WDI_PostAssocReq must have been called.
10152
10153 @param wdiAddBAReqParams: the add BA parameters as specified by
10154 the Device Interface
10155
10156 wdiAddBARspCb: callback for passing back the response of
10157 the add BA operation received from the device
10158
10159 pUserData: user data will be passed back with the
10160 callback
10161
10162 @see WDI_PostAssocReq
10163 @return Result of the function call
10164*/
10165WDI_Status
10166WDI_AddBAReq
10167(
10168 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10169 WDI_AddBARspCb wdiAddBARspCb,
10170 void* pUserData
10171);
10172
10173/**
10174 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10175 successfully a BA session and needs to notify the HW for
10176 the appropriate settings to take place. Upon the call of
10177 this API the WLAN DAL will pack and send a HAL Add BA
10178 request message to the lower RIVA sub-system if DAL is
10179 in state STARTED.
10180
10181 In state BUSY this request will be queued. Request won't
10182 be allowed in any other state.
10183
10184 WDI_PostAssocReq must have been called.
10185
10186 @param wdiAddBAReqParams: the add BA parameters as specified by
10187 the Device Interface
10188
10189 wdiAddBARspCb: callback for passing back the response of
10190 the add BA operation received from the device
10191
10192 pUserData: user data will be passed back with the
10193 callback
10194
10195 @see WDI_PostAssocReq
10196 @return Result of the function call
10197*/
10198WDI_Status
10199WDI_TriggerBAReq
10200(
10201 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10202 WDI_TriggerBARspCb wdiTriggerBARspCb,
10203 void* pUserData
10204);
10205
10206
10207/**
10208 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10209 frame xtl is enabled for a particular STA.
10210
10211 WDI_PostAssocReq must have been called.
10212
10213 @param uSTAIdx: STA index
10214
10215 @see WDI_PostAssocReq
10216 @return Result of the function call
10217*/
10218wpt_boolean WDI_IsHwFrameTxTranslationCapable
10219(
10220 wpt_uint8 uSTAIdx
10221);
10222
Katya Nigam6201c3e2014-05-27 17:51:42 +053010223
10224/**
10225 @brief WDI_IsSelfSTA - check if staid is self sta index
10226
10227 @param pWDICtx: pointer to the WLAN DAL context
10228 ucSTAIdx: station index
10229
10230 @return Result of the function call
10231*/
10232
10233wpt_boolean
10234WDI_IsSelfSTA
10235(
10236 void* pWDICtx,
10237 wpt_uint8 ucSTAIdx
10238);
10239
10240
Jeff Johnson295189b2012-06-20 16:38:30 -070010241#ifdef WLAN_FEATURE_VOWIFI_11R
10242/**
10243 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10244 the device of a successful add TSpec negotiation for 11r. HW
10245 needs to receive the TSpec Info from the UMAC in order
10246 to configure properly the QoS data traffic. Upon the
10247 call of this API the WLAN DAL will pack and send a HAL
10248 Aggregated Add TS request message to the lower RIVA sub-system if
10249 DAL is in state STARTED.
10250
10251 In state BUSY this request will be queued. Request won't
10252 be allowed in any other state.
10253
10254 WDI_PostAssocReq must have been called.
10255
10256 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10257 the Device Interface
10258
10259 wdiAggrAddTsRspCb: callback for passing back the response of
10260 the add TS operation received from the device
10261
10262 pUserData: user data will be passed back with the
10263 callback
10264
10265 @see WDI_PostAssocReq
10266 @return Result of the function call
10267*/
10268WDI_Status
10269WDI_AggrAddTSReq
10270(
10271 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10272 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10273 void* pUserData
10274);
10275#endif /* WLAN_FEATURE_VOWIFI_11R */
10276/**
10277 @brief WDI_STATableInit - Initializes the STA tables.
10278 Allocates the necesary memory.
10279
10280
10281 @param pWDICtx: pointer to the WLAN DAL context
10282
10283 @see
10284 @return Result of the function call
10285*/
10286
10287WDI_Status WDI_StubRunTest
10288(
10289 wpt_uint8 ucTestNo
10290);
10291
Jeff Johnson295189b2012-06-20 16:38:30 -070010292/**
10293 @brief WDI_FTMCommandReq -
10294 Route FTMRequest Command to HAL
10295
10296 @param ftmCommandReq: FTM request command body
10297 @param ftmCommandRspCb: Response CB
10298 @param pUserData: User data will be included with CB
10299
10300 @return Result of the function call
10301*/
10302WDI_Status WDI_FTMCommandReq
10303(
10304 WDI_FTMCommandReqType *ftmCommandReq,
10305 WDI_FTMCommandRspCb ftmCommandRspCb,
10306 void *pUserData
10307);
Jeff Johnson295189b2012-06-20 16:38:30 -070010308
10309/**
10310 @brief WDI_HostResumeReq will be called
10311
10312 In state BUSY this request will be queued. Request won't
10313 be allowed in any other state.
10314
10315
10316 @param pwdiResumeReqParams: as specified by
10317 the Device Interface
10318
10319 wdiResumeReqRspCb: callback for passing back the response of
10320 the Resume Req received from the device
10321
10322 pUserData: user data will be passed back with the
10323 callback
10324
10325 @see WDI_PostAssocReq
10326 @return Result of the function call
10327*/
10328WDI_Status
10329WDI_HostResumeReq
10330(
10331 WDI_ResumeParamsType* pwdiResumeReqParams,
10332 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10333 void* pUserData
10334);
10335
10336/**
10337 @brief WDI_GetAvailableResCount - Function to get the available resource
10338 for data and managemnt frames.
10339
10340 @param pContext: pointer to the WDI context
10341 @param wdiResPool: type of resource pool requesting
10342 @see
10343 @return Result of the function call
10344*/
10345
10346wpt_uint32 WDI_GetAvailableResCount
10347(
10348 void *pContext,
10349 WDI_ResPoolType wdiResPool
10350);
10351
10352/**
10353 @brief WDI_SetAddSTASelfReq will be called when the
10354 UMAC wanted to add self STA while opening any new session
10355 In state BUSY this request will be queued. Request won't
10356 be allowed in any other state.
10357
10358
10359 @param pwdiAddSTASelfParams: the add self sta parameters as
10360 specified by the Device Interface
10361
10362 pUserData: user data will be passed back with the
10363 callback
10364
10365 @see
10366 @return Result of the function call
10367*/
10368WDI_Status
10369WDI_AddSTASelfReq
10370(
10371 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10372 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10373 void* pUserData
10374);
10375
10376
10377/**
10378 @brief WDI_DelSTASelfReq will be called .
10379
10380 @param WDI_DelSTASelfReqParamsType
10381
10382 WDI_DelSTASelfRspCb: callback for passing back the
10383 response of the del sta self operation received from the
10384 device
10385
10386 pUserData: user data will be passed back with the
10387 callback
10388
10389 @see WDI_PostAssocReq
10390 @return Result of the function call
10391*/
10392WDI_Status
10393WDI_DelSTASelfReq
10394(
10395 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10396 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10397 void* pUserData
10398);
10399
10400/**
10401 @brief WDI_HostSuspendInd
10402
10403 Suspend Indication from the upper layer will be sent
10404 down to HAL
10405
10406 @param WDI_SuspendParamsType
10407
10408 @see
10409
10410 @return Status of the request
10411*/
10412WDI_Status
10413WDI_HostSuspendInd
10414(
10415 WDI_SuspendParamsType* pwdiSuspendIndParams
10416);
10417
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010418/**
10419 @brief WDI_TrafficStatsInd
10420
10421 Traffic Stats from the upper layer will be sent
10422 down to HAL
10423
10424 @param WDI_TrafficStatsIndType
10425
10426 @see
10427
10428 @return Status of the request
10429*/
10430WDI_Status
10431WDI_TrafficStatsInd
10432(
10433 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10434);
10435
Chet Lanctot186b5732013-03-18 10:26:30 -070010436#ifdef WLAN_FEATURE_11W
10437/**
10438 @brief WDI_ExcludeUnencryptedInd
10439 Register with HAL to receive/drop unencrypted frames
10440
10441 @param WDI_ExcludeUnencryptIndType
10442
10443 @see
10444
10445 @return Status of the request
10446*/
10447WDI_Status
10448WDI_ExcludeUnencryptedInd
10449(
10450 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10451);
10452#endif
10453
Yue Mab9c86f42013-08-14 15:59:08 -070010454/**
10455 @brief WDI_AddPeriodicTxPtrnInd
10456
10457 @param WDI_AddPeriodicTxPtrnParamsType
10458
10459 @see
10460
10461 @return Status of the request
10462*/
10463WDI_Status
10464WDI_AddPeriodicTxPtrnInd
10465(
10466 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10467);
10468
10469/**
10470 @brief WDI_DelPeriodicTxPtrnInd
10471
10472 @param WDI_DelPeriodicTxPtrnParamsType
10473
10474 @see
10475
10476 @return Status of the request
10477*/
10478WDI_Status
10479WDI_DelPeriodicTxPtrnInd
10480(
10481 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10482);
10483
Jeff Johnson295189b2012-06-20 16:38:30 -070010484#ifdef FEATURE_WLAN_SCAN_PNO
10485/**
10486 @brief WDI_SetPreferredNetworkList
10487
10488 @param pwdiPNOScanReqParams: the Set PNO as specified
10489 by the Device Interface
10490
10491 wdiPNOScanCb: callback for passing back the response
10492 of the Set PNO operation received from the
10493 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_SetPreferredNetworkReq
10503(
10504 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10505 WDI_PNOScanCb wdiPNOScanCb,
10506 void* pUserData
10507);
10508
10509/**
10510 @brief WDI_SetRssiFilterReq
10511
10512 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10513 specified by the Device Interface
10514
10515 wdiRssiFilterCb: callback for passing back the response
10516 of the Set RSSI Filter operation received from the
10517 device
10518
10519 pUserData: user data will be passed back with the
10520 callback
10521
10522 @see WDI_PostAssocReq
10523 @return Result of the function call
10524*/
10525WDI_Status
10526WDI_SetRssiFilterReq
10527(
10528 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10529 WDI_RssiFilterCb wdiRssiFilterCb,
10530 void* pUserData
10531);
10532
10533/**
10534 @brief WDI_UpdateScanParams
10535
10536 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10537 by the Device Interface
10538
10539 wdiUpdateScanParamsCb: callback for passing back the response
10540 of the Set PNO operation received from the
10541 device
10542
10543 pUserData: user data will be passed back with the
10544 callback
10545
10546 @see WDI_PostAssocReq
10547 @return Result of the function call
10548*/
10549WDI_Status
10550WDI_UpdateScanParamsReq
10551(
10552 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10553 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10554 void* pUserData
10555);
10556#endif // FEATURE_WLAN_SCAN_PNO
10557
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010558#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10559/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010560 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010561
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010562 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010563 by the Device Interface
10564
10565 wdiRoamOffloadScanCb: callback for passing back the response
10566 of the Start Roam Candidate Lookup operation received from the
10567 device
10568
10569 pUserData: user data will be passed back with the
10570 callback
10571
10572 @return Result of the function call
10573*/
10574WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010575WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010576(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010577 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010578 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10579 void* pUserData
10580);
10581#endif
10582
Jeff Johnson295189b2012-06-20 16:38:30 -070010583/**
10584 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10585 wants to set the Tx Per Tracking configurations.
10586 Upon the call of this API the WLAN DAL will pack
10587 and send a HAL Set Tx Per Tracking request message to the
10588 lower RIVA sub-system if DAL is in state STARTED.
10589
10590 In state BUSY this request will be queued. Request won't
10591 be allowed in any other state.
10592
10593 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10594 specified by the Device Interface
10595
10596 wdiSetTxPerTrackingCb: callback for passing back the
10597 response of the set Tx PER Tracking configurations operation received
10598 from the device
10599
10600 pUserData: user data will be passed back with the
10601 callback
10602
10603 @return Result of the function call
10604*/
10605WDI_Status
10606WDI_SetTxPerTrackingReq
10607(
10608 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10609 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10610 void* pUserData
10611);
10612
10613/**
10614 @brief WDI_SetTmLevelReq
10615 If HW Thermal condition changed, driver should react based on new
10616 HW thermal condition.
10617
10618 @param pwdiSetTmLevelReq: New thermal condition information
10619
10620 pwdiSetTmLevelRspCb: callback
10621
10622 usrData: user data will be passed back with the
10623 callback
10624
10625 @return Result of the function call
10626*/
10627WDI_Status
10628WDI_SetTmLevelReq
10629(
10630 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10631 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10632 void *usrData
10633);
10634
10635#ifdef WLAN_FEATURE_PACKET_FILTERING
10636/**
10637 @brief WDI_8023MulticastListReq
10638
10639 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10640 List as specified by the Device Interface
10641
10642 wdi8023MulticastListCallback: callback for passing back
10643 the response of the Set 8023 Multicast List operation
10644 received from the device
10645
10646 pUserData: user data will be passed back with the
10647 callback
10648
10649 @see WDI_PostAssocReq
10650 @return Result of the function call
10651*/
10652WDI_Status
10653WDI_8023MulticastListReq
10654(
10655 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10656 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10657 void* pUserData
10658);
10659
10660/**
10661 @brief WDI_ReceiveFilterSetFilterReq
10662
10663 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10664 specified by the Device Interface
10665
10666 wdiReceiveFilterSetFilterReqCallback: callback for
10667 passing back the response of the Set Receive Filter
10668 operation received from the device
10669
10670 pUserData: user data will be passed back with the
10671 callback
10672
10673 @see WDI_PostAssocReq
10674 @return Result of the function call
10675*/
10676WDI_Status
10677WDI_ReceiveFilterSetFilterReq
10678(
10679 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10680 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10681 void* pUserData
10682);
10683
10684/**
10685 @brief WDI_PCFilterMatchCountReq
10686
10687 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10688 Count
10689
10690 wdiPCFilterMatchCountCallback: callback for passing back
10691 the response of the D0 PC Filter Match Count operation
10692 received from the device
10693
10694 pUserData: user data will be passed back with the
10695 callback
10696
10697 @see WDI_PostAssocReq
10698 @return Result of the function call
10699*/
10700WDI_Status
10701WDI_FilterMatchCountReq
10702(
10703 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10704 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10705 void* pUserData
10706);
10707
10708/**
10709 @brief WDI_ReceiveFilterClearFilterReq
10710
10711 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10712 specified by the Device Interface
10713
10714 wdiReceiveFilterClearFilterCallback: callback for
10715 passing back the response of the Clear Filter
10716 operation received from the device
10717
10718 pUserData: user data will be passed back with the
10719 callback
10720
10721 @see WDI_PostAssocReq
10722 @return Result of the function call
10723*/
10724WDI_Status
10725WDI_ReceiveFilterClearFilterReq
10726(
10727 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10728 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10729 void* pUserData
10730);
10731#endif // WLAN_FEATURE_PACKET_FILTERING
10732
10733/**
10734 @brief WDI_HALDumpCmdReq
10735 Post HAL DUMP Command Event
10736
10737 @param halDumpCmdReqParams: Hal Dump Command Body
10738 @param halDumpCmdRspCb: callback for passing back the
10739 response
10740 @param pUserData: Client Data
10741
10742 @see
10743 @return Result of the function call
10744*/
10745WDI_Status WDI_HALDumpCmdReq(
10746 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10747 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10748 void *pUserData
10749);
10750
10751
10752/**
10753 @brief WDI_SetPowerParamsReq
10754
10755 @param pwdiPowerParamsReqParams: the Set Power Params as
10756 specified by the Device Interface
10757
10758 wdiPowerParamsCb: callback for passing back the response
10759 of the Set Power Params operation received from the
10760 device
10761
10762 pUserData: user data will be passed back with the
10763 callback
10764
10765 @return Result of the function call
10766*/
10767WDI_Status
10768WDI_SetPowerParamsReq
10769(
10770 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10771 WDI_SetPowerParamsCb wdiPowerParamsCb,
10772 void* pUserData
10773);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010774/**
10775 @brief WDI_dhcpStartInd
10776 Forward the DHCP Start event
10777
10778 @param
10779
10780 wdiDHCPInd: device mode and MAC address is passed
10781
10782 @see
10783 @return Result of the function call
10784*/
10785
10786WDI_Status
10787WDI_dhcpStartInd
10788(
10789 WDI_DHCPInd *wdiDHCPInd
10790);
10791/**
10792 @brief WDI_dhcpStopReq
10793 Forward the DHCP Stop event
10794
10795 @param
10796
10797 wdiDHCPInd: device mode and MAC address is passed
10798
10799 @see
10800 @return Result of the function call
10801*/
10802
10803WDI_Status
10804WDI_dhcpStopInd
10805(
10806 WDI_DHCPInd *wdiDHCPInd
10807);
Jeff Johnson295189b2012-06-20 16:38:30 -070010808
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010809/**
10810 @brief WDI_RateUpdateInd will be called when the upper MAC
10811 requests the device to update rates.
10812
10813 In state BUSY this request will be queued. Request won't
10814 be allowed in any other state.
10815
10816
10817 @param wdiRateUpdateIndParams
10818
10819
10820 @see WDI_Start
10821 @return Result of the function call
10822*/
10823WDI_Status
10824WDI_RateUpdateInd
10825(
10826 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10827);
10828
Jeff Johnson295189b2012-06-20 16:38:30 -070010829#ifdef WLAN_FEATURE_GTK_OFFLOAD
10830/**
10831 @brief WDI_GTKOffloadReq will be called when the upper MAC
10832 wants to set GTK Rekey Counter while in power save. Upon
10833 the call of this API the WLAN DAL will pack and send a
10834 HAL GTK offload request message to the lower RIVA
10835 sub-system if DAL is in state STARTED.
10836
10837 In state BUSY this request will be queued. Request won't
10838 be allowed in any other state.
10839
10840 WDI_PostAssocReq must have been called.
10841
10842 @param pwdiGtkOffloadParams: the GTK offload as specified
10843 by the Device Interface
10844
10845 wdiGtkOffloadCb: callback for passing back the response
10846 of the GTK offload operation received from the device
10847
10848 pUserData: user data will be passed back with the
10849 callback
10850
10851 @see WDI_PostAssocReq
10852 @return Result of the function call
10853*/
10854WDI_Status
10855WDI_GTKOffloadReq
10856(
10857 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10858 WDI_GtkOffloadCb wdiGtkOffloadCb,
10859 void* pUserData
10860);
10861
10862/**
10863 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10864 MAC wants to get GTK Rekey Counter while in power save.
10865 Upon the call of this API the WLAN DAL will pack and
10866 send a HAL GTK offload request message to the lower RIVA
10867 sub-system if DAL is in state STARTED.
10868
10869 In state BUSY this request will be queued. Request won't
10870 be allowed in any other state.
10871
10872 WDI_PostAssocReq must have been called.
10873
10874 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10875 Information Message as specified by the
10876 Device Interface
10877
10878 wdiGtkOffloadGetInfoCb: callback for passing back the
10879 response of the GTK offload operation received from the
10880 device
10881
10882 pUserData: user data will be passed back with the
10883 callback
10884
10885 @see WDI_PostAssocReq
10886 @return Result of the function call
10887*/
10888WDI_Status
10889WDI_GTKOffloadGetInfoReq
10890(
10891 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10892 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10893 void* pUserData
10894);
10895#endif // WLAN_FEATURE_GTK_OFFLOAD
10896
10897/**
10898 @brief WDI_featureCapsExchangeReq
10899 Post feature capability bitmap exchange event.
10900 Host will send its own capability to FW in this req and
10901 expect FW to send its capability back as a bitmap in Response
10902
10903 @param
10904
10905 wdiFeatCapsExcRspCb: callback called on getting the response.
10906 It is kept to mantain similarity between WDI reqs and if needed, can
10907 be used in future. Currently, It is set to NULL
10908
10909 pUserData: user data will be passed back with the
10910 callback
10911
10912 @see
10913 @return Result of the function call
10914*/
10915WDI_Status
10916WDI_featureCapsExchangeReq
10917(
10918 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10919 void* pUserData
10920);
10921
10922/**
Yathish9f22e662012-12-10 14:21:35 -080010923 @brief Disable Active mode offload in Host
10924
10925 @param void
10926 @see
10927 @return void
10928*/
10929void
10930WDI_disableCapablityFeature(wpt_uint8 feature_index);
10931
10932
10933/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010934 @brief WDI_getHostWlanFeatCaps
10935 WDI API that returns whether the feature passed to it as enum value in
10936 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10937 variable storing host capability bitmap to find this. This can be used by
10938 other moduels to decide certain things like call different APIs based on
10939 whether a particular feature is supported.
10940
10941 @param
10942
10943 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10944
10945 @see
10946 @return
10947 0 - if the feature is NOT supported in host
10948 any non-zero value - if the feature is SUPPORTED in host.
10949*/
10950wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10951
10952/**
10953 @brief WDI_getFwWlanFeatCaps
10954 WDI API that returns whether the feature passed to it as enum value in
10955 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10956 variable storing host capability bitmap to find this. This can be used by
10957 other moduels to decide certain things like call different APIs based on
10958 whether a particular feature is supported.
10959
10960 @param
10961
Jeff Johnsone7245742012-09-05 17:12:55 -070010962 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10963 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010964
10965 @see
10966 @return
10967 0 - if the feature is NOT supported in FW
10968 any non-zero value - if the feature is SUPPORTED in FW.
10969*/
10970wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10971
10972/**
10973 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10974 api version
10975
10976 @param WDI_WlanVersionType: Wlan version structure
10977 @see
10978 @return none
10979*/
10980
10981void WDI_GetWcnssCompiledApiVersion
10982(
10983 WDI_WlanVersionType *pWcnssApiVersion
10984);
10985
Mohit Khanna4a70d262012-09-11 16:30:12 -070010986#ifdef WLAN_FEATURE_11AC
10987WDI_Status
10988WDI_UpdateVHTOpModeReq
10989(
10990 WDI_UpdateVHTOpMode *pData,
10991 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10992 void* pUserData
10993);
Jeff Johnson295189b2012-06-20 16:38:30 -070010994
Mohit Khanna4a70d262012-09-11 16:30:12 -070010995#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010996
10997/**
10998 @brief WDI_TransportChannelDebug -
10999 Display DXE Channel debugging information
11000 User may request to display DXE channel snapshot
11001 Or if host driver detects any abnormal stcuk may display
11002
Jeff Johnsonb88db982012-12-10 13:34:59 -080011003 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011004 @param debugFlags : Enable stall detect features
11005 defined by WPAL_DeviceDebugFlags
11006 These features may effect
11007 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011008 @see
11009 @return none
11010*/
11011void WDI_TransportChannelDebug
11012(
11013 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011014 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011015);
11016
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011017/**
11018 @brief WDI_SsrTimerCB
11019 Callback function for SSR timer, if this is called then the graceful
11020 shutdown for Riva did not happen.
11021
11022 @param pUserData : user data to timer
11023
11024 @see
11025 @return none
11026*/
11027void
11028WDI_SsrTimerCB
11029(
11030 void *pUserData
11031);
11032
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011033/**
11034 @brief WDI_SetEnableSSR -
11035 This API is called to enable/disable SSR on WDI timeout.
11036
11037 @param enableSSR : enable/disable SSR
11038
11039 @see
11040 @return none
11041*/
11042void WDI_SetEnableSSR(wpt_boolean enableSSR);
11043
Leo Chang9056f462013-08-01 19:21:11 -070011044#ifdef FEATURE_WLAN_LPHB
11045/**
11046 @brief WDI_LPHBConfReq
11047 This API is called to config FW LPHB rule
11048
11049 @param lphbconfParam : LPHB rule should config to FW
11050 usrData : Client context
11051 lphbCfgCb : Configuration status callback
11052 @see
11053 @return SUCCESS or FAIL
11054*/
11055WDI_Status WDI_LPHBConfReq
11056(
11057 void *lphbconfParam,
11058 void *usrData,
11059 WDI_LphbCfgCb lphbCfgCb
11060);
11061#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011062
Dino Mycle41bdc942014-06-10 11:30:24 +053011063#ifdef WLAN_FEATURE_EXTSCAN
11064/**
11065 @brief WDI_EXTScanStartReq
11066 This API is called to send EXTScan start request to FW
11067
11068 @param pwdiEXTScanStartReqParams : pointer to the request params.
11069 wdiEXTScanStartRspCb : callback on getting the response.
11070 usrData : Client context
11071 @see
11072 @return SUCCESS or FAIL
11073*/
11074WDI_Status WDI_EXTScanStartReq
11075(
11076 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11077 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11078 void* pUserData
11079);
11080
11081/**
11082 @brief WDI_EXTScanStopReq
11083 This API is called to stop the EXTScan operations in the FW
11084
11085 @param pwdiEXTScanStopReqParams : pointer to the request params.
11086 wdiEXTScanStopRspCb : callback on getting the response.
11087 usrData : Client context
11088 @see
11089 @return SUCCESS or FAIL
11090*/
11091WDI_Status WDI_EXTScanStopReq
11092(
11093 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11094 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11095 void* pUserData
11096);
11097
11098/**
11099 @brief WDI_EXTScanGetCachedResultsReq
11100 This API is called to send get link layer stats request in FW
11101
11102 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11103 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11104 usrData : Client context
11105 @see
11106 @return SUCCESS or FAIL
11107*/
11108WDI_Status WDI_EXTScanGetCachedResultsReq
11109(
11110 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11111 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11112 void* pUserData
11113);
11114
11115/**
11116 @brief WDI_EXTScanGetCapabilitiesReq
11117 This API is called to send get EXTScan capabilities from FW
11118
11119 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11120 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11121 usrData : Client context
11122 @see
11123 @return SUCCESS or FAIL
11124*/
11125WDI_Status WDI_EXTScanGetCapabilitiesReq
11126(
11127 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11128 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11129 void* pUserData
11130);
11131
11132/**
11133 @brief WDI_EXTScanSetBSSIDHotlistReq
11134 This API is called to send Set BSSID Hotlist Request FW
11135
11136 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11137 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11138 usrData : Client context
11139 @see
11140 @return SUCCESS or FAIL
11141*/
11142WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11143(
11144 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11145 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11146 void* pUserData
11147);
11148
11149/**
11150 @brief WDI_EXTScanResetBSSIDHotlistReq
11151 This API is called to send Reset BSSID Hotlist Request FW
11152
11153 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11154 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11155 usrData : Client context
11156 @see
11157 @return SUCCESS or FAIL
11158*/
11159WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11160(
11161 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11162 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11163 void* pUserData
11164);
11165
11166/**
11167 @brief WDI_EXTScanSetSignfRSSIChangeReq
11168 This API is called to send Set Significant RSSI Request FW
11169
11170 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
11171 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
11172 usrData : Client context
11173 @see
11174 @return SUCCESS or FAIL
11175*/
11176WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11177(
11178 WDI_EXTScanSetSignfRSSIChangeReqParams*
11179 pwdiEXTScanSetSignfRSSIChangeReqParams,
11180 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11181 void* pUserData
11182);
11183
11184/**
11185 @brief WDI_EXTScanResetSignfRSSIChangeReq
11186 This API is called to send Reset BSSID Hotlist Request FW
11187
11188 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11189 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11190 usrData : Client context
11191 @see
11192 @return SUCCESS or FAIL
11193*/
11194WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11195(
11196 WDI_EXTScanResetSignfRSSIChangeReqParams*
11197 pwdiEXTScanResetSignfRSSIChangeReqParams,
11198 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11199 void* pUserData
11200);
11201#endif /* WLAN_FEATURE_EXTSCAN */
11202
Sunil Duttbd736ed2014-05-26 21:19:41 +053011203#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11204/**
11205 @brief WDI_LLStatsSetReq
11206 This API is called to send set link layer stats request to FW
11207
11208 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11209 wdiLLStatsSetRspCb : set link layer stats response callback
11210 usrData : Client context
11211 @see
11212 @return SUCCESS or FAIL
11213*/
11214WDI_Status WDI_LLStatsSetReq
11215(
11216 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11217 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11218 void* pUserData
11219);
11220
11221/**
11222 @brief WDI_LLStatsGetReq
11223 This API is called to send get link layer stats request in FW
11224
11225 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11226 wdiLLStatsGetRspCb : get link layer stats response callback
11227 usrData : Client context
11228 @see
11229 @return SUCCESS or FAIL
11230*/
11231WDI_Status WDI_LLStatsGetReq
11232(
11233 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11234 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11235 void* pUserData
11236);
11237
11238/**
11239 @brief WDI_LLStatsClearReq
11240 This API is called to set clear link layer stats request in FW
11241
11242 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11243 iwdiLLStatsClearRspCb : clear link layer stats response callback
11244 usrData : Client context
11245 @see
11246 @return SUCCESS or FAIL
11247*/
11248WDI_Status WDI_LLStatsClearReq
11249(
11250 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11251 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11252 void* pUserData
11253);
11254#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11255
Abhishek Singh85b74712014-10-08 11:38:19 +053011256WDI_Status WDI_FWStatsGetReq
11257(
11258 void* pwdiFWStatsGetReqParams,
11259 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11260 wpt_uint32 pUserData
11261);
11262
Rajeev79dbe4c2013-10-05 11:03:42 +053011263#ifdef FEATURE_WLAN_BATCH_SCAN
11264/**
11265 @brief WDI_SetBatchScanReq
11266 This API is called to set batch scan request in FW
11267
11268 @param pBatchScanReqParam : pointer to set batch scan re param
11269 usrData : Client context
11270 setBatchScanRspCb : set batch scan resp callback
11271 @see
11272 @return SUCCESS or FAIL
11273*/
11274WDI_Status WDI_SetBatchScanReq
11275(
11276 void *pBatchScanReqParam,
11277 void *usrData,
11278 WDI_SetBatchScanCb setBatchScanRspCb
11279);
11280
11281/**
11282 @brief WDI_StopBatchScanInd
11283
11284 @param none
11285
11286 @see
11287
11288 @return Status of the request
11289*/
11290WDI_Status
11291WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11292
11293/**
11294 @brief WDI_TriggerBatchScanResultInd
11295 This API is called to pull batch scan result from FW
11296
11297 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11298 usrData : Client context
11299 setBatchScanRspCb : get batch scan resp callback
11300 @see
11301 @return SUCCESS or FAIL
11302*/
11303WDI_Status
11304WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11305
11306
11307#endif /*FEATURE_WLAN_BATCH_SCAN*/
11308
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011309/**
11310 @brief wdi_HT40OBSSScanInd
11311 This API is called to start OBSS scan
11312
11313 @param pWdiReq : pointer to get ind param
11314 @see
11315 @return SUCCESS or FAIL
11316*/
11317
11318WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11319
11320/**
11321 @brief wdi_HT40OBSSStopScanInd
11322 This API is called to stop OBSS scan
11323
11324 @param bssIdx : bssIdx to stop
11325 @see
11326 @return SUCCESS or FAIL
11327*/
11328
11329WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11330
c_hpothu92367912014-05-01 15:18:17 +053011331
11332WDI_Status WDI_GetBcnMissRate( void *pUserData,
11333 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11334 wpt_uint8 *bssid
11335 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011336WDI_Status
11337WDI_SetSpoofMacAddrReq
11338(
11339WDI_SpoofMacAddrInfoType *pWdiReq,
11340 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11341 void* pUserData
11342);
c_hpothu92367912014-05-01 15:18:17 +053011343
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011344WDI_Status
11345WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11346 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11347 void* pUserData
11348 );
Jeff Johnson295189b2012-06-20 16:38:30 -070011349#ifdef __cplusplus
11350 }
11351#endif
11352
Jeff Johnson295189b2012-06-20 16:38:30 -070011353#endif /* #ifndef WLAN_QCT_WDI_H */