blob: f7cae5b8d6db7d70847a296731dbd5964f459c20 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
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/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
42#ifndef WLAN_QCT_WDI_H
43#define WLAN_QCT_WDI_H
44
45/*===========================================================================
46
47 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
48 E X T E R N A L A P I
49
50
51DESCRIPTION
52 This file contains the external API exposed by the wlan transport layer
53 module.
54
55
56 Copyright (c) 2010-2011 QUALCOMM Incorporated.
57 All Rights Reserved.
58 Qualcomm Confidential and Proprietary
59===========================================================================*/
60
61
62/*===========================================================================
63
64 EDIT HISTORY FOR FILE
65
66
67 This section contains comments describing changes made to the module.
68 Notice that changes are listed in reverse chronological order.
69
70
71 $Header:$ $DateTime: $ $Author: $
72
73
74when who what, where, why
75-------- --- ----------------------------------------------------------
7610/05/11 hap Adding support for Keep Alive
7708/04/10 lti Created module.
78
79===========================================================================*/
80
81
82
83/*===========================================================================
84
85 INCLUDE FILES FOR MODULE
86
87===========================================================================*/
88
89/*----------------------------------------------------------------------------
90 * Include Files
91 * -------------------------------------------------------------------------*/
92#include "wlan_qct_pal_api.h"
93#include "wlan_qct_pal_type.h"
94#include "wlan_qct_pack_align.h"
95#include "wlan_qct_wdi_cfg.h"
96
97/*----------------------------------------------------------------------------
98 * Preprocessor Definitions and Constants
99 * -------------------------------------------------------------------------*/
100#ifdef __cplusplus
101 extern "C" {
102#endif
103
104/* MAC ADDRESS LENGTH - per spec*/
105#define WDI_MAC_ADDR_LEN 6
106
107/* Max number of 11b rates -> 1,2,5.5,11 */
108#define WDI_NUM_11B_RATES 4
109
110/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
111#define WDI_NUM_11A_RATES 8
112
113/* Max number of legacy rates -> 72, 96, 108*/
114#define WDI_NUM_POLARIS_RATES 3
115
116/* Max supported MCS set*/
117#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
118
119/*Max number of Access Categories for QoS - per spec */
120#define WDI_MAX_NO_AC 4
121
122/*Max. size for reserving the Beacon Template */
123#define WDI_BEACON_TEMPLATE_SIZE 0x180
124
125#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
126
127#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
128
129#define WDI_MAX_SSID_SIZE 32
130
131/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
132from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
133of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
134
135#define FRAGMENT_SIZE 3072
136
137/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800138#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700139
140/* Beacon Filter Length*/
141#define WDI_BEACON_FILTER_LEN 70
142
143/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
144#define WDI_COEX_IND_DATA_SIZE (4)
145
146#define WDI_CIPHER_SEQ_CTR_SIZE 6
147
148#define WDI_NUM_BSSID 2
149
150/*Version string max length (including NUL) */
151#define WDI_VERSION_LENGTH 64
152
153
154/*WDI Response timeout - how long will WDI wait for a response from the device
155 - it should be large enough to allow any other failure mechanism to kick
156 in before we get to a timeout (ms units)*/
157#define WDI_RESPONSE_TIMEOUT 10000
158
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700159/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
160 * Apps initiated SSR will be performed */
161#define WDI_SSR_TIMEOUT 5000
162
Jeff Johnson295189b2012-06-20 16:38:30 -0700163#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
164
165/*============================================================================
166 * GENERIC STRUCTURES
167
168============================================================================*/
169
170/*---------------------------------------------------------------------------
171 WDI Version Information
172---------------------------------------------------------------------------*/
173typedef struct
174{
175 wpt_uint8 revision;
176 wpt_uint8 version;
177 wpt_uint8 minor;
178 wpt_uint8 major;
179} WDI_WlanVersionType;
180
181/*---------------------------------------------------------------------------
182 WDI Device Capability
183---------------------------------------------------------------------------*/
184typedef struct
185{
186 /*If this flag is true it means that the device can support 802.3/ETH2 to
187 802.11 translation*/
188 wpt_boolean bFrameXtlSupported;
189
190 /*Maximum number of BSSes supported by the Device */
191 wpt_uint8 ucMaxBSSSupported;
192
193 /*Maximum number of stations supported by the Device */
194 wpt_uint8 ucMaxSTASupported;
195}WDI_DeviceCapabilityType;
196
197/*---------------------------------------------------------------------------
198 WDI Channel Offset
199---------------------------------------------------------------------------*/
200typedef enum
201{
202 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
203 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700204 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
205#ifdef WLAN_FEATURE_11AC
206 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
207 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
208 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
209 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
210 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
211 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
212 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
213#endif
214 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700215}WDI_HTSecondaryChannelOffset;
216
217/*---------------------------------------------------------------------------
218 WDI_MacFrameCtl
219 Frame control field format (2 bytes)
220---------------------------------------------------------------------------*/
221typedef struct
222{
223 wpt_uint8 protVer :2;
224 wpt_uint8 type :2;
225 wpt_uint8 subType :4;
226
227 wpt_uint8 toDS :1;
228 wpt_uint8 fromDS :1;
229 wpt_uint8 moreFrag :1;
230 wpt_uint8 retry :1;
231 wpt_uint8 powerMgmt :1;
232 wpt_uint8 moreData :1;
233 wpt_uint8 wep :1;
234 wpt_uint8 order :1;
235
236} WDI_MacFrameCtl;
237
238/*---------------------------------------------------------------------------
239 WDI Sequence control field
240---------------------------------------------------------------------------*/
241typedef struct
242{
243 wpt_uint8 fragNum : 4;
244 wpt_uint8 seqNumLo : 4;
245 wpt_uint8 seqNumHi : 8;
246} WDI_MacSeqCtl;
247
248/*---------------------------------------------------------------------------
249 Management header format
250---------------------------------------------------------------------------*/
251typedef struct
252{
253 WDI_MacFrameCtl fc;
254 wpt_uint8 durationLo;
255 wpt_uint8 durationHi;
256 wpt_uint8 da[WDI_MAC_ADDR_LEN];
257 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
258 wpt_macAddr bssId;
259 WDI_MacSeqCtl seqControl;
260} WDI_MacMgmtHdr;
261
262/*---------------------------------------------------------------------------
263 NV Blob management sturcture
264 ---------------------------------------------------------------------------*/
265
266typedef struct
267{
268 /* NV image fragments count */
269 wpt_uint16 usTotalFragment;
270
271 /* NV fragment size */
272 wpt_uint16 usFragmentSize;
273
274 /* current fragment to be sent */
275 wpt_uint16 usCurrentFragment;
276
277} WDI_NvBlobInfoParams;
278
279
280/*---------------------------------------------------------------------------
281 Data path enums memory pool resource
282 ---------------------------------------------------------------------------*/
283
284typedef enum
285{
286 /* managment resource pool ID */
287 WDI_MGMT_POOL_ID = 0,
288 /* Data resource pool ID */
289 WDI_DATA_POOL_ID = 1
290}WDI_ResPoolType;
291
292/*============================================================================
293 * GENERIC STRUCTURES - END
294 ============================================================================*/
295
296/*----------------------------------------------------------------------------
297 * Type Declarations
298 * -------------------------------------------------------------------------*/
299/*---------------------------------------------------------------------------
300 WDI Status
301---------------------------------------------------------------------------*/
302typedef enum
303{
304 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
305 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
306 synchronous way - no rsp will be generated*/
307 WDI_STATUS_PENDING, /* Operation result is pending and will be
308 provided asynchronously through the Req Status
309 Callback */
310 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
311 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
312 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
313 failure*/
314 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
315 of the driver*/
316 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
317
318 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
319 WDI_STATUS_MAX
320
321}WDI_Status;
322
323
324/*---------------------------------------------------------------------------
325 WDI_ReqStatusCb
326
327 DESCRIPTION
328
329 This callback is invoked by DAL to deliver to UMAC the result of posting
330 a previous request for which the return status was PENDING.
331
332 PARAMETERS
333
334 IN
335 wdiStatus: response status received from the Control Transport
336 pUserData: user data
337
338
339
340 RETURN VALUE
341 The result code associated with performing the operation
342---------------------------------------------------------------------------*/
343typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
344 void* pUserData);
345
346/*---------------------------------------------------------------------------
347 WDI_LowLevelIndEnumType
348 Types of indication that can be posted to UMAC by DAL
349---------------------------------------------------------------------------*/
350typedef enum
351{
352 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
353 passed. */
354 WDI_RSSI_NOTIFICATION_IND,
355
356 /*Link loss in the low MAC */
357 WDI_MISSED_BEACON_IND,
358
359 /*when hardware has signaled an unknown addr2 frames. The indication will
360 contain info from frames to be passed to the UMAC, this may use this info to
361 deauth the STA*/
362 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
363
364 /*MIC Failure detected by HW*/
365 WDI_MIC_FAILURE_IND,
366
367 /*Fatal Error Ind*/
368 WDI_FATAL_ERROR_IND,
369
370 /*Delete Station Ind*/
371 WDI_DEL_STA_IND,
372
373 /*Indication from Coex*/
374 WDI_COEX_IND,
375
376 /* Indication for Tx Complete */
377 WDI_TX_COMPLETE_IND,
378
379 /*.P2P_NOA_Attr_Indication */
380 WDI_P2P_NOA_ATTR_IND,
381
382 /* Preferred Network Found Indication */
383 WDI_PREF_NETWORK_FOUND_IND,
384
385 WDI_WAKE_REASON_IND,
386
387 /* Tx PER Tracking Indication */
388 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800389
Viral Modid86bde22012-12-10 13:09:21 -0800390 /* P2P_NOA_Start_Indication */
391 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800392
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530393 /* TDLS_Indication */
394 WDI_TDLS_IND,
395
Jeff Johnson295189b2012-06-20 16:38:30 -0700396 WDI_MAX_IND
397}WDI_LowLevelIndEnumType;
398
399
400/*---------------------------------------------------------------------------
401 WDI_LowRSSIThIndType
402---------------------------------------------------------------------------*/
403typedef struct
404{
405 /*Positive crossing of Rssi Thresh1*/
406 wpt_uint32 bRssiThres1PosCross : 1;
407 /*Negative crossing of Rssi Thresh1*/
408 wpt_uint32 bRssiThres1NegCross : 1;
409 /*Positive crossing of Rssi Thresh2*/
410 wpt_uint32 bRssiThres2PosCross : 1;
411 /*Negative crossing of Rssi Thresh2*/
412 wpt_uint32 bRssiThres2NegCross : 1;
413 /*Positive crossing of Rssi Thresh3*/
414 wpt_uint32 bRssiThres3PosCross : 1;
415 /*Negative crossing of Rssi Thresh3*/
416 wpt_uint32 bRssiThres3NegCross : 1;
417
Srinivasdaaec712012-12-12 15:59:44 -0800418 wpt_uint32 avgRssi : 8;
419 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700420
421}WDI_LowRSSIThIndType;
422
423
424/*---------------------------------------------------------------------------
425 WDI_UnkAddr2FrmRxIndType
426---------------------------------------------------------------------------*/
427typedef struct
428{
429 /*Rx Bd data of the unknown received addr2 frame.*/
430 void* bufRxBd;
431
432 /*Buffer Length*/
433 wpt_uint16 usBufLen;
434}WDI_UnkAddr2FrmRxIndType;
435
436/*---------------------------------------------------------------------------
437 WDI_DeleteSTAIndType
438---------------------------------------------------------------------------*/
439typedef struct
440{
441 /*ASSOC ID, as assigned by UMAC*/
442 wpt_uint16 usAssocId;
443
444 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
445 wpt_uint8 ucSTAIdx;
446
447 /*BSSID of STA*/
448 wpt_macAddr macBSSID;
449
450 /*MAC ADDR of STA*/
451 wpt_macAddr macADDR2;
452
453 /* To unify the keepalive / unknown A2 / tim-based disa*/
454 wpt_uint16 wptReasonCode;
455
456}WDI_DeleteSTAIndType;
457
458/*---------------------------------------------------------------------------
459 WDI_MicFailureIndType
460---------------------------------------------------------------------------*/
461typedef struct
462{
463 /*current BSSID*/
464 wpt_macAddr bssId;
465
466 /*Source mac address*/
467 wpt_macAddr macSrcAddr;
468
469 /*Transmitter mac address*/
470 wpt_macAddr macTaAddr;
471
472 /*Destination mac address*/
473 wpt_macAddr macDstAddr;
474
475 /*Multicast flag*/
476 wpt_uint8 ucMulticast;
477
478 /*First byte of IV*/
479 wpt_uint8 ucIV1;
480
481 /*Key Id*/
482 wpt_uint8 keyId;
483
484 /*Sequence Number*/
485 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
486
487 /*receive address */
488 wpt_macAddr macRxAddr;
489}WDI_MicFailureIndType;
490
491/*---------------------------------------------------------------------------
492 WDI_CoexIndType
493---------------------------------------------------------------------------*/
494typedef struct
495{
496 wpt_uint32 coexIndType;
497 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
498} WDI_CoexIndType;
499
500/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530501 WDI_DHCPInd
502---------------------------------------------------------------------------*/
503
504typedef struct
505{
506 wpt_uint8 device_mode;
507 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
508}WDI_DHCPInd;
509
510/*---------------------------------------------------------------------------
511
Jeff Johnson295189b2012-06-20 16:38:30 -0700512 WDI_MacSSid
513---------------------------------------------------------------------------*/
514typedef struct
515{
516 wpt_uint8 ucLength;
517 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
518} WDI_MacSSid;
519
520#ifdef FEATURE_WLAN_SCAN_PNO
521/*---------------------------------------------------------------------------
522 WDI_PrefNetworkFoundInd
523---------------------------------------------------------------------------*/
524typedef struct
525{
526 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700527 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700528 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700529 wpt_uint8 rssi;
530 wpt_uint16 frameLength;
531 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700532} WDI_PrefNetworkFoundInd;
533#endif // FEATURE_WLAN_SCAN_PNO
534
Jeff Johnson295189b2012-06-20 16:38:30 -0700535/*---------------------------------------------------------------------------
536 *WDI_P2pNoaAttrIndType
537 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700538typedef struct
539{
540 wpt_uint8 ucIndex ;
541 wpt_uint8 ucOppPsFlag ;
542 wpt_uint16 usCtWin ;
543
544 wpt_uint16 usNoa1IntervalCnt;
545 wpt_uint16 usRsvd1 ;
546 wpt_uint32 uslNoa1Duration;
547 wpt_uint32 uslNoa1Interval;
548 wpt_uint32 uslNoa1StartTime;
549
550 wpt_uint16 usNoa2IntervalCnt;
551 wpt_uint16 usRsvd2;
552 wpt_uint32 uslNoa2Duration;
553 wpt_uint32 uslNoa2Interval;
554 wpt_uint32 uslNoa2StartTime;
555
556 wpt_uint32 status;
557}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800558
559/*---------------------------------------------------------------------------
560 *WDI_P2pNoaStartIndType
561 *-------------------------------------------------------------------------*/
562typedef struct
563{
564 wpt_uint32 status;
565 wpt_uint32 bssIdx;
566}WDI_P2pNoaStartIndType;
567
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530568/*---------------------------------------------------------------------------
569 *WDI_TdlsIndType
570 *-------------------------------------------------------------------------*/
571typedef struct
572{
573 wpt_uint16 status;
574 wpt_uint16 assocId;
575 wpt_uint16 staIdx;
576 wpt_uint16 reasonCode;
577}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700578
579#ifdef WLAN_WAKEUP_EVENTS
580/*---------------------------------------------------------------------------
581 WDI_WakeReasonIndType
582---------------------------------------------------------------------------*/
583typedef struct
584{
585 wpt_uint32 ulReason; /* see tWakeReasonType */
586 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
587 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
588 HAL truncates the data (i.e. data packets) this length
589 will be less than the actual length */
590 wpt_uint32 ulActualDataLen; /* actual length of data */
591 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
592 see specific wake type */
593} WDI_WakeReasonIndType;
594#endif // WLAN_WAKEUP_EVENTS
595
596/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800597 WDI_MissedBeaconIndType
598-----------------------------------------------------------------------------*/
599typedef struct
600{
601 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
602} WDI_MissedBeaconIndType;
603
604
605/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700606 WDI_LowLevelIndType
607 Inidcation type and information about the indication being carried
608 over
609---------------------------------------------------------------------------*/
610typedef struct
611{
612 /*Inidcation type*/
613 WDI_LowLevelIndEnumType wdiIndicationType;
614
615 /*Indication data*/
616 union
617 {
618 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
619 WDI_LowRSSIThIndType wdiLowRSSIInfo;
620
621 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
622 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
623
624 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
625 WDI_MicFailureIndType wdiMICFailureInfo;
626
627 /*Error code for WDI_FATAL_ERROR_IND*/
628 wpt_uint16 usErrorCode;
629
630 /*Delete STA Indication*/
631 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
632
633 /*Coex Indication*/
634 WDI_CoexIndType wdiCoexInfo;
635
636 /* Tx Complete Indication */
637 wpt_uint32 tx_complete_status;
638
Jeff Johnson295189b2012-06-20 16:38:30 -0700639 /* P2P NOA ATTR Indication */
640 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800641 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530642 /* TDLS Indications */
643 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700644
645
646#ifdef FEATURE_WLAN_SCAN_PNO
647 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
648#endif // FEATURE_WLAN_SCAN_PNO
649
650#ifdef WLAN_WAKEUP_EVENTS
651 WDI_WakeReasonIndType wdiWakeReasonInd;
652#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800653 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700654 } wdiIndicationData;
655}WDI_LowLevelIndType;
656
657/*---------------------------------------------------------------------------
658 WDI_LowLevelIndCBType
659
660 DESCRIPTION
661
662 This callback is invoked by DAL to deliver to UMAC certain indications
663 that has either received from the lower device or has generated itself.
664
665 PARAMETERS
666
667 IN
668 pwdiInd: information about the indication sent over
669 pUserData: user data provided by UMAC during registration
670
671
672
673 RETURN VALUE
674 The result code associated with performing the operation
675---------------------------------------------------------------------------*/
676typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
677 void* pUserData);
678
679/*---------------------------------------------------------------------------
680 WDI_DriverType
681---------------------------------------------------------------------------*/
682typedef enum
683{
684 WDI_DRIVER_TYPE_PRODUCTION = 0,
685 WDI_DRIVER_TYPE_MFG = 1,
686 WDI_DRIVER_TYPE_DVT = 2
687} WDI_DriverType;
688
689/*---------------------------------------------------------------------------
690 WDI_StartReqParamsType
691---------------------------------------------------------------------------*/
692typedef struct
693{
694 /*This is a TLV formatted buffer containing all config values that can
695 be set through the DAL Interface
696
697 The TLV is expected to be formatted like this:
698
699 0 7 15 31 ....
700 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
701
702 Or from a C construct point of VU it would look like this:
703
704 typedef struct WPT_PACK_POST
705 {
706 #ifdef WPT_BIG_ENDIAN
707 wpt_uint32 ucCfgId:8;
708 wpt_uint32 ucCfgLen:8;
709 wpt_uint32 usReserved:16;
710 #else
711 wpt_uint32 usReserved:16;
712 wpt_uint32 ucCfgLen:8;
713 wpt_uint32 ucCfgId:8;
714 #endif
715
716 wpt_uint8 ucCfgBody[ucCfgLen];
717 }WDI_ConfigType;
718
719 Multiple such tuplets are to be placed in the config buffer. One for
720 each required configuration item:
721
722 | TLV 1 | TLV2 | ....
723
724 The buffer is expected to be a flat area of memory that can be manipulated
725 with standard memory routines.
726
727 For more info please check paragraph 2.3.1 Config Structure from the
728 HAL LLD.
729
730 For a list of accepted configuration list and IDs please look up
731 wlan_qct_dal_cfg.h
732
733 */
734 void* pConfigBuffer;
735
736 /*Length of the config buffer above*/
737 wpt_uint16 usConfigBufferLen;
738
739 /*Production or FTM driver*/
740 WDI_DriverType wdiDriverType;
741
742 /*Should device enable frame translation */
743 wpt_uint8 bFrameTransEnabled;
744
745 /*Request status callback offered by UMAC - it is called if the current
746 req has returned PENDING as status; it delivers the status of sending
747 the message over the BUS */
748 WDI_ReqStatusCb wdiReqStatusCB;
749
750 /*The user data passed in by UMAC, it will be sent back when the above
751 function pointer will be called */
752 void* pUserData;
753
754 /*Indication callback given by UMAC to be called by the WLAN DAL when it
755 wishes to send something back independent of a request*/
756 WDI_LowLevelIndCBType wdiLowLevelIndCB;
757
758 /*The user data passed in by UMAC, it will be sent back when the indication
759 function pointer will be called */
760 void* pIndUserData;
761}WDI_StartReqParamsType;
762
763
764/*---------------------------------------------------------------------------
765 WDI_StartRspParamsType
766---------------------------------------------------------------------------*/
767typedef struct
768{
769 /*Status of the response*/
770 WDI_Status wdiStatus;
771
772 /*Max number of STA supported by the device*/
773 wpt_uint8 ucMaxStations;
774
775 /*Max number of BSS supported by the device*/
776 wpt_uint8 ucMaxBssids;
777
778 /*Version of the WLAN HAL API with which we were compiled*/
779 WDI_WlanVersionType wlanCompiledVersion;
780
781 /*Version of the WLAN HAL API that was reported*/
782 WDI_WlanVersionType wlanReportedVersion;
783
784 /*WCNSS Software version string*/
785 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
786
787 /*WCNSS Hardware version string*/
788 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
789}WDI_StartRspParamsType;
790
791
792/*---------------------------------------------------------------------------
793 WDI_StopType
794---------------------------------------------------------------------------*/
795typedef enum
796{
797 /*Device is being stopped due to a reset*/
798 WDI_STOP_TYPE_SYS_RESET,
799
800 /*Device is being stopped due to entering deep sleep*/
801 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
802
803 /*Device is being stopped because the RF needs to shut off
804 (e.g.:Airplane mode)*/
805 WDI_STOP_TYPE_RF_KILL
806}WDI_StopType;
807
808/*---------------------------------------------------------------------------
809 WDI_StopReqParamsType
810---------------------------------------------------------------------------*/
811typedef struct
812{
813
814 /*The reason for which the device is being stopped*/
815 WDI_StopType wdiStopReason;
816
817 /*Request status callback offered by UMAC - it is called if the current
818 req has returned PENDING as status; it delivers the status of sending
819 the message over the BUS */
820 WDI_ReqStatusCb wdiReqStatusCB;
821
822 /*The user data passed in by UMAC, it will be sent back when the above
823 function pointer will be called */
824 void* pUserData;
825}WDI_StopReqParamsType;
826
827
828/*---------------------------------------------------------------------------
829 WDI_ScanMode
830---------------------------------------------------------------------------*/
831typedef enum
832{
833 WDI_SCAN_MODE_NORMAL = 0,
834 WDI_SCAN_MODE_LEARN,
835 WDI_SCAN_MODE_SCAN,
836 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -0700837 WDI_SCAN_MODE_SUSPEND_LINK,
838 WDI_SCAN_MODE_ROAM_SCAN,
839 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
840
Jeff Johnson295189b2012-06-20 16:38:30 -0700841} WDI_ScanMode;
842
843/*---------------------------------------------------------------------------
844 WDI_ScanEntry
845---------------------------------------------------------------------------*/
846typedef struct
847{
848 wpt_uint8 bssIdx[WDI_NUM_BSSID];
849 wpt_uint8 activeBSScnt;
850}WDI_ScanEntry;
851
852/*---------------------------------------------------------------------------
853 WDI_InitScanReqInfoType
854---------------------------------------------------------------------------*/
855typedef struct
856{
857 /*LEARN - AP Role
858 SCAN - STA Role*/
859 WDI_ScanMode wdiScanMode;
860
861 /*BSSID of the BSS*/
862 wpt_macAddr macBSSID;
863
864 /*Whether BSS needs to be notified*/
865 wpt_boolean bNotifyBSS;
866
867 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
868 CTS to Self). Must always be a valid frame type.*/
869 wpt_uint8 ucFrameType;
870
871 /*UMAC has the option of passing the MAC frame to be used for notifying
872 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
873 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
874 frameType.*/
875 wpt_uint8 ucFrameLength;
876
877 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
878 WDI_MacMgmtHdr wdiMACMgmtHdr;
879
880 /*Entry to hold number of active BSS to send NULL frames before
881 * initiating SCAN*/
882 WDI_ScanEntry wdiScanEntry;
883
884 /* Flag to enable/disable Single NOA*/
885 wpt_boolean bUseNOA;
886
887 /* Indicates the scan duration (in ms) */
888 wpt_uint16 scanDuration;
889
890}WDI_InitScanReqInfoType;
891
892/*---------------------------------------------------------------------------
893 WDI_InitScanReqParamsType
894---------------------------------------------------------------------------*/
895typedef struct
896{
897 /*The info associated with the request that needs to be sent over to the
898 device*/
899 WDI_InitScanReqInfoType wdiReqInfo;
900
901 /*Request status callback offered by UMAC - it is called if the current
902 req has returned PENDING as status; it delivers the status of sending
903 the message over the BUS */
904 WDI_ReqStatusCb wdiReqStatusCB;
905
906 /*The user data passed in by UMAC, it will be sent back when the above
907 function pointer will be called */
908 void* pUserData;
909}WDI_InitScanReqParamsType;
910
911/*---------------------------------------------------------------------------
912 WDI_StartScanReqParamsType
913---------------------------------------------------------------------------*/
914typedef struct
915{
916 /*Indicates the channel to scan*/
917 wpt_uint8 ucChannel;
918
919 /*Request status callback offered by UMAC - it is called if the current
920 req has returned PENDING as status; it delivers the status of sending
921 the message over the BUS */
922 WDI_ReqStatusCb wdiReqStatusCB;
923
924 /*The user data passed in by UMAC, it will be sent back when the above
925 function pointer will be called */
926 void* pUserData;
927}WDI_StartScanReqParamsType;
928
929/*---------------------------------------------------------------------------
930 WDI_StartScanRspParamsType
931---------------------------------------------------------------------------*/
932typedef struct
933{
934 /*Indicates the status of the operation */
935 WDI_Status wdiStatus;
936
937#if defined WLAN_FEATURE_VOWIFI
938 wpt_uint32 aStartTSF[2];
939 wpt_int8 ucTxMgmtPower;
940#endif
941}WDI_StartScanRspParamsType;
942
943/*---------------------------------------------------------------------------
944 WDI_EndScanReqParamsType
945---------------------------------------------------------------------------*/
946typedef struct
947{
948 /*Indicates the channel to stop scanning. Not used really. But retained
949 for symmetry with "start Scan" message. It can also help in error
950 check if needed.*/
951 wpt_uint8 ucChannel;
952
953 /*Request status callback offered by UMAC - it is called if the current
954 req has returned PENDING as status; it delivers the status of sending
955 the message over the BUS */
956 WDI_ReqStatusCb wdiReqStatusCB;
957
958 /*The user data passed in by UMAC, it will be sent back when the above
959 function pointer will be called */
960 void* pUserData;
961}WDI_EndScanReqParamsType;
962
963/*---------------------------------------------------------------------------
964 WDI_PhyChanBondState
965---------------------------------------------------------------------------*/
966typedef enum
967{
968 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
969 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
970 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -0700971 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
972#ifdef WLAN_FEATURE_11AC
973 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
974 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
975 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
976 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
977 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
978 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
979 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
980#endif
981 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -0700982} WDI_PhyChanBondState;
983
984/*---------------------------------------------------------------------------
985 WDI_FinishScanReqInfoType
986---------------------------------------------------------------------------*/
987typedef struct
988{
989 /*LEARN - AP Role
990 SCAN - STA Role*/
991 WDI_ScanMode wdiScanMode;
992
993 /*Operating channel to tune to.*/
994 wpt_uint8 ucCurrentOperatingChannel;
995
996 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
997 40 MHz extension channel in combination with the control channel*/
998 WDI_PhyChanBondState wdiCBState;
999
1000 /*BSSID of the BSS*/
1001 wpt_macAddr macBSSID;
1002
1003 /*Whether BSS needs to be notified*/
1004 wpt_boolean bNotifyBSS;
1005
1006 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1007 CTS to Self). Must always be a valid frame type.*/
1008 wpt_uint8 ucFrameType;
1009
1010 /*UMAC has the option of passing the MAC frame to be used for notifying
1011 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1012 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1013 frameType.*/
1014 wpt_uint8 ucFrameLength;
1015
1016 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1017 WDI_MacMgmtHdr wdiMACMgmtHdr;
1018
1019 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1020 WDI_ScanEntry wdiScanEntry;
1021
1022}WDI_FinishScanReqInfoType;
1023
1024/*---------------------------------------------------------------------------
1025 WDI_SwitchChReqInfoType
1026---------------------------------------------------------------------------*/
1027typedef struct
1028{
1029 /*Indicates the channel to switch to.*/
1030 wpt_uint8 ucChannel;
1031
1032 /*Local power constraint*/
1033 wpt_uint8 ucLocalPowerConstraint;
1034
1035 /*Secondary channel offset */
1036 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1037
1038#ifdef WLAN_FEATURE_VOWIFI
1039 wpt_int8 cMaxTxPower;
1040
1041 /*Self STA Mac address*/
1042 wpt_macAddr macSelfStaMacAddr;
1043#endif
1044 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1045 request has power constraints, this should be applied only to that session */
1046 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1047 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1048 */
1049 wpt_macAddr macBSSId;
1050
1051}WDI_SwitchChReqInfoType;
1052
1053/*---------------------------------------------------------------------------
1054 WDI_SwitchChReqParamsType
1055---------------------------------------------------------------------------*/
1056typedef struct
1057{
1058 /*Channel Info*/
1059 WDI_SwitchChReqInfoType wdiChInfo;
1060
1061 /*Request status callback offered by UMAC - it is called if the current
1062 req has returned PENDING as status; it delivers the status of sending
1063 the message over the BUS */
1064 WDI_ReqStatusCb wdiReqStatusCB;
1065
1066 /*The user data passed in by UMAC, it will be sent back when the above
1067 function pointer will be called */
1068 void* pUserData;
1069}WDI_SwitchChReqParamsType;
1070
1071/*---------------------------------------------------------------------------
1072 WDI_FinishScanReqParamsType
1073---------------------------------------------------------------------------*/
1074typedef struct
1075{
1076 /*Info for the Finish Scan request that will be sent down to the device*/
1077 WDI_FinishScanReqInfoType wdiReqInfo;
1078
1079 /*Request status callback offered by UMAC - it is called if the current
1080 req has returned PENDING as status; it delivers the status of sending
1081 the message over the BUS */
1082 WDI_ReqStatusCb wdiReqStatusCB;
1083
1084 /*The user data passed in by UMAC, it will be sent back when the above
1085 function pointer will be called */
1086 void* pUserData;
1087}WDI_FinishScanReqParamsType;
1088
1089/*---------------------------------------------------------------------------
1090 WDI_JoinReqInfoType
1091---------------------------------------------------------------------------*/
1092typedef struct
1093{
1094 /*Indicates the BSSID to which STA is going to associate*/
1095 wpt_macAddr macBSSID;
1096
1097 /*Indicates the MAC Address of the current Self STA*/
1098 wpt_macAddr macSTASelf;
1099
1100 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1101 wpt_uint32 linkState;
1102
1103 /*Indicates the channel to switch to.*/
1104 WDI_SwitchChReqInfoType wdiChannelInfo;
1105
1106}WDI_JoinReqInfoType;
1107
1108/*---------------------------------------------------------------------------
1109 WDI_JoinReqParamsType
1110---------------------------------------------------------------------------*/
1111typedef struct
1112{
1113 /*Info for the Join request that will be sent down to the device*/
1114 WDI_JoinReqInfoType wdiReqInfo;
1115
1116 /*Request status callback offered by UMAC - it is called if the current
1117 req has returned PENDING as status; it delivers the status of sending
1118 the message over the BUS */
1119 WDI_ReqStatusCb wdiReqStatusCB;
1120
1121 /*The user data passed in by UMAC, it will be sent back when the above
1122 function pointer will be called */
1123 void* pUserData;
1124}WDI_JoinReqParamsType;
1125
1126/*---------------------------------------------------------------------------
1127 WDI_BssType
1128---------------------------------------------------------------------------*/
1129typedef enum
1130{
1131 WDI_INFRASTRUCTURE_MODE,
1132 WDI_INFRA_AP_MODE, //Added for softAP support
1133 WDI_IBSS_MODE,
1134 WDI_BTAMP_STA_MODE,
1135 WDI_BTAMP_AP_MODE,
1136 WDI_BSS_AUTO_MODE,
1137}WDI_BssType;
1138
1139/*---------------------------------------------------------------------------
1140 WDI_NwType
1141---------------------------------------------------------------------------*/
1142typedef enum
1143{
1144 WDI_11A_NW_TYPE,
1145 WDI_11B_NW_TYPE,
1146 WDI_11G_NW_TYPE,
1147 WDI_11N_NW_TYPE,
1148} WDI_NwType;
1149
1150/*---------------------------------------------------------------------------
1151 WDI_ConfigAction
1152---------------------------------------------------------------------------*/
1153typedef enum
1154{
1155 WDI_ADD_BSS,
1156 WDI_UPDATE_BSS
1157} WDI_ConfigAction;
1158
1159/*---------------------------------------------------------------------------
1160 WDI_HTOperatingMode
1161---------------------------------------------------------------------------*/
1162typedef enum
1163{
1164 WDI_HT_OP_MODE_PURE,
1165 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1166 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1167 WDI_HT_OP_MODE_MIXED
1168
1169} WDI_HTOperatingMode;
1170
1171
1172/*---------------------------------------------------------------------------
1173 WDI_STAEntryType
1174---------------------------------------------------------------------------*/
1175typedef enum
1176{
1177 WDI_STA_ENTRY_SELF,
1178 WDI_STA_ENTRY_PEER,
1179 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001180 WDI_STA_ENTRY_BCAST,
1181#ifdef FEATURE_WLAN_TDLS
1182 WDI_STA_ENTRY_TDLS_PEER,
1183#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001184}WDI_STAEntryType;
1185
1186/*---------------------------------------------------------------------------
1187 WDI_ConfigActionType
1188---------------------------------------------------------------------------*/
1189typedef enum
1190{
1191 WDI_ADD_STA,
1192 WDI_UPDATE_STA
1193} WDI_ConfigActionType;
1194
1195/*----------------------------------------------------------------------------
1196 Each station added has a rate mode which specifies the sta attributes
1197 ----------------------------------------------------------------------------*/
1198typedef enum
1199{
1200 WDI_RESERVED_1 = 0,
1201 WDI_RESERVED_2,
1202 WDI_RESERVED_3,
1203 WDI_11b,
1204 WDI_11bg,
1205 WDI_11a,
1206 WDI_11n,
1207} WDI_RateModeType;
1208
1209/*---------------------------------------------------------------------------
1210 WDI_SupportedRatesType
1211---------------------------------------------------------------------------*/
1212typedef struct
1213{
1214 /*
1215 * For Self STA Entry: this represents Self Mode.
1216 * For Peer Stations, this represents the mode of the peer.
1217 * On Station:
1218 * --this mode is updated when PE adds the Self Entry.
1219 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1220 * ON AP:
1221 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1222 * to indicate the self mode of the AP.
1223 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1224 */
1225
1226 WDI_RateModeType opRateMode;
1227
1228 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1229 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1230 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1231 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1232
1233 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1234 First 26 bits are reserved for those Titan rates and
1235 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1236 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1237
1238 /*
1239 * 0-76 bits used, remaining reserved
1240 * bits 0-15 and 32 should be set.
1241 */
1242 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1243
1244 /*
1245 * RX Highest Supported Data Rate defines the highest data
1246 * rate that the STA is able to receive, in unites of 1Mbps.
1247 * This value is derived from "Supported MCS Set field" inside
1248 * the HT capability element.
1249 */
1250 wpt_uint16 aRxHighestDataRate;
1251
Jeff Johnsone7245742012-09-05 17:12:55 -07001252
1253#ifdef WLAN_FEATURE_11AC
1254 /*Indicates the Maximum MCS that can be received for each number
1255 of spacial streams */
1256 wpt_uint16 vhtRxMCSMap;
1257 /*Indicate the highest VHT data rate that the STA is able to receive*/
1258 wpt_uint16 vhtRxHighestDataRate;
1259 /*Indicates the Maximum MCS that can be transmitted for each number
1260 of spacial streams */
1261 wpt_uint16 vhtTxMCSMap;
1262 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1263 wpt_uint16 vhtTxHighestDataRate;
1264#endif
1265
Jeff Johnson295189b2012-06-20 16:38:30 -07001266} WDI_SupportedRates;
1267
1268/*--------------------------------------------------------------------------
1269 WDI_HTMIMOPowerSaveState
1270 Spatial Multiplexing(SM) Power Save mode
1271 --------------------------------------------------------------------------*/
1272typedef enum
1273{
1274 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1275 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1276 WDI_HT_MIMO_PS_NA = 2, // reserved
1277 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1278} WDI_HTMIMOPowerSaveState;
1279
1280/*---------------------------------------------------------------------------
1281 WDI_ConfigStaReqInfoType
1282---------------------------------------------------------------------------*/
1283typedef struct
1284{
1285 /*BSSID of STA*/
1286 wpt_macAddr macBSSID;
1287
1288 /*ASSOC ID, as assigned by UMAC*/
1289 wpt_uint16 usAssocId;
1290
1291 /*Used for configuration of different HW modules.*/
1292 WDI_STAEntryType wdiSTAType;
1293
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001294 /*STA Index */
1295 wpt_uint8 staIdx;
1296
Jeff Johnson295189b2012-06-20 16:38:30 -07001297 /*Short Preamble Supported.*/
1298 wpt_uint8 ucShortPreambleSupported;
1299
1300 /*MAC Address of STA*/
1301 wpt_macAddr macSTA;
1302
1303 /*Listen interval of the STA*/
1304 wpt_uint16 usListenInterval;
1305
1306 /*Support for 11e/WMM*/
1307 wpt_uint8 ucWMMEnabled;
1308
1309 /*11n HT capable STA*/
1310 wpt_uint8 ucHTCapable;
1311
1312 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1313 wpt_uint8 ucTXChannelWidthSet;
1314
1315 /*RIFS mode 0 - NA, 1 - Allowed*/
1316 wpt_uint8 ucRIFSMode;
1317
1318 /*L-SIG TXOP Protection mechanism
1319 0 - No Support, 1 - Supported
1320 SG - there is global field*/
1321 wpt_uint8 ucLSIGTxopProtection;
1322
1323 /*Max Ampdu Size supported by STA. Device programming.
1324 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1325 wpt_uint8 ucMaxAmpduSize;
1326
1327 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1328 wpt_uint8 ucMaxAmpduDensity;
1329
1330 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1331 wpt_uint8 ucMaxAmsduSize;
1332
1333 /*Short GI support for 40Mhz packets*/
1334 wpt_uint8 ucShortGI40Mhz;
1335
1336 /*Short GI support for 20Mhz packets*/
1337 wpt_uint8 ucShortGI20Mhz;
1338
1339 /*These rates are the intersection of peer and self capabilities.*/
1340 WDI_SupportedRates wdiSupportedRates;
1341
1342 /*Robust Management Frame (RMF) enabled/disabled*/
1343 wpt_uint8 ucRMFEnabled;
1344
1345 /* The unicast encryption type in the association */
1346 wpt_uint32 ucEncryptType;
1347
1348 /*HAL should update the existing STA entry, if this flag is set. UMAC
1349 will set this flag in case of RE-ASSOC, where we want to reuse the old
1350 STA ID.*/
1351 WDI_ConfigActionType wdiAction;
1352
1353 /*U-APSD Flags: 1b per AC. Encoded as follows:
1354 b7 b6 b5 b4 b3 b2 b1 b0 =
1355 X X X X BE BK VI VO
1356 */
1357 wpt_uint8 ucAPSD;
1358
1359 /*Max SP Length*/
1360 wpt_uint8 ucMaxSPLen;
1361
1362 /*11n Green Field preamble support*/
1363 wpt_uint8 ucGreenFieldCapable;
1364
1365 /*MIMO Power Save mode*/
1366 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1367
1368 /*Delayed BA Support*/
1369 wpt_uint8 ucDelayedBASupport;
1370
1371 /*Max AMPDU duration in 32us*/
1372 wpt_uint8 us32MaxAmpduDuratio;
1373
1374 /*HT STA should set it to 1 if it is enabled in BSS
1375 HT STA should set it to 0 if AP does not support it. This indication is
1376 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1377 */
1378 wpt_uint8 ucDsssCckMode40Mhz;
1379
1380 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001381#ifdef WLAN_FEATURE_11AC
1382 wpt_uint8 ucVhtCapableSta;
1383 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001384 wpt_uint8 ucVhtTxBFEnabled;
Jeff Johnsone7245742012-09-05 17:12:55 -07001385#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001386
1387 wpt_uint8 ucHtLdpcEnabled;
1388 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001389}WDI_ConfigStaReqInfoType;
1390
1391
1392/*---------------------------------------------------------------------------
1393 WDI_RateSet
1394
1395 12 Bytes long because this structure can be used to represent rate
1396 and extended rate set IEs
1397 The parser assume this to be at least 12
1398---------------------------------------------------------------------------*/
1399#define WDI_RATESET_EID_MAX 12
1400
1401typedef struct
1402{
1403 wpt_uint8 ucNumRates;
1404 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1405} WDI_RateSet;
1406
1407/*---------------------------------------------------------------------------
1408 WDI_AciAifsnType
1409 access category record
1410---------------------------------------------------------------------------*/
1411typedef struct
1412{
1413 wpt_uint8 rsvd : 1;
1414 wpt_uint8 aci : 2;
1415 wpt_uint8 acm : 1;
1416 wpt_uint8 aifsn : 4;
1417} WDI_AciAifsnType;
1418
1419/*---------------------------------------------------------------------------
1420 WDI_CWType
1421 contention window size
1422---------------------------------------------------------------------------*/
1423typedef struct
1424{
1425 wpt_uint8 max : 4;
1426 wpt_uint8 min : 4;
1427} WDI_CWType;
1428
1429/*---------------------------------------------------------------------------
1430 WDI_EdcaParamRecord
1431---------------------------------------------------------------------------*/
1432typedef struct
1433{
1434 /*Access Category Record*/
1435 WDI_AciAifsnType wdiACI;
1436
1437 /*Contention WIndow Size*/
1438 WDI_CWType wdiCW;
1439
1440 /*TX Oportunity Limit*/
1441 wpt_uint16 usTXOPLimit;
1442} WDI_EdcaParamRecord;
1443
1444/*---------------------------------------------------------------------------
1445 WDI_EDCAParamsType
1446---------------------------------------------------------------------------*/
1447typedef struct
1448{
1449 /*BSS Index*/
1450 wpt_uint8 ucBSSIdx;
1451
1452 /*?*/
1453 wpt_boolean bHighPerformance;
1454
1455 /*Best Effort*/
1456 WDI_EdcaParamRecord wdiACBE;
1457
1458 /*Background*/
1459 WDI_EdcaParamRecord wdiACBK;
1460
1461 /*Video*/
1462 WDI_EdcaParamRecord wdiACVI;
1463
1464 /*Voice*/
1465 WDI_EdcaParamRecord acvo; // voice
1466} WDI_EDCAParamsType;
1467
1468/* operMode in ADD BSS message */
1469#define WDI_BSS_OPERATIONAL_MODE_AP 0
1470#define WDI_BSS_OPERATIONAL_MODE_STA 1
1471
1472/*---------------------------------------------------------------------------
1473 WDI_ConfigBSSRspParamsType
1474---------------------------------------------------------------------------*/
1475typedef struct
1476{
1477 /*Status of the response*/
1478 WDI_Status wdiStatus;
1479
1480 /*BSSID of the BSS*/
1481 wpt_macAddr macBSSID;
1482
1483 /*BSS Index*/
1484 wpt_uint8 ucBSSIdx;
1485
1486 /*Unicast DPU signature*/
1487 wpt_uint8 ucUcastSig;
1488
1489 /*Broadcast DPU Signature*/
1490 wpt_uint8 ucBcastSig;
1491
1492 /*MAC Address of STA*/
1493 wpt_macAddr macSTA;
1494
1495 /*BSS STA ID*/
1496 wpt_uint8 ucSTAIdx;
1497
1498#ifdef WLAN_FEATURE_VOWIFI
1499 /*HAL fills in the tx power used for mgmt frames in this field */
1500 wpt_int8 ucTxMgmtPower;
1501#endif
1502
1503}WDI_ConfigBSSRspParamsType;
1504
1505/*---------------------------------------------------------------------------
1506 WDI_DelBSSReqParamsType
1507---------------------------------------------------------------------------*/
1508typedef struct
1509{
1510 /*BSS Index of the BSS*/
1511 wpt_uint8 ucBssIdx;
1512
1513 /*Request status callback offered by UMAC - it is called if the current
1514 req has returned PENDING as status; it delivers the status of sending
1515 the message over the BUS */
1516 WDI_ReqStatusCb wdiReqStatusCB;
1517
1518 /*The user data passed in by UMAC, it will be sent back when the above
1519 function pointer will be called */
1520 void* pUserData;
1521}WDI_DelBSSReqParamsType;
1522
1523/*---------------------------------------------------------------------------
1524 WDI_DelBSSRspParamsType
1525---------------------------------------------------------------------------*/
1526typedef struct
1527{
1528 /*Status of the response*/
1529 WDI_Status wdiStatus;
1530
1531 /*BSSID of the BSS*/
1532 wpt_macAddr macBSSID;
1533
1534 wpt_uint8 ucBssIdx;
1535
1536}WDI_DelBSSRspParamsType;
1537
1538/*---------------------------------------------------------------------------
1539 WDI_ConfigSTARspParamsType
1540---------------------------------------------------------------------------*/
1541typedef struct
1542{
1543 /*Status of the response*/
1544 WDI_Status wdiStatus;
1545
1546 /*STA Idx allocated by HAL*/
1547 wpt_uint8 ucSTAIdx;
1548
1549 /*MAC Address of STA*/
1550 wpt_macAddr macSTA;
1551
1552 /* BSSID Index of BSS to which the station is associated */
1553 wpt_uint8 ucBssIdx;
1554
1555 /* DPU Index - PTK */
1556 wpt_uint8 ucDpuIndex;
1557
1558 /* Bcast DPU Index - GTK */
1559 wpt_uint8 ucBcastDpuIndex;
1560
1561 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1562 wpt_uint8 ucBcastMgmtDpuIdx;
1563
1564 /*Unicast DPU signature*/
1565 wpt_uint8 ucUcastSig;
1566
1567 /*Broadcast DPU Signature*/
1568 wpt_uint8 ucBcastSig;
1569
1570 /* IGTK DPU signature*/
1571 wpt_uint8 ucMgmtSig;
1572
1573}WDI_ConfigSTARspParamsType;
1574
1575/*---------------------------------------------------------------------------
1576 WDI_PostAssocRspParamsType
1577---------------------------------------------------------------------------*/
1578typedef struct
1579{
1580 /*Status of the response*/
1581 WDI_Status wdiStatus;
1582
1583 /*Parameters related to the BSS*/
1584 WDI_ConfigBSSRspParamsType bssParams;
1585
1586 /*Parameters related to the self STA*/
1587 WDI_ConfigSTARspParamsType staParams;
1588
1589}WDI_PostAssocRspParamsType;
1590
1591/*---------------------------------------------------------------------------
1592 WDI_DelSTAReqParamsType
1593---------------------------------------------------------------------------*/
1594typedef struct
1595{
1596 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1597 wpt_uint8 ucSTAIdx;
1598
1599 /*Request status callback offered by UMAC - it is called if the current
1600 req has returned PENDING as status; it delivers the status of sending
1601 the message over the BUS */
1602 WDI_ReqStatusCb wdiReqStatusCB;
1603
1604 /*The user data passed in by UMAC, it will be sent back when the above
1605 function pointer will be called */
1606 void* pUserData;
1607}WDI_DelSTAReqParamsType;
1608
1609/*---------------------------------------------------------------------------
1610 WDI_DelSTARspParamsType
1611---------------------------------------------------------------------------*/
1612typedef struct
1613{
1614 /*Status of the response*/
1615 WDI_Status wdiStatus;
1616
1617 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1618 wpt_uint8 ucSTAIdx;
1619}WDI_DelSTARspParamsType;
1620
1621/*---------------------------------------------------------------------------
1622 WDI_EncryptType
1623---------------------------------------------------------------------------*/
1624typedef enum
1625{
1626 WDI_ENCR_NONE,
1627 WDI_ENCR_WEP40,
1628 WDI_ENCR_WEP104,
1629 WDI_ENCR_TKIP,
1630 WDI_ENCR_CCMP,
1631#if defined(FEATURE_WLAN_WAPI)
1632 WDI_ENCR_WPI,
1633#endif
1634 WDI_ENCR_AES_128_CMAC
1635} WDI_EncryptType;
1636
1637/*---------------------------------------------------------------------------
1638 WDI_KeyDirectionType
1639---------------------------------------------------------------------------*/
1640typedef enum
1641{
1642 WDI_TX_ONLY,
1643 WDI_RX_ONLY,
1644 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07001645 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07001646 WDI_DONOT_USE_KEY_DIRECTION
1647} WDI_KeyDirectionType;
1648
1649#define WDI_MAX_ENCR_KEYS 4
1650#define WDI_MAX_KEY_LENGTH 32
1651#if defined(FEATURE_WLAN_WAPI)
1652#define WDI_MAX_KEY_RSC_LEN 16
1653#define WDI_WAPI_KEY_RSC_LEN 16
1654#else
1655#define WDI_MAX_KEY_RSC_LEN 8
1656#endif
1657
1658typedef struct
1659{
1660 /* Key ID */
1661 wpt_uint8 keyId;
1662 /* 0 for multicast */
1663 wpt_uint8 unicast;
1664 /* Key Direction */
1665 WDI_KeyDirectionType keyDirection;
1666 /* Usage is unknown */
1667 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
1668 /* =1 for authenticator, =0 for supplicant */
1669 wpt_uint8 paeRole;
1670 wpt_uint16 keyLength;
1671 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
1672
1673}WDI_KeysType;
1674
1675/*---------------------------------------------------------------------------
1676 WDI_SetBSSKeyReqInfoType
1677---------------------------------------------------------------------------*/
1678typedef struct
1679{
1680 /*BSS Index of the BSS*/
1681 wpt_uint8 ucBssIdx;
1682
1683 /*Encryption Type used with peer*/
1684 WDI_EncryptType wdiEncType;
1685
1686 /*Number of keys*/
1687 wpt_uint8 ucNumKeys;
1688
1689 /*Array of keys.*/
1690 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
1691
1692 /*Control for Replay Count, 1= Single TID based replay count on Tx
1693 0 = Per TID based replay count on TX */
1694 wpt_uint8 ucSingleTidRc;
1695}WDI_SetBSSKeyReqInfoType;
1696
1697/*---------------------------------------------------------------------------
1698 WDI_SetBSSKeyReqParamsType
1699---------------------------------------------------------------------------*/
1700typedef struct
1701{
1702 /*Key Info */
1703 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
1704
1705 /*Request status callback offered by UMAC - it is called if the current
1706 req has returned PENDING as status; it delivers the status of sending
1707 the message over the BUS */
1708 WDI_ReqStatusCb wdiReqStatusCB;
1709
1710 /*The user data passed in by UMAC, it will be sent back when the above
1711 function pointer will be called */
1712 void* pUserData;
1713}WDI_SetBSSKeyReqParamsType;
1714
1715/*---------------------------------------------------------------------------
1716 WDI_WepType
1717---------------------------------------------------------------------------*/
1718typedef enum
1719{
1720 WDI_WEP_STATIC,
1721 WDI_WEP_DYNAMIC
1722
1723} WDI_WepType;
1724
1725/*---------------------------------------------------------------------------
1726 WDI_RemoveBSSKeyReqInfoType
1727---------------------------------------------------------------------------*/
1728typedef struct
1729{
1730 /*BSS Index of the BSS*/
1731 wpt_uint8 ucBssIdx;
1732
1733 /*Encryption Type used with peer*/
1734 WDI_EncryptType wdiEncType;
1735
1736 /*Key Id*/
1737 wpt_uint8 ucKeyId;
1738
1739 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
1740 keys*/
1741 WDI_WepType wdiWEPType;
1742}WDI_RemoveBSSKeyReqInfoType;
1743
1744/*---------------------------------------------------------------------------
1745 WDI_RemoveBSSKeyReqParamsType
1746---------------------------------------------------------------------------*/
1747typedef struct
1748{
1749 /*Key Info */
1750 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
1751
1752 /*Request status callback offered by UMAC - it is called if the current
1753 req has returned PENDING as status; it delivers the status of sending
1754 the message over the BUS */
1755 WDI_ReqStatusCb wdiReqStatusCB;
1756
1757 /*The user data passed in by UMAC, it will be sent back when the above
1758 function pointer will be called */
1759 void* pUserData;
1760}WDI_RemoveBSSKeyReqParamsType;
1761
1762/*---------------------------------------------------------------------------
1763 WDI_SetSTAKeyReqInfoType
1764---------------------------------------------------------------------------*/
1765typedef struct
1766{
1767 /*STA Index*/
1768 wpt_uint8 ucSTAIdx;
1769
1770 /*Encryption Type used with peer*/
1771 WDI_EncryptType wdiEncType;
1772
1773 /*STATIC/DYNAMIC*/
1774 WDI_WepType wdiWEPType;
1775
1776 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
1777 wpt_uint8 ucDefWEPIdx;
1778
1779 /*Number of keys*/
1780 wpt_uint8 ucNumKeys;
1781
1782 /*Array of keys.*/
1783 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
1784
1785 /*Control for Replay Count, 1= Single TID based replay count on Tx
1786 0 = Per TID based replay count on TX */
1787 wpt_uint8 ucSingleTidRc;
1788}WDI_SetSTAKeyReqInfoType;
1789
1790/*---------------------------------------------------------------------------
1791 WDI_ConfigBSSReqInfoType
1792---------------------------------------------------------------------------*/
1793typedef struct
1794{
1795 /*Peer BSSID*/
1796 wpt_macAddr macBSSID;
1797
1798 /*Self MAC Address*/
1799 wpt_macAddr macSelfAddr;
1800
1801 /*BSS Type*/
1802 WDI_BssType wdiBSSType;
1803
1804 /*Operational Mode: AP =0, STA = 1*/
1805 wpt_uint8 ucOperMode;
1806
1807 /*Network Type*/
1808 WDI_NwType wdiNWType;
1809
1810 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
1811 wpt_uint8 ucShortSlotTimeSupported;
1812
1813 /*Co-exist with 11a STA*/
1814 wpt_uint8 ucllaCoexist;
1815
1816 /*Co-exist with 11b STA*/
1817 wpt_uint8 ucllbCoexist;
1818
1819 /*Co-exist with 11g STA*/
1820 wpt_uint8 ucllgCoexist;
1821
1822 /*Coexistence with 11n STA*/
1823 wpt_uint8 ucHT20Coexist;
1824
1825 /*Non GF coexist flag*/
1826 wpt_uint8 ucllnNonGFCoexist;
1827
1828 /*TXOP protection support*/
1829 wpt_uint8 ucTXOPProtectionFullSupport;
1830
1831 /*RIFS mode*/
1832 wpt_uint8 ucRIFSMode;
1833
1834 /*Beacon Interval in TU*/
1835 wpt_uint16 usBeaconInterval;
1836
1837 /*DTIM period*/
1838 wpt_uint8 ucDTIMPeriod;
1839
1840 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1841 wpt_uint8 ucTXChannelWidthSet;
1842
1843 /*Operating channel*/
1844 wpt_uint8 ucCurrentOperChannel;
1845
1846 /*Extension channel for channel bonding*/
1847 wpt_uint8 ucCurrentExtChannel;
1848
1849 /*Context of the station being added in HW.*/
1850 WDI_ConfigStaReqInfoType wdiSTAContext;
1851
1852 /*SSID of the BSS*/
1853 WDI_MacSSid wdiSSID;
1854
1855 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
1856 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
1857 WDI_ConfigAction wdiAction;
1858
1859 /*Basic Rate Set*/
1860 WDI_RateSet wdiRateSet;
1861
1862 /*Enable/Disable HT capabilities of the BSS*/
1863 wpt_uint8 ucHTCapable;
1864
1865 /* Enable/Disable OBSS protection */
1866 wpt_uint8 ucObssProtEnabled;
1867
1868 /*RMF enabled/disabled*/
1869 wpt_uint8 ucRMFEnabled;
1870
1871 /*Determines the current HT Operating Mode operating mode of the
1872 802.11n STA*/
1873 WDI_HTOperatingMode wdiHTOperMod;
1874
1875 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
1876 wpt_uint8 ucDualCTSProtection;
1877
1878 /* Probe Response Max retries */
1879 wpt_uint8 ucMaxProbeRespRetryLimit;
1880
1881 /* To Enable Hidden ssid */
1882 wpt_uint8 bHiddenSSIDEn;
1883
1884 /* To Enable Disable FW Proxy Probe Resp */
1885 wpt_uint8 bProxyProbeRespEn;
1886
1887 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
1888 EDCA params or might not desire to apply EDCA params during config BSS.
1889 0 implies Not Valid ; Non-Zero implies valid*/
1890 wpt_uint8 ucEDCAParamsValid;
1891
1892 /*EDCA Parameters for BK*/
1893 WDI_EdcaParamRecord wdiBKEDCAParams;
1894
1895 /*EDCA Parameters for BE*/
1896 WDI_EdcaParamRecord wdiBEEDCAParams;
1897
1898 /*EDCA Parameters for VI*/
1899 WDI_EdcaParamRecord wdiVIEDCAParams;
1900
1901 /*EDCA Parameters for VO*/
1902 WDI_EdcaParamRecord wdiVOEDCAParams;
1903
1904#ifdef WLAN_FEATURE_VOWIFI
1905 /*max power to be used after applying the power constraint, if any */
1906 wpt_int8 cMaxTxPower;
1907#endif
1908
1909 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
1910 wpt_uint8 ucPersona;
1911
1912 /* Spectrum Mangement Indicator */
1913 wpt_uint8 bSpectrumMgtEn;
1914
1915#ifdef WLAN_FEATURE_VOWIFI_11R
1916 wpt_uint8 bExtSetStaKeyParamValid;
1917 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
1918#endif
1919
Jeff Johnsone7245742012-09-05 17:12:55 -07001920#ifdef WLAN_FEATURE_11AC
1921 wpt_uint8 ucVhtCapableSta;
1922 wpt_uint8 ucVhtTxChannelWidthSet;
1923#endif
1924
Jeff Johnson295189b2012-06-20 16:38:30 -07001925}WDI_ConfigBSSReqInfoType;
1926
1927/*---------------------------------------------------------------------------
1928 WDI_PostAssocReqParamsType
1929---------------------------------------------------------------------------*/
1930typedef struct
1931{
1932 /*Config STA arguments.*/
1933 WDI_ConfigStaReqInfoType wdiSTAParams;
1934
1935 /*Config BSS Arguments*/
1936 WDI_ConfigBSSReqInfoType wdiBSSParams;
1937
1938 /*Request status callback offered by UMAC - it is called if the current
1939 req has returned PENDING as status; it delivers the status of sending
1940 the message over the BUS */
1941 WDI_ReqStatusCb wdiReqStatusCB;
1942
1943 /*The user data passed in by UMAC, it will be sent back when the above
1944 function pointer will be called */
1945 void* pUserData;
1946}WDI_PostAssocReqParamsType;
1947
1948/*---------------------------------------------------------------------------
1949 WDI_ConfigBSSReqParamsType
1950---------------------------------------------------------------------------*/
1951typedef struct
1952{
1953 /*Info for the Join request that will be sent down to the device*/
1954 WDI_ConfigBSSReqInfoType wdiReqInfo;
1955
1956 /*Request status callback offered by UMAC - it is called if the current
1957 req has returned PENDING as status; it delivers the status of sending
1958 the message over the BUS */
1959 WDI_ReqStatusCb wdiReqStatusCB;
1960
1961 /*The user data passed in by UMAC, it will be sent back when the above
1962 function pointer will be called */
1963 void* pUserData;
1964}WDI_ConfigBSSReqParamsType;
1965
1966/*---------------------------------------------------------------------------
1967 WDI_SetSTAKeyReqParamsType
1968---------------------------------------------------------------------------*/
1969typedef struct
1970{
1971 /*Key Info*/
1972 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
1973
1974 /*Request status callback offered by UMAC - it is called if the current
1975 req has returned PENDING as status; it delivers the status of sending
1976 the message over the BUS */
1977 WDI_ReqStatusCb wdiReqStatusCB;
1978
1979 /*The user data passed in by UMAC, it will be sent back when the above
1980 function pointer will be called */
1981 void* pUserData;
1982}WDI_SetSTAKeyReqParamsType;
1983
1984/*---------------------------------------------------------------------------
1985 WDI_RemoveSTAKeyReqInfoType
1986---------------------------------------------------------------------------*/
1987typedef struct
1988{
1989 /*STA Index*/
1990 wpt_uint8 ucSTAIdx;
1991
1992 /*Encryption Type used with peer*/
1993 WDI_EncryptType wdiEncType;
1994
1995 /*Key Id*/
1996 wpt_uint8 ucKeyId;
1997
1998 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
1999 the same key is used for both broadcast and unicast.*/
2000 wpt_uint8 ucUnicast;
2001}WDI_RemoveSTAKeyReqInfoType;
2002
2003/*---------------------------------------------------------------------------
2004 WDI_RemoveSTAKeyReqParamsType
2005---------------------------------------------------------------------------*/
2006typedef struct
2007{
2008 /*Key Info */
2009 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2010
2011 /*Request status callback offered by UMAC - it is called if the current
2012 req has returned PENDING as status; it delivers the status of sending
2013 the message over the BUS */
2014 WDI_ReqStatusCb wdiReqStatusCB;
2015
2016 /*The user data passed in by UMAC, it will be sent back when the above
2017 function pointer will be called */
2018 void* pUserData;
2019}WDI_RemoveSTAKeyReqParamsType;
2020
2021/*---------------------------------------------------------------------------
2022 QOS Parameters
2023---------------------------------------------------------------------------*/
2024
2025/*---------------------------------------------------------------------------
2026 WDI_TSInfoTfc
2027---------------------------------------------------------------------------*/
2028typedef struct
2029{
2030 wpt_uint16 ackPolicy:2;
2031 wpt_uint16 userPrio:3;
2032 wpt_uint16 psb:1;
2033 wpt_uint16 aggregation : 1;
2034 wpt_uint16 accessPolicy : 2;
2035 wpt_uint16 direction : 2;
2036 wpt_uint16 tsid : 4;
2037 wpt_uint16 trafficType : 1;
2038} WDI_TSInfoTfc;
2039
2040/*---------------------------------------------------------------------------
2041 WDI_TSInfoSch
2042---------------------------------------------------------------------------*/
2043typedef struct
2044{
2045 wpt_uint8 rsvd : 7;
2046 wpt_uint8 schedule : 1;
2047} WDI_TSInfoSch;
2048
2049/*---------------------------------------------------------------------------
2050 WDI_TSInfoType
2051---------------------------------------------------------------------------*/
2052typedef struct
2053{
2054 WDI_TSInfoTfc wdiTraffic;
2055 WDI_TSInfoSch wdiSchedule;
2056} WDI_TSInfoType;
2057
2058/*---------------------------------------------------------------------------
2059 WDI_TspecIEType
2060---------------------------------------------------------------------------*/
2061typedef struct
2062{
2063 wpt_uint8 ucType;
2064 wpt_uint8 ucLength;
2065 WDI_TSInfoType wdiTSinfo;
2066 wpt_uint16 usNomMsduSz;
2067 wpt_uint16 usMaxMsduSz;
2068 wpt_uint32 uMinSvcInterval;
2069 wpt_uint32 uMaxSvcInterval;
2070 wpt_uint32 uInactInterval;
2071 wpt_uint32 uSuspendInterval;
2072 wpt_uint32 uSvcStartTime;
2073 wpt_uint32 uMinDataRate;
2074 wpt_uint32 uMeanDataRate;
2075 wpt_uint32 uPeakDataRate;
2076 wpt_uint32 uMaxBurstSz;
2077 wpt_uint32 uDelayBound;
2078 wpt_uint32 uMinPhyRate;
2079 wpt_uint16 usSurplusBw;
2080 wpt_uint16 usMediumTime;
2081}WDI_TspecIEType;
2082
2083/*---------------------------------------------------------------------------
2084 WDI_AddTSReqInfoType
2085---------------------------------------------------------------------------*/
2086typedef struct
2087{
2088 /*STA Index*/
2089 wpt_uint8 ucSTAIdx;
2090
2091 /*Identifier for TSpec*/
2092 wpt_uint16 ucTspecIdx;
2093
2094 /*Tspec IE negotiated OTA*/
2095 WDI_TspecIEType wdiTspecIE;
2096
2097 /*UAPSD delivery and trigger enabled flags */
2098 wpt_uint8 ucUapsdFlags;
2099
2100 /*SI for each AC*/
2101 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2102
2103 /*Suspend Interval for each AC*/
2104 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2105
2106 /*DI for each AC*/
2107 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2108
2109}WDI_AddTSReqInfoType;
2110
2111
2112/*---------------------------------------------------------------------------
2113 WDI_AddTSReqParamsType
2114---------------------------------------------------------------------------*/
2115typedef struct
2116{
2117 /*TSpec Info */
2118 WDI_AddTSReqInfoType wdiTsInfo;
2119
2120 /*Request status callback offered by UMAC - it is called if the current
2121 req has returned PENDING as status; it delivers the status of sending
2122 the message over the BUS */
2123 WDI_ReqStatusCb wdiReqStatusCB;
2124
2125 /*The user data passed in by UMAC, it will be sent back when the above
2126 function pointer will be called */
2127 void* pUserData;
2128}WDI_AddTSReqParamsType;
2129
2130/*---------------------------------------------------------------------------
2131 WDI_DelTSReqInfoType
2132---------------------------------------------------------------------------*/
2133typedef struct
2134{
2135 /*STA Index*/
2136 wpt_uint8 ucSTAIdx;
2137
2138 /*Identifier for TSpec*/
2139 wpt_uint16 ucTspecIdx;
2140
2141 /*BSSID of the BSS*/
2142 wpt_macAddr macBSSID;
2143}WDI_DelTSReqInfoType;
2144
2145/*---------------------------------------------------------------------------
2146 WDI_DelTSReqParamsType
2147---------------------------------------------------------------------------*/
2148typedef struct
2149{
2150 /*Del TSpec Info*/
2151 WDI_DelTSReqInfoType wdiDelTSInfo;
2152
2153 /*Request status callback offered by UMAC - it is called if the current
2154 req has returned PENDING as status; it delivers the status of sending
2155 the message over the BUS */
2156 WDI_ReqStatusCb wdiReqStatusCB;
2157
2158 /*The user data passed in by UMAC, it will be sent back when the above
2159 function pointer will be called */
2160 void* pUserData;
2161}WDI_DelTSReqParamsType;
2162
2163/*---------------------------------------------------------------------------
2164 WDI_UpdateEDCAInfoType
2165---------------------------------------------------------------------------*/
2166typedef struct
2167{
krunal soni0b366c02013-07-17 19:55:57 -07002168 /*BSS Index of the BSS*/
2169 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002170
2171 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2172 EDCA params or might not desire to apply EDCA params during config BSS.
2173 0 implies Not Valid ; Non-Zero implies valid*/
2174 wpt_uint8 ucEDCAParamsValid;
2175
2176 /*EDCA params for BE*/
2177 WDI_EdcaParamRecord wdiEdcaBEInfo;
2178
2179 /*EDCA params for BK*/
2180 WDI_EdcaParamRecord wdiEdcaBKInfo;
2181
2182 /*EDCA params for VI*/
2183 WDI_EdcaParamRecord wdiEdcaVIInfo;
2184
2185 /*EDCA params for VO*/
2186 WDI_EdcaParamRecord wdiEdcaVOInfo;
2187
2188}WDI_UpdateEDCAInfoType;
2189
2190/*---------------------------------------------------------------------------
2191 WDI_UpdateEDCAParamsType
2192---------------------------------------------------------------------------*/
2193typedef struct
2194{
2195 /*EDCA Info */
2196 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2197
2198 /*Request status callback offered by UMAC - it is called if the current
2199 req has returned PENDING as status; it delivers the status of sending
2200 the message over the BUS */
2201 WDI_ReqStatusCb wdiReqStatusCB;
2202
2203 /*The user data passed in by UMAC, it will be sent back when the above
2204 function pointer will be called */
2205 void* pUserData;
2206}WDI_UpdateEDCAParamsType;
2207
2208/*---------------------------------------------------------------------------
2209 WDI_AddBASessionReqinfoType
2210---------------------------------------------------------------------------*/
2211typedef struct
2212{
2213 /*Indicates the station for which BA is added..*/
2214 wpt_uint8 ucSTAIdx;
2215
2216 /*The peer mac address*/
2217 wpt_macAddr macPeerAddr;
2218
2219 /*TID for which BA was negotiated*/
2220 wpt_uint8 ucBaTID;
2221
2222 /*Delayed or imediate */
2223 wpt_uint8 ucBaPolicy;
2224
2225 /*The number of buffers for this TID (baTID)*/
2226 wpt_uint16 usBaBufferSize;
2227
2228 /*BA timeout in TU's*/
2229 wpt_uint16 usBaTimeout;
2230
2231 /*b0..b3 - Fragment Number - Always set to 0
2232 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2233 wpt_uint16 usBaSSN;
2234
2235 /*Originator/Recipient*/
2236 wpt_uint8 ucBaDirection;
2237
2238}WDI_AddBASessionReqinfoType;
2239
2240
2241/*---------------------------------------------------------------------------
2242 WDI_AddBASessionReqParamsType
2243---------------------------------------------------------------------------*/
2244typedef struct
2245{
2246 /*BA Session Info Type*/
2247 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2248
2249 /*Request status callback offered by UMAC - it is called if the current
2250 req has returned PENDING as status; it delivers the status of sending
2251 the message over the BUS */
2252 WDI_ReqStatusCb wdiReqStatusCB;
2253
2254 /*The user data passed in by UMAC, it will be sent back when the above
2255 function pointer will be called */
2256 void* pUserData;
2257}WDI_AddBASessionReqParamsType;
2258
2259/*---------------------------------------------------------------------------
2260 WDI_AddBASessionRspParamsType
2261---------------------------------------------------------------------------*/
2262typedef struct
2263{
2264 /*Status of the response*/
2265 WDI_Status wdiStatus;
2266
2267 /* Dialog token */
2268 wpt_uint8 ucBaDialogToken;
2269
2270 /* TID for which the BA session has been setup */
2271 wpt_uint8 ucBaTID;
2272
2273 /* BA Buffer Size allocated for the current BA session */
2274 wpt_uint8 ucBaBufferSize;
2275
2276 /* BA session ID */
2277 wpt_uint16 usBaSessionID;
2278
2279 /* Reordering Window buffer */
2280 wpt_uint8 ucWinSize;
2281
2282 /*Station Index to id the sta */
2283 wpt_uint8 ucSTAIdx;
2284
2285 /* Starting Sequence Number */
2286 wpt_uint16 usBaSSN;
2287
2288}WDI_AddBASessionRspParamsType;
2289
2290/*---------------------------------------------------------------------------
2291 WDI_AddBAReqinfoType
2292---------------------------------------------------------------------------*/
2293typedef struct
2294{
2295 /*Indicates the station for which BA is added..*/
2296 wpt_uint8 ucSTAIdx;
2297
2298 /* Session Id */
2299 wpt_uint8 ucBaSessionID;
2300
2301 /* Reorder Window Size */
2302 wpt_uint8 ucWinSize;
2303
2304#ifdef FEATURE_ON_CHIP_REORDERING
2305 wpt_boolean bIsReorderingDoneOnChip;
2306#endif
2307
2308}WDI_AddBAReqinfoType;
2309
2310
2311/*---------------------------------------------------------------------------
2312 WDI_AddBAReqParamsType
2313---------------------------------------------------------------------------*/
2314typedef struct
2315{
2316 /*BA Info Type*/
2317 WDI_AddBAReqinfoType wdiBAInfoType;
2318
2319 /*Request status callback offered by UMAC - it is called if the current
2320 req has returned PENDING as status; it delivers the status of sending
2321 the message over the BUS */
2322 WDI_ReqStatusCb wdiReqStatusCB;
2323
2324 /*The user data passed in by UMAC, it will be sent back when the above
2325 function pointer will be called */
2326 void* pUserData;
2327}WDI_AddBAReqParamsType;
2328
2329
2330/*---------------------------------------------------------------------------
2331 WDI_AddBARspinfoType
2332---------------------------------------------------------------------------*/
2333typedef struct
2334{
2335 /*Status of the response*/
2336 WDI_Status wdiStatus;
2337
2338 /* Dialog token */
2339 wpt_uint8 ucBaDialogToken;
2340
2341}WDI_AddBARspinfoType;
2342
2343/*---------------------------------------------------------------------------
2344 WDI_TriggerBAReqCandidateType
2345---------------------------------------------------------------------------*/
2346typedef struct
2347{
2348 /* STA index */
2349 wpt_uint8 ucSTAIdx;
2350
2351 /* TID bit map for the STA's*/
2352 wpt_uint8 ucTidBitmap;
2353
2354}WDI_TriggerBAReqCandidateType;
2355
2356
2357/*---------------------------------------------------------------------------
2358 WDI_TriggerBAReqinfoType
2359---------------------------------------------------------------------------*/
2360typedef struct
2361{
2362 /*Indicates the station for which BA is added..*/
2363 wpt_uint8 ucSTAIdx;
2364
2365 /* Session Id */
2366 wpt_uint8 ucBASessionID;
2367
2368 /* Trigger BA Request candidate count */
2369 wpt_uint16 usBACandidateCnt;
2370
2371 /* WDI_TriggerBAReqCandidateType followed by this*/
2372
2373}WDI_TriggerBAReqinfoType;
2374
2375
2376/*---------------------------------------------------------------------------
2377 WDI_TriggerBAReqParamsType
2378---------------------------------------------------------------------------*/
2379typedef struct
2380{
2381 /*BA Trigger Info Type*/
2382 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2383
2384 /*Request status callback offered by UMAC - it is called if the current
2385 req has returned PENDING as status; it delivers the status of sending
2386 the message over the BUS */
2387 WDI_ReqStatusCb wdiReqStatusCB;
2388
2389 /*The user data passed in by UMAC, it will be sent back when the above
2390 function pointer will be called */
2391 void* pUserData;
2392}WDI_TriggerBAReqParamsType;
2393
2394/*---------------------------------------------------------------------------
2395 WDI_AddBAInfoType
2396---------------------------------------------------------------------------*/
2397typedef struct
2398{
2399 wpt_uint16 fBaEnable : 1;
2400 wpt_uint16 startingSeqNum: 12;
2401 wpt_uint16 reserved : 3;
2402}WDI_AddBAInfoType;
2403
2404/*---------------------------------------------------------------------------
2405 WDI_TriggerBARspCandidateType
2406---------------------------------------------------------------------------*/
2407#define STA_MAX_TC 8
2408
2409typedef struct
2410{
2411 /* STA index */
2412 wpt_macAddr macSTA;
2413
2414 /* BA Info */
2415 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2416}WDI_TriggerBARspCandidateType;
2417
2418/*---------------------------------------------------------------------------
2419 WDI_TriggerBARspParamsType
2420---------------------------------------------------------------------------*/
2421typedef struct
2422{
2423 /*Status of the response*/
2424 WDI_Status wdiStatus;
2425
2426 /*BSSID of the BSS*/
2427 wpt_macAddr macBSSID;
2428
2429 /* Trigger BA response candidate count */
2430 wpt_uint16 usBaCandidateCnt;
2431
2432 /* WDI_TriggerBARspCandidateType followed by this*/
2433
2434}WDI_TriggerBARspParamsType;
2435
2436/*---------------------------------------------------------------------------
2437 WDI_DelBAReqinfoType
2438---------------------------------------------------------------------------*/
2439typedef struct
2440{
2441 /*Indicates the station for which BA is added..*/
2442 wpt_uint8 ucSTAIdx;
2443
2444 /*TID for which BA was negotiated*/
2445 wpt_uint8 ucBaTID;
2446
2447 /*Originator/Recipient*/
2448 wpt_uint8 ucBaDirection;
2449
2450}WDI_DelBAReqinfoType;
2451
2452/*---------------------------------------------------------------------------
2453 WDI_DelBAReqParamsType
2454---------------------------------------------------------------------------*/
2455typedef struct
2456{
2457 /*BA Info */
2458 WDI_DelBAReqinfoType wdiBAInfo;
2459
2460 /*Request status callback offered by UMAC - it is called if the current
2461 req has returned PENDING as status; it delivers the status of sending
2462 the message over the BUS */
2463 WDI_ReqStatusCb wdiReqStatusCB;
2464
2465 /*The user data passed in by UMAC, it will be sent back when the above
2466 function pointer will be called */
2467 void* pUserData;
2468}WDI_DelBAReqParamsType;
2469
2470
2471/*---------------------------------------------------------------------------
2472 WDI_SwitchCHRspParamsType
2473---------------------------------------------------------------------------*/
2474typedef struct
2475{
2476 /*Status of the response*/
2477 WDI_Status wdiStatus;
2478
2479 /*Indicates the channel that WLAN is on*/
2480 wpt_uint8 ucChannel;
2481
2482#ifdef WLAN_FEATURE_VOWIFI
2483 /*HAL fills in the tx power used for mgmt frames in this field.*/
2484 wpt_int8 ucTxMgmtPower;
2485#endif
2486
2487}WDI_SwitchCHRspParamsType;
2488
2489/*---------------------------------------------------------------------------
2490 WDI_ConfigSTAReqParamsType
2491---------------------------------------------------------------------------*/
2492typedef struct
2493{
2494 /*Info for the Join request that will be sent down to the device*/
2495 WDI_ConfigStaReqInfoType wdiReqInfo;
2496
2497 /*Request status callback offered by UMAC - it is called if the current
2498 req has returned PENDING as status; it delivers the status of sending
2499 the message over the BUS */
2500 WDI_ReqStatusCb wdiReqStatusCB;
2501
2502 /*The user data passed in by UMAC, it will be sent back when the above
2503 function pointer will be called */
2504 void* pUserData;
2505}WDI_ConfigSTAReqParamsType;
2506
2507
2508/*---------------------------------------------------------------------------
2509 WDI_UpdateBeaconParamsInfoType
2510---------------------------------------------------------------------------*/
2511
2512typedef struct
2513{
2514 /*BSS Index of the BSS*/
2515 wpt_uint8 ucBssIdx;
2516
2517 /*shortPreamble mode. HAL should update all the STA rates when it
2518 receives this message*/
2519 wpt_uint8 ucfShortPreamble;
2520 /* short Slot time.*/
2521 wpt_uint8 ucfShortSlotTime;
2522 /* Beacon Interval */
2523 wpt_uint16 usBeaconInterval;
2524 /*Protection related */
2525 wpt_uint8 ucllaCoexist;
2526 wpt_uint8 ucllbCoexist;
2527 wpt_uint8 ucllgCoexist;
2528 wpt_uint8 ucHt20MhzCoexist;
2529 wpt_uint8 ucllnNonGFCoexist;
2530 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2531 wpt_uint8 ucfRIFSMode;
2532
2533 wpt_uint16 usChangeBitmap;
2534}WDI_UpdateBeaconParamsInfoType;
2535
Mohit Khanna4a70d262012-09-11 16:30:12 -07002536#ifdef WLAN_FEATURE_11AC
2537typedef struct
2538{
2539 wpt_uint16 opMode;
2540 wpt_uint16 staId;
2541}WDI_UpdateVHTOpMode;
2542#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002543
2544/*---------------------------------------------------------------------------
2545 WDI_UpdateBeaconParamsType
2546---------------------------------------------------------------------------*/
2547typedef struct
2548{
2549 /*Update Beacon Params Info*/
2550 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2551
2552 /*Request status callback offered by UMAC - it is called if the current
2553 req has returned PENDING as status; it delivers the status of sending
2554 the message over the BUS */
2555 WDI_ReqStatusCb wdiReqStatusCB;
2556
2557 /*The user data passed in by UMAC, it will be sent back when the above
2558 function pointer will be called */
2559 void* pUserData;
2560}WDI_UpdateBeaconParamsType;
2561
2562/*---------------------------------------------------------------------------
2563 WDI_SendBeaconParamsInfoType
2564---------------------------------------------------------------------------*/
2565
2566typedef struct {
2567
2568 /*BSSID of the BSS*/
2569 wpt_macAddr macBSSID;
2570
2571 /* Beacon data */
2572 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2573
2574 /* length of the template */
2575 wpt_uint32 beaconLength;
2576
Jeff Johnson295189b2012-06-20 16:38:30 -07002577 /* TIM IE offset from the beginning of the template.*/
2578 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002579
Jeff Johnson295189b2012-06-20 16:38:30 -07002580 /* P2P IE offset from the beginning of the template */
2581 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002582} WDI_SendBeaconParamsInfoType;
2583
2584/*---------------------------------------------------------------------------
2585 WDI_SendBeaconParamsType
2586---------------------------------------------------------------------------*/
2587typedef struct
2588{
2589 /*Send Beacon Params Info*/
2590 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2591
2592 /*Request status callback offered by UMAC - it is called if the current
2593 req has returned PENDING as status; it delivers the status of sending
2594 the message over the BUS */
2595 WDI_ReqStatusCb wdiReqStatusCB;
2596
2597 /*The user data passed in by UMAC, it will be sent back when the above
2598 function pointer will be called */
2599 void* pUserData;
2600}WDI_SendBeaconParamsType;
2601
2602/*---------------------------------------------------------------------------
2603 WDI_LinkStateType
2604---------------------------------------------------------------------------*/
2605typedef enum
2606{
2607 WDI_LINK_IDLE_STATE = 0,
2608 WDI_LINK_PREASSOC_STATE = 1,
2609 WDI_LINK_POSTASSOC_STATE = 2,
2610 WDI_LINK_AP_STATE = 3,
2611 WDI_LINK_IBSS_STATE = 4,
2612
2613 // BT-AMP Case
2614 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2615 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2616 WDI_LINK_BTAMP_AP_STATE = 7,
2617 WDI_LINK_BTAMP_STA_STATE = 8,
2618
2619 // Reserved for HAL internal use
2620 WDI_LINK_LEARN_STATE = 9,
2621 WDI_LINK_SCAN_STATE = 10,
2622 WDI_LINK_FINISH_SCAN_STATE = 11,
2623 WDI_LINK_INIT_CAL_STATE = 12,
2624 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07002625 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05302626 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07002627 WDI_LINK_MAX = 0x7FFFFFFF
2628} WDI_LinkStateType;
2629
2630/*---------------------------------------------------------------------------
2631 WDI_SetLinkReqInfoType
2632---------------------------------------------------------------------------*/
2633typedef struct
2634{
2635 /*BSSID of the BSS*/
2636 wpt_macAddr macBSSID;
2637
2638 /*Link state*/
2639 WDI_LinkStateType wdiLinkState;
2640
2641 /*BSSID of the BSS*/
2642 wpt_macAddr macSelfStaMacAddr;
2643}WDI_SetLinkReqInfoType;
2644
2645/*---------------------------------------------------------------------------
2646 WDI_SetLinkReqParamsType
2647---------------------------------------------------------------------------*/
2648typedef struct
2649{
2650 /*Link Info*/
2651 WDI_SetLinkReqInfoType wdiLinkInfo;
2652
2653 /*Request status callback offered by UMAC - it is called if the current
2654 req has returned PENDING as status; it delivers the status of sending
2655 the message over the BUS */
2656 WDI_ReqStatusCb wdiReqStatusCB;
2657
2658 /*The user data passed in by UMAC, it will be sent back when the above
2659 function pointer will be called */
2660 void* pUserData;
2661}WDI_SetLinkReqParamsType;
2662
2663/*---------------------------------------------------------------------------
2664 WDI_GetStatsParamsInfoType
2665---------------------------------------------------------------------------*/
2666typedef struct
2667{
2668 /*Indicates the station for which Get Stats are requested..*/
2669 wpt_uint8 ucSTAIdx;
2670
2671 /* categories of stats requested */
2672 wpt_uint32 uStatsMask;
2673}WDI_GetStatsParamsInfoType;
2674
2675/*---------------------------------------------------------------------------
2676 WDI_GetStatsReqParamsType
2677---------------------------------------------------------------------------*/
2678typedef struct
2679{
2680 /*Get Stats Params Info*/
2681 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
2682
2683 /*Request status callback offered by UMAC - it is called if the current
2684 req has returned PENDING as status; it delivers the status of sending
2685 the message over the BUS */
2686 WDI_ReqStatusCb wdiReqStatusCB;
2687
2688 /*The user data passed in by UMAC, it will be sent back when the above
2689 function pointer will be called */
2690 void* pUserData;
2691}WDI_GetStatsReqParamsType;
2692
2693/*---------------------------------------------------------------------------
2694 WDI_GetStatsRspParamsType
2695---------------------------------------------------------------------------*/
2696typedef struct
2697{
2698 /*message type is same as the request type*/
2699 wpt_uint16 usMsgType;
2700
2701 /* length of the entire request, includes the pStatsBuf length too*/
2702 wpt_uint16 usMsgLen;
2703
2704 /*Result of the operation*/
2705 WDI_Status wdiStatus;
2706
2707 /*Indicates the station for which Get Stats are requested..*/
2708 wpt_uint8 ucSTAIdx;
2709
2710 /* categories of stats requested */
2711 wpt_uint32 uStatsMask;
2712
2713 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2714 * structure depending on statsMask.*/
2715}WDI_GetStatsRspParamsType;
2716
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08002717#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
2718/*---------------------------------------------------------------------------
2719 WDI_GetRoamRssiParamsInfoType
2720---------------------------------------------------------------------------*/
2721typedef struct
2722{
2723 /*Indicates the station for which Get Stats are requested..*/
2724 wpt_uint8 ucSTAIdx;
2725
2726 /* categories of stats requested */
2727 wpt_uint32 uStatsMask;
2728}WDI_GetRoamRssiParamsInfoType;
2729
2730/*---------------------------------------------------------------------------
2731 WDI_GetRoamRssiReqParamsType
2732---------------------------------------------------------------------------*/
2733typedef struct
2734{
2735 /*Get Roam Rssi Params Info*/
2736 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
2737
2738 /*Request status callback offered by UMAC - it is called if the current
2739 req has returned PENDING as status; it delivers the status of sending
2740 the message over the BUS */
2741 WDI_ReqStatusCb wdiReqStatusCB;
2742
2743 /*The user data passed in by UMAC, it will be sent back when the above
2744 function pointer will be called */
2745 void* pUserData;
2746}WDI_GetRoamRssiReqParamsType;
2747
2748/*---------------------------------------------------------------------------
2749 WDI_GetRoamRssiRspParamsType
2750---------------------------------------------------------------------------*/
2751typedef struct
2752{
2753 /*Result of the operation*/
2754 WDI_Status wdiStatus;
2755
2756 /*Indicates the station for which Get Stats are requested..*/
2757 wpt_uint8 ucSTAIdx;
2758
2759 /* roam rssi requested */
2760 wpt_int8 rssi;
2761
2762 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2763 * structure depending on statsMask.*/
2764}WDI_GetRoamRssiRspParamsType;
2765#endif
2766
Jeff Johnson295189b2012-06-20 16:38:30 -07002767#ifdef FEATURE_WLAN_CCX
2768/*---------------------------------------------------------------------------
2769 WDI_TSMStatsParamsInfoType
2770---------------------------------------------------------------------------*/
2771typedef struct
2772{
2773 /*Indicates the station for which Get Stats are requested..*/
2774 wpt_uint8 ucTid;
2775
2776 wpt_macAddr bssid;
2777}WDI_TSMStatsParamsInfoType;
2778
2779/*---------------------------------------------------------------------------
2780 WDI_TSMStatsReqParamsType
2781---------------------------------------------------------------------------*/
2782typedef struct
2783{
2784 /*Get TSM Stats Params Info*/
2785 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
2786
2787 WDI_ReqStatusCb wdiReqStatusCB;
2788
2789 /*The user data passed in by UMAC, it will be sent back when the above
2790 function pointer will be called */
2791 void* pUserData;
2792
2793}WDI_TSMStatsReqParamsType;
2794
2795
2796/*---------------------------------------------------------------------------
2797 WDI_TSMStatsRspParamsType
2798---------------------------------------------------------------------------*/
2799typedef struct
2800{
2801 /*Indicates the status of the operation */
2802 WDI_Status wdiStatus;
2803
2804 wpt_uint16 UplinkPktQueueDly;
2805 wpt_uint16 UplinkPktQueueDlyHist[4];
2806 wpt_uint32 UplinkPktTxDly;
2807 wpt_uint16 UplinkPktLoss;
2808 wpt_uint16 UplinkPktCount;
2809 wpt_uint8 RoamingCount;
2810 wpt_uint16 RoamingDly;
2811}WDI_TSMStatsRspParamsType;
2812
2813
2814#endif
2815/*---------------------------------------------------------------------------
2816 WDI_UpdateCfgReqParamsType
2817---------------------------------------------------------------------------*/
2818typedef struct
2819{
2820 /*This is a TLV formatted buffer containing all config values that can
2821 be set through the DAL Interface
2822
2823 The TLV is expected to be formatted like this:
2824
2825 0 7 15 31 ....
2826 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
2827
2828 Or from a C construct point of VU it would look like this:
2829
2830 typedef struct WPT_PACK_POST
2831 {
2832 #ifdef WPT_BIG_ENDIAN
2833 wpt_uint32 ucCfgId:8;
2834 wpt_uint32 ucCfgLen:8;
2835 wpt_uint32 usReserved:16;
2836 #else
2837 wpt_uint32 usReserved:16;
2838 wpt_uint32 ucCfgLen:8;
2839 wpt_uint32 ucCfgId:8;
2840 #endif
2841
2842 wpt_uint8 ucCfgBody[ucCfgLen];
2843 }WDI_ConfigType;
2844
2845 Multiple such tuplets are to be placed in the config buffer. One for
2846 each required configuration item:
2847
2848 | TLV 1 | TLV2 | ....
2849
2850 The buffer is expected to be a flat area of memory that can be manipulated
2851 with standard memory routines.
2852
2853 For more info please check paragraph 2.3.1 Config Structure from the
2854 HAL LLD.
2855
2856 For a list of accepted configuration list and IDs please look up
2857 wlan_qct_dal_cfg.h
2858 */
2859 void* pConfigBuffer;
2860
2861 /*Length of the config buffer above*/
2862 wpt_uint32 uConfigBufferLen;
2863
2864 /*Request status callback offered by UMAC - it is called if the current
2865 req has returned PENDING as status; it delivers the status of sending
2866 the message over the BUS */
2867 WDI_ReqStatusCb wdiReqStatusCB;
2868
2869 /*The user data passed in by UMAC, it will be sent back when the above
2870 function pointer will be called */
2871 void* pUserData;
2872}WDI_UpdateCfgReqParamsType;
2873
2874/*---------------------------------------------------------------------------
2875 WDI_UpdateProbeRspTemplateInfoType
2876---------------------------------------------------------------------------*/
2877//Default Beacon template size
2878#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
2879
2880#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
2881
2882typedef struct
2883{
2884 /*BSSID for which the Probe Template is to be used*/
2885 wpt_macAddr macBSSID;
2886
2887 /*Probe response template*/
2888 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
2889
2890 /*Template Len*/
2891 wpt_uint32 uProbeRespTemplateLen;
2892
2893 /*Bitmap for the IEs that are to be handled at SLM level*/
2894 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
2895
2896}WDI_UpdateProbeRspTemplateInfoType;
2897
2898/*---------------------------------------------------------------------------
2899 WDI_UpdateProbeRspParamsType
2900---------------------------------------------------------------------------*/
2901typedef struct
2902{
2903 /*Link Info*/
2904 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
2905
2906 /*Request status callback offered by UMAC - it is called if the current
2907 req has returned PENDING as status; it delivers the status of sending
2908 the message over the BUS */
2909 WDI_ReqStatusCb wdiReqStatusCB;
2910
2911 /*The user data passed in by UMAC, it will be sent back when the above
2912 function pointer will be called */
2913 void* pUserData;
2914}WDI_UpdateProbeRspTemplateParamsType;
2915
2916/*---------------------------------------------------------------------------
2917 WDI_NvDownloadReqBlobInfo
2918---------------------------------------------------------------------------*/
2919
2920typedef struct
2921{
2922 /* Blob starting address*/
2923 void *pBlobAddress;
2924
2925 /* Blob size */
2926 wpt_uint32 uBlobSize;
2927
2928}WDI_NvDownloadReqBlobInfo;
2929
2930/*---------------------------------------------------------------------------
2931 WDI_NvDownloadReqParamsType
2932---------------------------------------------------------------------------*/
2933typedef struct
2934{
2935 /*NV Blob Info*/
2936 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
2937
2938 /*Request status callback offered by UMAC - it is called if the current
2939 req has returned PENDING as status; it delivers the status of sending
2940 the message over the BUS */
2941 WDI_ReqStatusCb wdiReqStatusCB;
2942
2943 /*The user data passed in by UMAC, it will be sent back when the above
2944 function pointer will be called */
2945 void* pUserData;
2946
2947}WDI_NvDownloadReqParamsType;
2948
2949/*---------------------------------------------------------------------------
2950 WDI_NvDownloadRspInfoType
2951---------------------------------------------------------------------------*/
2952typedef struct
2953{
2954 /*Status of the response*/
2955 WDI_Status wdiStatus;
2956
2957}WDI_NvDownloadRspInfoType;
2958
2959/*---------------------------------------------------------------------------
2960 WDI_SetMaxTxPowerInfoType
2961---------------------------------------------------------------------------*/
2962
2963typedef struct
2964{
2965 /*BSSID is needed to identify which session issued this request. As the request has
2966 power constraints, this should be applied only to that session*/
2967 wpt_macAddr macBSSId;
2968
2969
2970 wpt_macAddr macSelfStaMacAddr;
2971
2972 /* In request power == MaxTxpower to be used.*/
2973 wpt_int8 ucPower;
2974
2975}WDI_SetMaxTxPowerInfoType;
2976
2977/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07002978 WDI_SetTxPowerInfoType
2979---------------------------------------------------------------------------*/
2980
2981typedef struct
2982{
2983 wpt_uint8 bssIdx;
2984 /* In request power == MaxTxpower to be used.*/
2985 wpt_uint8 ucPower;
2986
2987}WDI_SetTxPowerInfoType;
2988
2989/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002990 WDI_SetMaxTxPowerParamsType
2991---------------------------------------------------------------------------*/
2992typedef struct
2993{
2994 /*Link Info*/
2995 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
2996
2997 /*Request status callback offered by UMAC - it is called if the current
2998 req has returned PENDING as status; it delivers the status of sending
2999 the message over the BUS */
3000 WDI_ReqStatusCb wdiReqStatusCB;
3001
3002 /*The user data passed in by UMAC, it will be sent back when the above
3003 function pointer will be called */
3004 void* pUserData;
3005}WDI_SetMaxTxPowerParamsType;
3006
schang86c22c42013-03-13 18:41:24 -07003007/*---------------------------------------------------------------------------
3008 WDI_SetTxPowerParamsType
3009---------------------------------------------------------------------------*/
3010typedef struct
3011{
3012 /*Link Info*/
3013 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3014
3015 /*Request status callback offered by UMAC - it is called if the current
3016 req has returned PENDING as status; it delivers the status of sending
3017 the message over the BUS */
3018 WDI_ReqStatusCb wdiReqStatusCB;
3019
3020 /*The user data passed in by UMAC, it will be sent back when the above
3021 function pointer will be called */
3022 void* pUserData;
3023}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003024
3025/*---------------------------------------------------------------------------
3026 WDI_SetMaxTxPowerRspMsg
3027---------------------------------------------------------------------------*/
3028
3029typedef struct
3030{
3031 /* In response, power==tx power used for management frames*/
3032 wpt_int8 ucPower;
3033
3034 /*Result of the operation*/
3035 WDI_Status wdiStatus;
3036
3037}WDI_SetMaxTxPowerRspMsg;
3038
schang86c22c42013-03-13 18:41:24 -07003039/*---------------------------------------------------------------------------
3040 WDI_SetTxPowerRspMsg
3041---------------------------------------------------------------------------*/
3042
3043typedef struct
3044{
3045 /* In response, power==tx power used for management frames*/
3046 wpt_int8 ucPower;
3047
3048 /*Result of the operation*/
3049 WDI_Status wdiStatus;
3050
3051}WDI_SetTxPowerRspMsg;
3052
Jeff Johnson295189b2012-06-20 16:38:30 -07003053typedef struct
3054{
3055 wpt_uint8 ucOpp_ps;
3056 wpt_uint32 uCtWindow;
3057 wpt_uint8 ucCount;
3058 wpt_uint32 uDuration;
3059 wpt_uint32 uInterval;
3060 wpt_uint32 uSingle_noa_duration;
3061 wpt_uint8 ucPsSelection;
3062}WDI_SetP2PGONOAReqInfoType;
3063
3064/*---------------------------------------------------------------------------
3065 WDI_SetP2PGONOAReqParamsType
3066---------------------------------------------------------------------------*/
3067typedef struct
3068{
3069 /*P2P GO NOA Req*/
3070 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3071
3072 /*Request status callback offered by UMAC - it is called if the current
3073 req has returned PENDING as status; it delivers the status of sending
3074 the message over the BUS */
3075 WDI_ReqStatusCb wdiReqStatusCB;
3076
3077 /*The user data passed in by UMAC, it will be sent back when the above
3078 function pointer will be called */
3079 void* pUserData;
3080}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003081
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303082typedef struct
3083{
3084 wpt_uint16 uStaIdx;
3085 wpt_uint8 uIsResponder;
3086 wpt_uint8 uUapsdQueues;
3087 wpt_uint8 uMaxSp;
3088 wpt_uint8 uIsBufSta;
3089}WDI_SetTDLSLinkEstablishReqInfoType;
3090/*---------------------------------------------------------------------------
3091 WDI_SetTDLSLinkEstablishReqParamsType
3092---------------------------------------------------------------------------*/
3093typedef struct
3094{
3095 /*TDLS Link Establish Req*/
3096 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3097
3098 /*Request status callback offered by UMAC - it is called if the current
3099 req has returned PENDING as status; it delivers the status of sending
3100 the message over the BUS */
3101 WDI_ReqStatusCb wdiReqStatusCB;
3102
3103 /*The user data passed in by UMAC, it will be sent back when the above
3104 function pointer will be called */
3105 void* pUserData;
3106}WDI_SetTDLSLinkEstablishReqParamsType;
3107
3108
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303109typedef struct
3110{
3111 /*Result of the operation*/
3112 WDI_Status wdiStatus;
3113
3114 /*STA Idx*/
3115 wpt_uint16 uStaIdx;
3116}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003117
3118/*---------------------------------------------------------------------------
3119 WDI_SetAddSTASelfParamsType
3120---------------------------------------------------------------------------*/
3121typedef struct
3122{
3123 /*Self Station MAC address*/
3124 wpt_macAddr selfMacAddr;
3125
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003126 /*Self STA device mode*/
3127 wpt_uint32 currDeviceMode;
3128
Jeff Johnson295189b2012-06-20 16:38:30 -07003129 /*Status of the operation*/
3130 wpt_uint32 uStatus;
3131}WDI_AddSTASelfInfoType;
3132
3133/*---------------------------------------------------------------------------
3134 WDI_SetAddSTASelfParamsType
3135---------------------------------------------------------------------------*/
3136typedef struct
3137{
3138 /* Add Sta Self Req */
3139 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3140
3141 /*Request status callback offered by UMAC - it is called if the current
3142 req has returned PENDING as status; it delivers the status of sending
3143 the message over the BUS */
3144 WDI_ReqStatusCb wdiReqStatusCB;
3145
3146 /*The user data passed in by UMAC, it will be sent back when the above
3147 function pointer will be called */
3148 void* pUserData;
3149}WDI_AddSTASelfReqParamsType;
3150
3151
3152/*---------------------------------------------------------------------------
3153 WDI_AddSTASelfRspParamsType
3154---------------------------------------------------------------------------*/
3155typedef struct
3156{
3157 /*Status of the response*/
3158 WDI_Status wdiStatus;
3159
3160 /*STA Idx allocated by HAL*/
3161 wpt_uint8 ucSTASelfIdx;
3162
3163 /* DPU Index (IGTK, PTK, GTK all same) */
3164 wpt_uint8 dpuIdx;
3165
3166 /* DPU Signature */
3167 wpt_uint8 dpuSignature;
3168
3169 /*Self STA Mac*/
3170 wpt_macAddr macSelfSta;
3171
3172}WDI_AddSTASelfRspParamsType;
3173
3174/*---------------------------------------------------------------------------
3175 WDI_DelSTASelfReqParamsType
3176 Del Sta Self info passed to WDI form WDA
3177---------------------------------------------------------------------------*/
3178typedef struct
3179{
3180 wpt_macAddr selfMacAddr;
3181
3182}WDI_DelSTASelfInfoType;
3183
3184/*---------------------------------------------------------------------------
3185 WDI_DelSTASelfReqParamsType
3186 Del Sta Self info passed to WDI form WDA
3187---------------------------------------------------------------------------*/
3188typedef struct
3189{
3190 /*Del Sta Self Info Type */
3191 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3192 /*Request status callback offered by UMAC - it is called if the current req
3193 has returned PENDING as status; it delivers the status of sending the message
3194 over the BUS */
3195 WDI_ReqStatusCb wdiReqStatusCB;
3196 /*The user data passed in by UMAC, it will be sent back when the above
3197 function pointer will be called */
3198 void* pUserData;
3199}WDI_DelSTASelfReqParamsType;
3200
3201/*---------------------------------------------------------------------------
3202 WDI_DelSTASelfRspParamsType
3203---------------------------------------------------------------------------*/
3204typedef struct
3205{
3206 /*Status of the response*/
3207 WDI_Status wdiStatus;
3208
3209 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3210// wpt_uint8 ucSTAIdx;
3211}WDI_DelSTASelfRspParamsType;
3212
3213/*---------------------------------------------------------------------------
3214 WDI_UapsdInfoType
3215 UAPSD parameters passed per AC to WDA from UMAC
3216---------------------------------------------------------------------------*/
3217typedef struct
3218{
3219 wpt_uint8 ucSTAIdx; // STA index
3220 wpt_uint8 ucAc; // Access Category
3221 wpt_uint8 ucUp; // User Priority
3222 wpt_uint32 uSrvInterval; // Service Interval
3223 wpt_uint32 uSusInterval; // Suspend Interval
3224 wpt_uint32 uDelayInterval; // Delay Interval
3225} WDI_UapsdInfoType;
3226
3227/*---------------------------------------------------------------------------
3228 WDI_SetUapsdAcParamsReqParamsType
3229 UAPSD parameters passed per AC to WDI from WDA
3230---------------------------------------------------------------------------*/
3231typedef struct
3232{
3233 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3234 WDI_UapsdInfoType wdiUapsdInfo;
3235 /*Request status callback offered by UMAC - it is called if the current req
3236 has returned PENDING as status; it delivers the status of sending the message
3237 over the BUS */
3238 WDI_ReqStatusCb wdiReqStatusCB;
3239 /*The user data passed in by UMAC, it will be sent back when the above
3240 function pointer will be called */
3241 void* pUserData;
3242}WDI_SetUapsdAcParamsReqParamsType;
3243
3244/*---------------------------------------------------------------------------
3245 WDI_EnterBmpsReqinfoType
3246 Enter BMPS parameters passed to WDA from UMAC
3247---------------------------------------------------------------------------*/
3248typedef struct
3249{
3250 //TBTT value derived from the last beacon
3251 wpt_uint8 ucBssIdx;
3252 wpt_uint64 uTbtt;
3253 wpt_uint8 ucDtimCount;
3254 //DTIM period given to HAL during association may not be valid,
3255 //if association is based on ProbeRsp instead of beacon.
3256 wpt_uint8 ucDtimPeriod;
3257 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3258 DXE when DXE wakes up from power save*/
3259 unsigned int dxePhyAddr;
3260
3261 // For CCX and 11R Roaming
3262 wpt_uint32 rssiFilterPeriod;
3263 wpt_uint32 numBeaconPerRssiAverage;
3264 wpt_uint8 bRssiFilterEnable;
3265}WDI_EnterBmpsReqinfoType;
3266
3267/*---------------------------------------------------------------------------
3268 WDI_EnterBmpsReqParamsType
3269 Enter BMPS parameters passed to WDI from WDA
3270---------------------------------------------------------------------------*/
3271typedef struct
3272{
3273 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3274 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3275 /*Request status callback offered by UMAC - it is called if the current req
3276 has returned PENDING as status; it delivers the status of sending the message
3277 over the BUS */
3278 WDI_ReqStatusCb wdiReqStatusCB;
3279 /*The user data passed in by UMAC, it will be sent back when the above
3280 function pointer will be called */
3281 void* pUserData;
3282}WDI_EnterBmpsReqParamsType;
3283
3284/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003285 WDI_EnterBmpsReqParamsType
3286 Enter BMPS parameters passed from WDI to WDA
3287---------------------------------------------------------------------------*/
3288typedef struct
3289{
3290 /*Status of the response*/
3291 WDI_Status wdiStatus;
3292
3293 /*BssIDX of the session*/
3294 wpt_uint8 bssIdx;
3295}WDI_EnterBmpsRspParamsType;
3296
3297/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003298 WDI_ExitBmpsReqinfoType
3299 Exit BMPS parameters passed to WDA from UMAC
3300---------------------------------------------------------------------------*/
3301typedef struct
3302{
3303 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003304 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003305}WDI_ExitBmpsReqinfoType;
3306
3307/*---------------------------------------------------------------------------
3308 WDI_ExitBmpsReqParamsType
3309 Exit BMPS parameters passed to WDI from WDA
3310---------------------------------------------------------------------------*/
3311typedef struct
3312{
3313 /*Exit BMPS Info Type, same as tExitBmpsParams */
3314 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3315 /*Request status callback offered by UMAC - it is called if the current req
3316 has returned PENDING as status; it delivers the status of sending the message
3317 over the BUS */
3318 WDI_ReqStatusCb wdiReqStatusCB;
3319 /*The user data passed in by UMAC, it will be sent back when the above
3320 function pointer will be called */
3321 void* pUserData;
3322}WDI_ExitBmpsReqParamsType;
3323
3324/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003325 WDI_ExitBmpsReqParamsType
3326 Exit BMPS parameters passed from WDI to WDA
3327---------------------------------------------------------------------------*/
3328typedef struct
3329{
3330 /*Status of the response*/
3331 WDI_Status wdiStatus;
3332
3333 /*BssIDX of the session*/
3334 wpt_uint8 bssIdx;
3335}WDI_ExitBmpsRspParamsType;
3336
3337/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003338 WDI_EnterUapsdReqinfoType
3339 Enter UAPSD parameters passed to WDA from UMAC
3340---------------------------------------------------------------------------*/
3341typedef struct
3342{
3343 wpt_uint8 ucBkDeliveryEnabled:1;
3344 wpt_uint8 ucBeDeliveryEnabled:1;
3345 wpt_uint8 ucViDeliveryEnabled:1;
3346 wpt_uint8 ucVoDeliveryEnabled:1;
3347 wpt_uint8 ucBkTriggerEnabled:1;
3348 wpt_uint8 ucBeTriggerEnabled:1;
3349 wpt_uint8 ucViTriggerEnabled:1;
3350 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003351 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003352}WDI_EnterUapsdReqinfoType;
3353
3354/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003355 WDI_EnterUapsdRspParamsType
3356 Enter UAPSD parameters passed from WDI to WDA
3357---------------------------------------------------------------------------*/
3358typedef struct
3359{
3360 /*Status of the response*/
3361 WDI_Status wdiStatus;
3362
3363 /*BssIDX of the session*/
3364 wpt_uint8 bssIdx;
3365}WDI_EnterUapsdRspParamsType;
3366
3367/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003368 WDI_EnterUapsdReqinfoType
3369 Enter UAPSD parameters passed to WDI from WDA
3370---------------------------------------------------------------------------*/
3371typedef struct
3372{
3373 /*Enter UAPSD Info Type, same as tUapsdParams */
3374 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3375 /*Request status callback offered by UMAC - it is called if the current req
3376 has returned PENDING as status; it delivers the status of sending the message
3377 over the BUS */
3378 WDI_ReqStatusCb wdiReqStatusCB;
3379 /*The user data passed in by UMAC, it will be sent back when the above
3380 function pointer will be called */
3381 void* pUserData;
3382}WDI_EnterUapsdReqParamsType;
3383
3384/*---------------------------------------------------------------------------
3385 WDI_UpdateUapsdReqinfoType
3386 Update UAPSD parameters passed to WDA from UMAC
3387---------------------------------------------------------------------------*/
3388typedef struct
3389{
3390 wpt_uint8 ucSTAIdx;
3391 wpt_uint8 ucUapsdACMask;
3392 wpt_uint32 uMaxSpLen;
3393}WDI_UpdateUapsdReqinfoType;
3394
3395/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003396 WDI_ExitUapsdReqinfoType
3397 Exit UAPSD parameters passed to WDA from UMAC
3398---------------------------------------------------------------------------*/
3399typedef struct
3400{
3401 wpt_uint8 bssIdx;
3402}WDI_ExitUapsdReqinfoType;
3403
3404/*---------------------------------------------------------------------------
3405 WDI_ExitUapsdReqParamsType
3406 Exit UAPSD parameters passed to WDI from WDA
3407---------------------------------------------------------------------------*/
3408typedef struct
3409{
3410 /*Exit UAPSD Info Type, same as tUapsdParams */
3411 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3412 /*Request status callback offered by UMAC - it is called if the current req
3413 has returned PENDING as status; it delivers the status of sending the message
3414 over the BUS */
3415 WDI_ReqStatusCb wdiReqStatusCB;
3416 /*The user data passed in by UMAC, it will be sent back when the above
3417 function pointer will be called */
3418 void* pUserData;
3419}WDI_ExitUapsdReqParamsType;
3420
3421/*---------------------------------------------------------------------------
3422 WDI_ExitUapsdRspParamsType
3423 Exit UAPSD parameters passed from WDI to WDA
3424---------------------------------------------------------------------------*/
3425typedef struct
3426{
3427 /*Status of the response*/
3428 WDI_Status wdiStatus;
3429
3430 /*BssIDX of the session*/
3431 wpt_uint8 bssIdx;
3432}WDI_ExitUapsdRspParamsType;
3433
3434/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003435 WDI_UpdateUapsdReqParamsType
3436 Update UAPSD parameters passed to WDI form WDA
3437---------------------------------------------------------------------------*/
3438typedef struct
3439{
3440 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3441 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3442 /*Request status callback offered by UMAC - it is called if the current req
3443 has returned PENDING as status; it delivers the status of sending the message
3444 over the BUS */
3445 WDI_ReqStatusCb wdiReqStatusCB;
3446 /*The user data passed in by UMAC, it will be sent back when the above
3447 function pointer will be called */
3448 void* pUserData;
3449}WDI_UpdateUapsdReqParamsType;
3450
3451/*---------------------------------------------------------------------------
3452 WDI_ConfigureRxpFilterReqParamsType
3453 RXP filter parameters passed to WDI form WDA
3454---------------------------------------------------------------------------*/
3455typedef struct
3456{
3457 /* Mode of Mcast and Bcast filters configured */
3458 wpt_uint8 ucSetMcstBcstFilterSetting;
3459
3460 /* Mcast Bcast Filters enable/disable*/
3461 wpt_uint8 ucSetMcstBcstFilter;
3462}WDI_RxpFilterReqParamsType;
3463
3464typedef struct
3465{
3466 /* Rxp Filter */
3467 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3468
3469 /*Request status callback offered by UMAC - it is called if the current req
3470 has returned PENDING as status; it delivers the status of sending the message
3471 over the BUS */
3472 WDI_ReqStatusCb wdiReqStatusCB;
3473 /*The user data passed in by UMAC, it will be sent back when the above
3474 function pointer will be called */
3475 void* pUserData;
3476}WDI_ConfigureRxpFilterReqParamsType;
3477
3478/*---------------------------------------------------------------------------
3479 WDI_BeaconFilterInfoType
3480 Beacon Filtering data structures passed to WDA form UMAC
3481---------------------------------------------------------------------------*/
3482typedef struct
3483{
3484 wpt_uint16 usCapabilityInfo;
3485 wpt_uint16 usCapabilityMask;
3486 wpt_uint16 usBeaconInterval;
3487 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003488 wpt_uint8 bssIdx;
3489 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003490}WDI_BeaconFilterInfoType;
3491
3492/*---------------------------------------------------------------------------
3493 WDI_BeaconFilterReqParamsType
3494 Beacon Filtering parameters passed to WDI form WDA
3495---------------------------------------------------------------------------*/
3496typedef struct
3497{
3498 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3499 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3500 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3501 copy of params from WDA to WDI */
3502 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3503 /*Request status callback offered by UMAC - it is called if the current req
3504 has returned PENDING as status; it delivers the status of sending the message
3505 over the BUS */
3506 WDI_ReqStatusCb wdiReqStatusCB;
3507 /*The user data passed in by UMAC, it will be sent back when the above
3508 function pointer will be called */
3509 void* pUserData;
3510}WDI_BeaconFilterReqParamsType;
3511
3512/*---------------------------------------------------------------------------
3513 WDI_RemBeaconFilterInfoType
3514 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3515---------------------------------------------------------------------------*/
3516typedef struct
3517{
3518 wpt_uint8 ucIeCount;
3519 wpt_uint8 ucRemIeId[1];
3520}WDI_RemBeaconFilterInfoType;
3521
3522/*---------------------------------------------------------------------------
3523 WDI_RemBeaconFilterReqParamsType
3524 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3525---------------------------------------------------------------------------*/
3526typedef struct
3527{
3528 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3529 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3530 /*Request status callback offered by UMAC - it is called if the current req
3531 has returned PENDING as status; it delivers the status of sending the message
3532 over the BUS */
3533 WDI_ReqStatusCb wdiReqStatusCB;
3534 /*The user data passed in by UMAC, it will be sent back when the above
3535 function pointer will be called */
3536 void* pUserData;
3537}WDI_RemBeaconFilterReqParamsType;
3538
3539/*---------------------------------------------------------------------------
3540 WDI_RSSIThresholdsType
3541 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3542---------------------------------------------------------------------------*/
3543typedef struct
3544{
3545 wpt_int8 ucRssiThreshold1 : 8;
3546 wpt_int8 ucRssiThreshold2 : 8;
3547 wpt_int8 ucRssiThreshold3 : 8;
3548 wpt_uint8 bRssiThres1PosNotify : 1;
3549 wpt_uint8 bRssiThres1NegNotify : 1;
3550 wpt_uint8 bRssiThres2PosNotify : 1;
3551 wpt_uint8 bRssiThres2NegNotify : 1;
3552 wpt_uint8 bRssiThres3PosNotify : 1;
3553 wpt_uint8 bRssiThres3NegNotify : 1;
3554 wpt_uint8 bReserved10 : 2;
3555} WDI_RSSIThresholdsType;
3556
3557/*---------------------------------------------------------------------------
3558 WDI_SetRSSIThresholdsReqParamsType
3559 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3560---------------------------------------------------------------------------*/
3561typedef struct
3562{
3563 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3564 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3565 /*Request status callback offered by UMAC - it is called if the current req
3566 has returned PENDING as status; it delivers the status of sending the message
3567 over the BUS */
3568 WDI_ReqStatusCb wdiReqStatusCB;
3569 /*The user data passed in by UMAC, it will be sent back when the above
3570 function pointer will be called */
3571 void* pUserData;
3572}WDI_SetRSSIThresholdsReqParamsType;
3573
3574/*---------------------------------------------------------------------------
3575 WDI_HostOffloadReqType
3576 host offload info passed to WDA form UMAC
3577---------------------------------------------------------------------------*/
3578#ifdef WLAN_NS_OFFLOAD
3579typedef struct
3580{
3581 wpt_uint8 srcIPv6Addr[16];
3582 wpt_uint8 selfIPv6Addr[16];
3583 //Only support 2 possible Network Advertisement IPv6 address
3584 wpt_uint8 targetIPv6Addr1[16];
3585 wpt_uint8 targetIPv6Addr2[16];
3586 wpt_uint8 selfMacAddr[6];
3587 wpt_uint8 srcIPv6AddrValid : 1;
3588 wpt_uint8 targetIPv6Addr1Valid : 1;
3589 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05303590 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003591} WDI_NSOffloadParams;
3592#endif //WLAN_NS_OFFLOAD
3593
3594typedef struct
3595{
3596 wpt_uint8 ucOffloadType;
3597 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003598 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003599 union
3600 {
3601 wpt_uint8 aHostIpv4Addr [4];
3602 wpt_uint8 aHostIpv6Addr [16];
3603 } params;
3604} WDI_HostOffloadReqType;
3605
3606/*---------------------------------------------------------------------------
3607 WDI_HostOffloadReqParamsType
3608 host offload info passed to WDI form WDA
3609---------------------------------------------------------------------------*/
3610typedef struct
3611{
3612 /*Host offload Info Type, same as tHalHostOffloadReq */
3613 WDI_HostOffloadReqType wdiHostOffloadInfo;
3614#ifdef WLAN_NS_OFFLOAD
3615 WDI_NSOffloadParams wdiNsOffloadParams;
3616#endif //WLAN_NS_OFFLOAD
3617 /*Request status callback offered by UMAC - it is called if the current req
3618 has returned PENDING as status; it delivers the status of sending the message
3619 over the BUS */
3620 WDI_ReqStatusCb wdiReqStatusCB;
3621 /*The user data passed in by UMAC, it will be sent back when the above
3622 function pointer will be called */
3623 void* pUserData;
3624}WDI_HostOffloadReqParamsType;
3625
3626/*---------------------------------------------------------------------------
3627 WDI_KeepAliveReqType
3628 Keep Alive info passed to WDA form UMAC
3629---------------------------------------------------------------------------*/
3630typedef struct
3631{
3632 wpt_uint8 ucPacketType;
3633 wpt_uint32 ucTimePeriod;
3634 wpt_uint8 aHostIpv4Addr[4];
3635 wpt_uint8 aDestIpv4Addr[4];
3636 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003637 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003638} WDI_KeepAliveReqType;
3639
3640/*---------------------------------------------------------------------------
3641 WDI_KeepAliveReqParamsType
3642 Keep Alive passed to WDI form WDA
3643---------------------------------------------------------------------------*/
3644typedef struct
3645{
3646 /* Keep Alive Info Type, same as tHalKeepAliveReq */
3647 WDI_KeepAliveReqType wdiKeepAliveInfo;
3648 /*Request status callback offered by UMAC - it is called if the current req
3649 has returned PENDING as status; it delivers the status of sending the message
3650 over the BUS */
3651 WDI_ReqStatusCb wdiReqStatusCB;
3652 /*The user data passed in by UMAC, it will be sent back when the above
3653 function pointer will be called */
3654 void* pUserData;
3655}WDI_KeepAliveReqParamsType;
3656
3657/*---------------------------------------------------------------------------
3658 WDI_WowlAddBcPtrnInfoType
3659 Wowl add ptrn info passed to WDA form UMAC
3660---------------------------------------------------------------------------*/
3661typedef struct
3662{
3663 wpt_uint8 ucPatternId; // Pattern ID
3664 // Pattern byte offset from beginning of the 802.11 packet to start of the
3665 // wake-up pattern
3666 wpt_uint8 ucPatternByteOffset;
3667 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
3668 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
3669 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
3670 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
3671 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
3672 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003673 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003674} WDI_WowlAddBcPtrnInfoType;
3675
3676/*---------------------------------------------------------------------------
3677 WDI_WowlAddBcPtrnReqParamsType
3678 Wowl add ptrn info passed to WDI form WDA
3679---------------------------------------------------------------------------*/
3680typedef struct
3681{
3682 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
3683 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
3684 /*Request status callback offered by UMAC - it is called if the current req
3685 has returned PENDING as status; it delivers the status of sending the message
3686 over the BUS */
3687 WDI_ReqStatusCb wdiReqStatusCB;
3688 /*The user data passed in by UMAC, it will be sent back when the above
3689 function pointer will be called */
3690 void* pUserData;
3691}WDI_WowlAddBcPtrnReqParamsType;
3692
3693/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003694 WDI_WowlAddBcPtrnRspParamsType
3695 Wowl add ptrn info passed from WDI to WDA
3696---------------------------------------------------------------------------*/
3697typedef struct
3698{
3699 /*Status of the response*/
3700 WDI_Status wdiStatus;
3701 /*BssIDX of the session*/
3702 wpt_uint8 bssIdx;
3703}WDI_WowlAddBcPtrnRspParamsType;
3704
3705/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003706 WDI_WowlDelBcPtrnInfoType
3707 Wowl add ptrn info passed to WDA form UMAC
3708---------------------------------------------------------------------------*/
3709typedef struct
3710{
3711 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003712 wpt_uint8 ucPatternId;
3713 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003714} WDI_WowlDelBcPtrnInfoType;
3715
3716/*---------------------------------------------------------------------------
3717 WDI_WowlDelBcPtrnReqParamsType
3718 Wowl add ptrn info passed to WDI form WDA
3719---------------------------------------------------------------------------*/
3720typedef struct
3721{
3722 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
3723 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
3724 /*Request status callback offered by UMAC - it is called if the current req
3725 has returned PENDING as status; it delivers the status of sending the message
3726 over the BUS */
3727 WDI_ReqStatusCb wdiReqStatusCB;
3728 /*The user data passed in by UMAC, it will be sent back when the above
3729 function pointer will be called */
3730 void* pUserData;
3731}WDI_WowlDelBcPtrnReqParamsType;
3732
3733/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003734 WDI_WowlDelBcPtrnRspParamsType
3735 Wowl Del ptrn info passed from WDI to WDA
3736---------------------------------------------------------------------------*/
3737typedef struct
3738{
3739 /*Status of the response*/
3740 WDI_Status wdiStatus;
3741 /*BssIDX of the session*/
3742 wpt_uint8 bssIdx;
3743}WDI_WowlDelBcPtrnRspParamsType;
3744
3745/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003746 WDI_WowlEnterInfoType
3747 Wowl enter info passed to WDA form UMAC
3748---------------------------------------------------------------------------*/
3749typedef struct
3750{
3751 /* Enables/disables magic packet filtering */
3752 wpt_uint8 ucMagicPktEnable;
3753
3754 /* Magic pattern */
3755 wpt_macAddr magicPtrn;
3756
3757 /* Enables/disables packet pattern filtering in firmware.
3758 Enabling this flag enables broadcast pattern matching
3759 in Firmware. If unicast pattern matching is also desired,
3760 ucUcastPatternFilteringEnable flag must be set tot true
3761 as well
3762 */
3763 wpt_uint8 ucPatternFilteringEnable;
3764
3765 /* Enables/disables unicast packet pattern filtering.
3766 This flag specifies whether we want to do pattern match
3767 on unicast packets as well and not just broadcast packets.
3768 This flag has no effect if the ucPatternFilteringEnable
3769 (main controlling flag) is set to false
3770 */
3771 wpt_uint8 ucUcastPatternFilteringEnable;
3772
3773 /* This configuration is valid only when magicPktEnable=1.
3774 * It requests hardware to wake up when it receives the
3775 * Channel Switch Action Frame.
3776 */
3777 wpt_uint8 ucWowChnlSwitchRcv;
3778
3779 /* This configuration is valid only when magicPktEnable=1.
3780 * It requests hardware to wake up when it receives the
3781 * Deauthentication Frame.
3782 */
3783 wpt_uint8 ucWowDeauthRcv;
3784
3785 /* This configuration is valid only when magicPktEnable=1.
3786 * It requests hardware to wake up when it receives the
3787 * Disassociation Frame.
3788 */
3789 wpt_uint8 ucWowDisassocRcv;
3790
3791 /* This configuration is valid only when magicPktEnable=1.
3792 * It requests hardware to wake up when it has missed
3793 * consecutive beacons. This is a hardware register
3794 * configuration (NOT a firmware configuration).
3795 */
3796 wpt_uint8 ucWowMaxMissedBeacons;
3797
3798 /* This configuration is valid only when magicPktEnable=1.
3799 * This is a timeout value in units of microsec. It requests
3800 * hardware to unconditionally wake up after it has stayed
3801 * in WoWLAN mode for some time. Set 0 to disable this feature.
3802 */
3803 wpt_uint8 ucWowMaxSleepUsec;
3804
3805#ifdef WLAN_WAKEUP_EVENTS
3806 /* This configuration directs the WoW packet filtering to look for EAP-ID
3807 * requests embedded in EAPOL frames and use this as a wake source.
3808 */
3809 wpt_uint8 ucWoWEAPIDRequestEnable;
3810
3811 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
3812 * requests and use this as a wake source.
3813 */
3814 wpt_uint8 ucWoWEAPOL4WayEnable;
3815
3816 /* This configuration allows a host wakeup on an network scan offload match.
3817 */
3818 wpt_uint8 ucWowNetScanOffloadMatch;
3819
3820 /* This configuration allows a host wakeup on any GTK rekeying error.
3821 */
3822 wpt_uint8 ucWowGTKRekeyError;
3823
3824 /* This configuration allows a host wakeup on BSS connection loss.
3825 */
3826 wpt_uint8 ucWoWBSSConnLoss;
3827#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003828
3829 /* BSSIDX used to find the current session
3830 */
3831 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003832} WDI_WowlEnterInfoType;
3833
3834/*---------------------------------------------------------------------------
3835 WDI_WowlEnterReqParamsType
3836 Wowl enter info passed to WDI form WDA
3837---------------------------------------------------------------------------*/
3838typedef struct
3839{
3840 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
3841 WDI_WowlEnterInfoType wdiWowlEnterInfo;
3842 /*Request status callback offered by UMAC - it is called if the current req
3843 has returned PENDING as status; it delivers the status of sending the message
3844 over the BUS */
3845 WDI_ReqStatusCb wdiReqStatusCB;
3846 /*The user data passed in by UMAC, it will be sent back when the above
3847 function pointer will be called */
3848 void* pUserData;
3849}WDI_WowlEnterReqParamsType;
3850
3851/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003852 WDI_WowlEnterRsqParamsType
3853 Wowl enter info passed from WDI to WDA
3854---------------------------------------------------------------------------*/
3855typedef struct
3856{
3857 /*Status of the response message*/
3858 WDI_Status status;
3859
3860 /* BSSIDX used to find the current session
3861 */
3862 wpt_uint8 bssIdx;
3863}WDI_WowlEnterRspParamsType;
3864
3865/*---------------------------------------------------------------------------
3866 WDI_WowlExitInfoType
3867 Wowl exit info passed to WDA form UMAC
3868 ---------------------------------------------------------------------------*/
3869typedef struct
3870{
3871 /* BSSIDX used to find the current session
3872 */
3873 wpt_uint8 bssIdx;
3874} WDI_WowlExitInfoType;
3875
3876/*---------------------------------------------------------------------------
3877 WDI_WowlExitReqParamsType
3878 Wowl exit info passed to WDI form WDA
3879---------------------------------------------------------------------------*/
3880typedef struct
3881{
3882 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
3883 WDI_WowlExitInfoType wdiWowlExitInfo;
3884 /*Request status callback offered by UMAC - it is called if the current req
3885 has returned PENDING as status; it delivers the status of sending the message
3886 over the BUS */
3887 WDI_ReqStatusCb wdiReqStatusCB;
3888 /*The user data passed in by UMAC, it will be sent back when the above
3889 function pointer will be called */
3890 void* pUserData;
3891}WDI_WowlExitReqParamsType;
3892
3893/*---------------------------------------------------------------------------
3894 WDI_WowlExitRspParamsType
3895 Wowl exit info passed from WDI to WDA
3896---------------------------------------------------------------------------*/
3897typedef struct
3898{
3899 /*Status of the response message*/
3900 WDI_Status status;
3901
3902 /* BSSIDX used to find the current session
3903 */
3904 wpt_uint8 bssIdx;
3905}WDI_WowlExitRspParamsType;
3906
3907/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003908 WDI_ConfigureAppsCpuWakeupStateReqParamsType
3909 Apps Cpu Wakeup State parameters passed to WDI form WDA
3910---------------------------------------------------------------------------*/
3911typedef struct
3912{
3913 /*Depicts the state of the Apps CPU */
3914 wpt_boolean bIsAppsAwake;
3915 /*Request status callback offered by UMAC - it is called if the current req
3916 has returned PENDING as status; it delivers the status of sending the message
3917 over the BUS */
3918 WDI_ReqStatusCb wdiReqStatusCB;
3919 /*The user data passed in by UMAC, it will be sent back when the above
3920 function pointer will be called */
3921 void* pUserData;
3922}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
3923/*---------------------------------------------------------------------------
3924 WDI_FlushAcReqinfoType
3925---------------------------------------------------------------------------*/
3926typedef struct
3927{
3928 // Message Type
3929 wpt_uint16 usMesgType;
3930
3931 // Message Length
3932 wpt_uint16 usMesgLen;
3933
3934 // Station Index. originates from HAL
3935 wpt_uint8 ucSTAId;
3936
3937 // TID for which the transmit queue is being flushed
3938 wpt_uint8 ucTid;
3939
3940}WDI_FlushAcReqinfoType;
3941
3942/*---------------------------------------------------------------------------
3943 WDI_FlushAcReqParamsType
3944---------------------------------------------------------------------------*/
3945typedef struct
3946{
3947 /*AC Info */
3948 WDI_FlushAcReqinfoType wdiFlushAcInfo;
3949
3950 /*Request status callback offered by UMAC - it is called if the current
3951 req has returned PENDING as status; it delivers the status of sending
3952 the message over the BUS */
3953 WDI_ReqStatusCb wdiReqStatusCB;
3954
3955 /*The user data passed in by UMAC, it will be sent back when the above
3956 function pointer will be called */
3957 void* pUserData;
3958}WDI_FlushAcReqParamsType;
3959
3960/*---------------------------------------------------------------------------
3961 WDI_BtAmpEventinfoType
3962 BT-AMP Event Structure
3963---------------------------------------------------------------------------*/
3964typedef struct
3965{
3966 wpt_uint8 ucBtAmpEventType;
3967
3968} WDI_BtAmpEventinfoType;
3969
3970/*---------------------------------------------------------------------------
3971 WDI_BtAmpEventParamsType
3972---------------------------------------------------------------------------*/
3973typedef struct
3974{
3975 /*BT AMP event Info */
3976 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
3977
3978 /*Request status callback offered by UMAC - it is called if the current
3979 req has returned PENDING as status; it delivers the status of sending
3980 the message over the BUS */
3981 WDI_ReqStatusCb wdiReqStatusCB;
3982
3983 /*The user data passed in by UMAC, it will be sent back when the above
3984 function pointer will be called */
3985 void* pUserData;
3986}WDI_BtAmpEventParamsType;
3987
Jeff Johnsone7245742012-09-05 17:12:55 -07003988#ifdef FEATURE_OEM_DATA_SUPPORT
3989
3990#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08003991#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07003992#endif
3993#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08003994#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07003995#endif
3996
3997/*----------------------------------------------------------------------------
3998 WDI_oemDataReqInfoType
3999----------------------------------------------------------------------------*/
4000typedef struct
4001{
4002 wpt_macAddr selfMacAddr;
4003 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4004}WDI_oemDataReqInfoType;
4005
4006/*----------------------------------------------------------------------------
4007 WDI_oemDataReqParamsType
4008----------------------------------------------------------------------------*/
4009typedef struct
4010{
4011 /*Request status callback offered by UMAC - it is called if the current
4012 req has returned PENDING as status; it delivers the status of sending
4013 the message over the BUS */
4014 WDI_ReqStatusCb wdiReqStatusCB;
4015
4016 /*The user data passed in by UMAC, it will be sent back when the above
4017 function pointer will be called */
4018 void* pUserData;
4019
4020 /*OEM DATA REQ Info */
4021 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4022
4023}WDI_oemDataReqParamsType;
4024
4025/*----------------------------------------------------------------------------
4026 WDI_oemDataRspParamsType
4027----------------------------------------------------------------------------*/
4028typedef struct
4029{
4030 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4031}WDI_oemDataRspParamsType;
4032
4033#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004034
4035#ifdef WLAN_FEATURE_VOWIFI_11R
4036/*---------------------------------------------------------------------------
4037 WDI_AggrAddTSReqInfoType
4038---------------------------------------------------------------------------*/
4039typedef struct
4040{
4041 /*STA Index*/
4042 wpt_uint8 ucSTAIdx;
4043
4044 /*Identifier for TSpec*/
4045 wpt_uint8 ucTspecIdx;
4046
4047 /*Tspec IE negotiated OTA*/
4048 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4049
4050 /*UAPSD delivery and trigger enabled flags */
4051 wpt_uint8 ucUapsdFlags;
4052
4053 /*SI for each AC*/
4054 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4055
4056 /*Suspend Interval for each AC*/
4057 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4058
4059 /*DI for each AC*/
4060 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4061
4062}WDI_AggrAddTSReqInfoType;
4063
4064
4065/*---------------------------------------------------------------------------
4066 WDI_AggrAddTSReqParamsType
4067---------------------------------------------------------------------------*/
4068typedef struct
4069{
4070 /*TSpec Info */
4071 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4072
4073 /*Request status callback offered by UMAC - it is called if the current
4074 req has returned PENDING as status; it delivers the status of sending
4075 the message over the BUS */
4076 WDI_ReqStatusCb wdiReqStatusCB;
4077
4078 /*The user data passed in by UMAC, it will be sent back when the above
4079 function pointer will be called */
4080 void* pUserData;
4081}WDI_AggrAddTSReqParamsType;
4082
4083#endif /* WLAN_FEATURE_VOWIFI_11R */
4084
Jeff Johnson295189b2012-06-20 16:38:30 -07004085/*---------------------------------------------------------------------------
4086 WDI_FTMCommandReqType
4087---------------------------------------------------------------------------*/
4088typedef struct
4089{
4090 /* FTM Command Body length */
4091 wpt_uint32 bodyLength;
4092 /* Actual FTM Command body */
4093 void *FTMCommandBody;
4094}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004095
4096/*---------------------------------------------------------------------------
4097 WDI_WlanSuspendInfoType
4098---------------------------------------------------------------------------*/
4099typedef struct
4100{
4101 /* Mode of Mcast and Bcast filters configured */
4102 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4103}WDI_WlanSuspendInfoType;
4104
4105/*---------------------------------------------------------------------------
4106 WDI_SuspendParamsType
4107---------------------------------------------------------------------------*/
4108typedef struct
4109{
4110 WDI_WlanSuspendInfoType wdiSuspendParams;
4111
4112 /*Request status callback offered by UMAC - it is called if the current
4113 req has returned PENDING as status; it delivers the status of sending
4114 the message over the BUS */
4115 WDI_ReqStatusCb wdiReqStatusCB;
4116
4117 /*The user data passed in by UMAC, it will be sent back when the above
4118 function pointer will be called */
4119 void* pUserData;
4120
4121}WDI_SuspendParamsType;
4122
4123/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004124 WDI_TrafficStatsType - This is collected for each STA
4125---------------------------------------------------------------------------*/
4126
4127typedef struct
4128{
4129 /* TX stats */
4130 wpt_uint32 txBytesPushed;
4131 wpt_uint32 txPacketsPushed;
4132
4133 /* RX stats */
4134 wpt_uint32 rxBytesRcvd;
4135 wpt_uint32 rxPacketsRcvd;
4136 wpt_uint32 rxTimeTotal;
4137}WDI_TrafficStatsType;
4138
4139typedef struct
4140{
4141 WDI_TrafficStatsType *pTrafficStats;
4142 wpt_uint32 length;
4143 wpt_uint32 duration;
4144
4145 /*Request status callback offered by UMAC - it is called if the current
4146 req has returned PENDING as status; it delivers the status of sending
4147 the message over the BUS */
4148 WDI_ReqStatusCb wdiReqStatusCB;
4149
4150 /*The user data passed in by UMAC, it will be sent back when the above
4151 function pointer will be called */
4152 void* pUserData;
4153}WDI_TrafficStatsIndType;
4154
Chet Lanctot186b5732013-03-18 10:26:30 -07004155#ifdef WLAN_FEATURE_11W
4156typedef struct
4157{
4158
4159 wpt_boolean bExcludeUnencrypt;
4160 wpt_macAddr bssid;
4161 /*Request status callback offered by UMAC - it is called if the current
4162 req has returned PENDING as status; it delivers the status of sending
4163 the message over the BUS */
4164 WDI_ReqStatusCb wdiReqStatusCB;
4165
4166 /*The user data passed in by UMAC, it will be sent back when the above
4167 function pointer will be called */
4168 void* pUserData;
4169}WDI_ExcludeUnencryptIndType;
4170#endif
4171
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004172/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004173 WDI_WlanResumeInfoType
4174---------------------------------------------------------------------------*/
4175typedef struct
4176{
4177 /* Mode of Mcast and Bcast filters configured */
4178 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4179}WDI_WlanResumeInfoType;
4180
4181/*---------------------------------------------------------------------------
4182 WDI_ResumeParamsType
4183---------------------------------------------------------------------------*/
4184typedef struct
4185{
4186 WDI_WlanResumeInfoType wdiResumeParams;
4187
4188 /*Request status callback offered by UMAC - it is called if the current
4189 req has returned PENDING as status; it delivers the status of sending
4190 the message over the BUS */
4191 WDI_ReqStatusCb wdiReqStatusCB;
4192
4193 /*The user data passed in by UMAC, it will be sent back when the above
4194 function pointer will be called */
4195 void* pUserData;
4196
4197}WDI_ResumeParamsType;
4198
4199#ifdef WLAN_FEATURE_GTK_OFFLOAD
4200/*---------------------------------------------------------------------------
4201 * WDI_GTK_OFFLOAD_REQ
4202 *--------------------------------------------------------------------------*/
4203
4204typedef struct
4205{
4206 wpt_uint32 ulFlags; /* optional flags */
4207 wpt_uint8 aKCK[16]; /* Key confirmation key */
4208 wpt_uint8 aKEK[16]; /* key encryption key */
4209 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004210 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004211} WDI_GtkOffloadReqParams;
4212
4213typedef struct
4214{
4215 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4216
4217 /*Request status callback offered by UMAC - it is called if the current
4218 req has returned PENDING as status; it delivers the status of sending
4219 the message over the BUS */
4220 WDI_ReqStatusCb wdiReqStatusCB;
4221
4222 /*The user data passed in by UMAC, it will be sent back when the above
4223 function pointer will be called */
4224 void* pUserData;
4225} WDI_GtkOffloadReqMsg;
4226
4227/*---------------------------------------------------------------------------
4228 * WDI_GTK_OFFLOAD_RSP
4229 *--------------------------------------------------------------------------*/
4230typedef struct
4231{
4232 /* success or failure */
4233 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004234 /*BssIdx of the response */
4235 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004236} WDI_GtkOffloadRspParams;
4237
4238typedef struct
4239{
4240 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4241
4242 /*Request status callback offered by UMAC - it is called if the current
4243 req has returned PENDING as status; it delivers the status of sending
4244 the message over the BUS */
4245 WDI_ReqStatusCb wdiReqStatusCB;
4246
4247 /*The user data passed in by UMAC, it will be sent back when the above
4248 function pointer will be called */
4249 void* pUserData;
4250} WDI_GtkOffloadRspMsg;
4251
4252
4253/*---------------------------------------------------------------------------
4254* WDI_GTK_OFFLOAD_GETINFO_REQ
4255*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004256typedef struct
4257{
4258 /*BssIdx of the response */
4259 wpt_macAddr bssId;
4260} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004261
4262typedef struct
4263{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004264
4265 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004266 /*Request status callback offered by UMAC - it is called if the current
4267 req has returned PENDING as status; it delivers the status of sending
4268 the message over the BUS */
4269 WDI_ReqStatusCb wdiReqStatusCB;
4270
4271 /*The user data passed in by UMAC, it will be sent back when the above
4272 function pointer will be called */
4273 void* pUserData;
4274} WDI_GtkOffloadGetInfoReqMsg;
4275
4276/*---------------------------------------------------------------------------
4277* WDI_GTK_OFFLOAD_GETINFO_RSP
4278*--------------------------------------------------------------------------*/
4279typedef struct
4280{
4281 wpt_uint32 ulStatus; /* success or failure */
4282 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4283 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4284 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4285 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304286 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004287} WDI_GtkOffloadGetInfoRspParams;
4288
4289typedef struct
4290{
4291 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4292
4293 /*Request status callback offered by UMAC - it is called if the current
4294 req has returned PENDING as status; it delivers the status of sending
4295 the message over the BUS */
4296 WDI_ReqStatusCb wdiReqStatusCB;
4297
4298 /*The user data passed in by UMAC, it will be sent back when the above
4299 function pointer will be called */
4300 void* pUserData;
4301} WDI_GtkOffloadGetInfoRspMsg;
4302#endif // WLAN_FEATURE_GTK_OFFLOAD
4303
4304/*---------------------------------------------------------------------------
4305 WDI_SuspendResumeRspParamsType
4306---------------------------------------------------------------------------*/
4307typedef struct
4308{
4309 /*Status of the response*/
4310 WDI_Status wdiStatus;
4311}WDI_SuspendResumeRspParamsType;
4312
4313
4314#ifdef FEATURE_WLAN_SCAN_PNO
4315
4316/*Max number of channels for a given network supported by PNO*/
4317#define WDI_PNO_MAX_NETW_CHANNELS 26
4318
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304319/*Max number of channels for a given network supported by PNO*/
4320#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4321
Jeff Johnson295189b2012-06-20 16:38:30 -07004322/*The max number of programable networks for PNO*/
4323#define WDI_PNO_MAX_SUPP_NETWORKS 16
4324
4325/*The max number of scan timers programable in Riva*/
4326#define WDI_PNO_MAX_SCAN_TIMERS 10
4327
4328#define WDI_PNO_MAX_PROBE_SIZE 450
4329
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004330#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4331#define WDI_ROAM_SCAN_MAX_CHANNELS 80 /* NUM_RF_CHANNELS */
4332#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004333#define WDI_ROAM_SCAN_RESERVED_BYTES 61
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004334#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004335
4336/*---------------------------------------------------------------------------
4337 WDI_AuthType
4338---------------------------------------------------------------------------*/
4339typedef enum
4340{
4341 WDI_AUTH_TYPE_ANY = 0,
4342
4343 WDI_AUTH_TYPE_NONE,
4344 WDI_AUTH_TYPE_OPEN_SYSTEM,
4345 WDI_AUTH_TYPE_SHARED_KEY,
4346
4347 WDI_AUTH_TYPE_WPA,
4348 WDI_AUTH_TYPE_WPA_PSK,
4349 WDI_AUTH_TYPE_WPA_NONE,
4350
4351 WDI_AUTH_TYPE_RSN,
4352 WDI_AUTH_TYPE_RSN_PSK,
4353 WDI_AUTH_TYPE_FT_RSN,
4354 WDI_AUTH_TYPE_FT_RSN_PSK,
4355 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4356 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4357 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4358
4359}WDI_AuthType;
4360
4361/*---------------------------------------------------------------------------
4362 WDI_EdType
4363---------------------------------------------------------------------------*/
4364typedef enum
4365{
4366 WDI_ED_ANY = 0,
4367 WDI_ED_NONE,
4368 WDI_ED_WEP40,
4369 WDI_ED_WEP104,
4370 WDI_ED_TKIP,
4371 WDI_ED_CCMP,
4372 WDI_ED_WPI,
4373 WDI_ED_AES_128_CMAC,
4374 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4375} WDI_EdType;
4376
4377
4378/*---------------------------------------------------------------------------
4379 WDI_PNOMode
4380---------------------------------------------------------------------------*/
4381typedef enum
4382{
4383 /*Network offload is to start immediately*/
4384 WDI_PNO_MODE_IMMEDIATE,
4385
4386 /*Network offload is to start on host suspend*/
4387 WDI_PNO_MODE_ON_SUSPEND,
4388
4389 /*Network offload is to start on host resume*/
4390 WDI_PNO_MODE_ON_RESUME,
4391 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4392} WDI_PNOMode;
4393
4394/* SSID broadcast type */
4395typedef enum
4396{
4397 WDI_BCAST_UNKNOWN = 0,
4398 WDI_BCAST_NORMAL = 1,
4399 WDI_BCAST_HIDDEN = 2,
4400
4401 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4402} WDI_SSIDBcastType;
4403
4404/*---------------------------------------------------------------------------
4405 WDI_NetworkType
4406---------------------------------------------------------------------------*/
4407typedef struct
4408{
4409 /*The SSID of the preferred network*/
4410 WDI_MacSSid ssId;
4411
4412 /*The authentication method of the preferred network*/
4413 WDI_AuthType wdiAuth;
4414
4415 /*The encryption method of the preferred network*/
4416 WDI_EdType wdiEncryption;
4417
4418 /*SSID broadcast type, normal, hidden or unknown*/
4419 WDI_SSIDBcastType wdiBcastNetworkType;
4420
4421 /*channel count - 0 for all channels*/
4422 wpt_uint8 ucChannelCount;
4423
4424 /*the actual channels*/
4425 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS];
4426
4427 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4428 wpt_uint8 rssiThreshold;
4429} WDI_NetworkType;
4430
4431
4432/*---------------------------------------------------------------------------
4433 WDI_ScanTimer
4434---------------------------------------------------------------------------*/
4435typedef struct
4436{
4437 /*The timer value*/
4438 wpt_uint32 uTimerValue;
4439
4440 /*The amount of time we should be repeating the interval*/
4441 wpt_uint32 uTimerRepeat;
4442} WDI_ScanTimer;
4443
4444/*---------------------------------------------------------------------------
4445 WDI_ScanTimersType
4446---------------------------------------------------------------------------*/
4447typedef struct
4448{
4449 /*The number of value pair intervals present in the array*/
4450 wpt_uint8 ucScanTimersCount;
4451
4452 /*The time-repeat value pairs*/
4453 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4454} WDI_ScanTimersType;
4455
4456/*---------------------------------------------------------------------------
4457 WDI_PNOScanReqType
4458---------------------------------------------------------------------------*/
4459typedef struct
4460{
4461 /*Enable or disable PNO feature*/
4462 wpt_uint8 bEnable;
4463
4464 /*PNO mode requested*/
4465 WDI_PNOMode wdiModePNO;
4466
4467 /*Network count*/
4468 wpt_uint8 ucNetworksCount;
4469
4470 /*The networks to look for*/
4471 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4472
4473 /*Scan timer intervals*/
4474 WDI_ScanTimersType scanTimers;
4475
4476 /*Probe template for 2.4GHz band*/
4477 wpt_uint16 us24GProbeSize;
4478 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4479
4480 /*Probe template for 5GHz band*/
4481 wpt_uint16 us5GProbeSize;
4482 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4483} WDI_PNOScanReqType;
4484
4485/*---------------------------------------------------------------------------
4486 WDI_PNOScanReqParamsType
4487 PNO info passed to WDI form WDA
4488---------------------------------------------------------------------------*/
4489typedef struct
4490{
4491 /* PNO Info Type, same as tPrefNetwListParams */
4492 WDI_PNOScanReqType wdiPNOScanInfo;
4493 /* Request status callback offered by UMAC - it is called if the current req
4494 has returned PENDING as status; it delivers the status of sending the message
4495 over the BUS */
4496 WDI_ReqStatusCb wdiReqStatusCB;
4497 /* The user data passed in by UMAC, it will be sent back when the above
4498 function pointer will be called */
4499 void* pUserData;
4500} WDI_PNOScanReqParamsType;
4501
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004502#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4503
4504typedef struct
4505{
4506 /*The SSID of the preferred network*/
4507 WDI_MacSSid ssId;
4508 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
4509
4510 /*The authentication method of the preferred network*/
4511 WDI_AuthType authentication;
4512
4513 /*The encryption method of the preferred network*/
4514 WDI_EdType encryption;
4515 WDI_EdType mcencryption;
4516
4517 /*SSID broadcast type, normal, hidden or unknown*/
4518 //WDI_SSIDBcastType wdiBcastNetworkType;
4519
4520 /*channel count - 0 for all channels*/
4521 wpt_uint8 ChannelCount;
4522
4523 /*the actual channels*/
4524 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
4525
4526} WDI_RoamNetworkType;
4527
4528typedef struct WDIMobilityDomainInfo
4529{
4530 wpt_uint8 mdiePresent;
4531 wpt_uint16 mobilityDomain;
4532} WDI_MobilityDomainInfo;
4533
4534/*---------------------------------------------------------------------------
4535 WDI_RoamOffloadScanInfo
4536---------------------------------------------------------------------------*/
4537typedef struct
4538{
4539 wpt_boolean RoamScanOffloadEnabled;
4540 wpt_uint8 LookupThreshold;
4541 wpt_uint8 RoamRssiDiff;
4542 wpt_uint8 ChannelCacheType;
4543 wpt_uint8 Command;
4544 wpt_uint8 StartScanReason;
4545 wpt_uint16 NeighborScanTimerPeriod;
4546 wpt_uint16 NeighborRoamScanRefreshPeriod;
4547 wpt_uint16 NeighborScanChannelMinTime;
4548 wpt_uint16 NeighborScanChannelMaxTime;
4549 wpt_uint16 EmptyRefreshScanPeriod;
4550 wpt_uint8 ValidChannelCount;
4551 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
4552 wpt_boolean IsCCXEnabled;
4553 /*Probe template for 2.4GHz band*/
4554 wpt_uint16 us24GProbeSize;
4555 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
4556
4557 /*Probe template for 5GHz band*/
4558 wpt_uint16 us5GProbeSize;
4559 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004560 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004561 * As per requirement, later, the following structure can be used as an array of networks.*/
4562 WDI_RoamNetworkType ConnectedNetwork;
4563 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004564 wpt_uint8 nProbes;
4565 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004566 wpt_uint8 ReservedBytes[WDI_ROAM_SCAN_RESERVED_BYTES];
4567} WDI_RoamOffloadScanInfo;
4568
4569typedef struct
4570{
4571 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
4572 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
4573 /* Request status callback offered by UMAC - it is called if the current req
4574 has returned PENDING as status; it delivers the status of sending the message
4575 over the BUS */
4576 WDI_ReqStatusCb wdiReqStatusCB;
4577 /* The user data passed in by UMAC, it will be sent back when the above
4578 function pointer will be called */
4579 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004580} WDI_RoamScanOffloadReqParamsType;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004581
4582#endif
4583
Jeff Johnson295189b2012-06-20 16:38:30 -07004584/*---------------------------------------------------------------------------
4585 WDI_SetRssiFilterReqParamsType
4586 PNO info passed to WDI form WDA
4587---------------------------------------------------------------------------*/
4588typedef struct
4589{
4590 /* RSSI Threshold */
4591 wpt_uint8 rssiThreshold;
4592 /* Request status callback offered by UMAC - it is called if the current req
4593 has returned PENDING as status; it delivers the status of sending the message
4594 over the BUS */
4595 WDI_ReqStatusCb wdiReqStatusCB;
4596 /* The user data passed in by UMAC, it will be sent back when the above
4597 function pointer will be called */
4598 void* pUserData;
4599} WDI_SetRssiFilterReqParamsType;
4600
4601/*---------------------------------------------------------------------------
4602 WDI_UpdateScanParamsInfo
4603---------------------------------------------------------------------------*/
4604typedef struct
4605{
4606 /*Is 11d enabled*/
4607 wpt_uint8 b11dEnabled;
4608
4609 /*Was UMAc able to find the regulatory domain*/
4610 wpt_uint8 b11dResolved;
4611
4612 /*Number of channel allowed in the regulatory domain*/
4613 wpt_uint8 ucChannelCount;
4614
4615 /*The actual channels allowed in the regulatory domain*/
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304616 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004617
4618 /*Passive min channel time*/
4619 wpt_uint16 usPassiveMinChTime;
4620
4621 /*Passive max channel time*/
4622 wpt_uint16 usPassiveMaxChTime;
4623
4624 /*Active min channel time*/
4625 wpt_uint16 usActiveMinChTime;
4626
4627 /*Active max channel time*/
4628 wpt_uint16 usActiveMaxChTime;
4629
4630 /*channel bonding info*/
4631 wpt_uint8 cbState;
4632} WDI_UpdateScanParamsInfo;
4633
4634/*---------------------------------------------------------------------------
4635 WDI_UpdateScanParamsInfoType
4636 UpdateScanParams info passed to WDI form WDA
4637---------------------------------------------------------------------------*/
4638typedef struct
4639{
4640 /* PNO Info Type, same as tUpdateScanParams */
4641 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
4642 /* Request status callback offered by UMAC - it is called if the current req
4643 has returned PENDING as status; it delivers the status of sending the message
4644 over the BUS */
4645 WDI_ReqStatusCb wdiReqStatusCB;
4646 /* The user data passed in by UMAC, it will be sent back when the above
4647 function pointer will be called */
4648 void* pUserData;
4649} WDI_UpdateScanParamsInfoType;
4650#endif // FEATURE_WLAN_SCAN_PNO
4651
4652/*---------------------------------------------------------------------------
4653 WDI_UpdateScanParamsInfo
4654---------------------------------------------------------------------------*/
4655typedef struct
4656{
4657 /* Ignore DTIM */
4658 wpt_uint32 uIgnoreDTIM;
4659
4660 /*DTIM Period*/
4661 wpt_uint32 uDTIMPeriod;
4662
4663 /* Listen Interval */
4664 wpt_uint32 uListenInterval;
4665
4666 /* Broadcast Multicas Filter */
4667 wpt_uint32 uBcastMcastFilter;
4668
4669 /* Beacon Early Termination */
4670 wpt_uint32 uEnableBET;
4671
4672 /* Beacon Early Termination Interval */
4673 wpt_uint32 uBETInterval;
4674
Yue Mac24062f2013-05-13 17:01:29 -07004675 /* MAX LI for modulated DTIM */
4676 wpt_uint32 uMaxLIModulatedDTIM;
4677
Jeff Johnson295189b2012-06-20 16:38:30 -07004678} WDI_SetPowerParamsInfo;
4679
4680/*---------------------------------------------------------------------------
4681 WDI_UpdateScanParamsInfoType
4682 UpdateScanParams info passed to WDI form WDA
4683---------------------------------------------------------------------------*/
4684typedef struct
4685{
4686 /* Power params Info Type, same as tSetPowerParamsReq */
4687 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
4688 /* Request status callback offered by UMAC - it is called if the current req
4689 has returned PENDING as status; it delivers the status of sending the message
4690 over the BUS */
4691 WDI_ReqStatusCb wdiReqStatusCB;
4692 /* The user data passed in by UMAC, it will be sent back when the above
4693 function pointer will be called */
4694 void* pUserData;
4695}WDI_SetPowerParamsReqParamsType;
4696
4697/*---------------------------------------------------------------------------
4698 WDI_SetTxPerTrackingConfType
4699 Wowl add ptrn info passed to WDA form UMAC
4700---------------------------------------------------------------------------*/
4701typedef struct
4702{
4703 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
4704 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
4705 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
4706 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
4707} WDI_TxPerTrackingParamType;
4708
4709/*---------------------------------------------------------------------------
4710 WDI_SetTxPerTrackingReqParamsType
4711 Tx PER Tracking parameters passed to WDI from WDA
4712---------------------------------------------------------------------------*/
4713typedef struct
4714{
4715 /* Configurations for Tx PER Tracking */
4716 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
4717 /*Request status callback offered by UMAC - it is called if the current req
4718 has returned PENDING as status; it delivers the status of sending the message
4719 over the BUS */
4720 WDI_ReqStatusCb wdiReqStatusCB;
4721 /*The user data passed in by UMAC, it will be sent back when the above
4722 function pointer will be called */
4723 void* pUserData;
4724}WDI_SetTxPerTrackingReqParamsType;
4725
4726#ifdef WLAN_FEATURE_PACKET_FILTERING
4727/*---------------------------------------------------------------------------
4728 Packet Filtering Parameters
4729---------------------------------------------------------------------------*/
4730
4731#define WDI_IPV4_ADDR_LEN 4
4732#define WDI_MAC_ADDR_LEN 6
4733#define WDI_MAX_FILTER_TEST_DATA_LEN 8
4734#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
4735#define WDI_MAX_NUM_FILTERS 20
4736#define WDI_MAX_NUM_TESTS_PER_FILTER 10
4737
4738//
4739// Receive Filter Parameters
4740//
4741typedef enum
4742{
4743 WDI_RCV_FILTER_TYPE_INVALID,
4744 WDI_RCV_FILTER_TYPE_FILTER_PKT,
4745 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
4746 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
4747}WDI_ReceivePacketFilterType;
4748
4749typedef enum
4750{
4751 WDI_FILTER_HDR_TYPE_INVALID,
4752 WDI_FILTER_HDR_TYPE_MAC,
4753 WDI_FILTER_HDR_TYPE_ARP,
4754 WDI_FILTER_HDR_TYPE_IPV4,
4755 WDI_FILTER_HDR_TYPE_IPV6,
4756 WDI_FILTER_HDR_TYPE_UDP,
4757 WDI_FILTER_HDR_TYPE_MAX
4758}WDI_RcvPktFltProtocolType;
4759
4760typedef enum
4761{
4762 WDI_FILTER_CMP_TYPE_INVALID,
4763 WDI_FILTER_CMP_TYPE_EQUAL,
4764 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
4765 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
4766 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
4767 WDI_FILTER_CMP_TYPE_MAX
4768}WDI_RcvPktFltCmpFlagType;
4769
4770typedef struct
4771{
4772 WDI_RcvPktFltProtocolType protocolLayer;
4773 WDI_RcvPktFltCmpFlagType cmpFlag;
4774/* Length of the data to compare */
4775 wpt_uint16 dataLength;
4776/* from start of the respective frame header */
4777 wpt_uint8 dataOffset;
4778 wpt_uint8 reserved; /* Reserved field */
4779/* Data to compare */
4780 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
4781/* Mask to be applied on the received packet data before compare */
4782 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
4783}WDI_RcvPktFilterFieldParams;
4784
4785typedef struct
4786{
4787 wpt_uint8 filterId;
4788 wpt_uint8 filterType;
4789 wpt_uint32 numFieldParams;
4790 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07004791 wpt_macAddr selfMacAddr;
4792 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004793 WDI_RcvPktFilterFieldParams paramsData[1];
4794
Jeff Johnson295189b2012-06-20 16:38:30 -07004795}WDI_RcvPktFilterCfgType;
4796
4797typedef struct
4798{
4799 /*Request status callback offered by UMAC - it is called if the current
4800 req has returned PENDING as status; it delivers the status of sending
4801 the message over the BUS */
4802 WDI_ReqStatusCb wdiReqStatusCB;
4803
4804 /*The user data passed in by UMAC, it will be sent back when the above
4805 function pointer will be called */
4806 void* pUserData;
4807
4808 // Variable length packet filter field params
4809 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
4810} WDI_SetRcvPktFilterReqParamsType;
4811
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004812typedef struct
4813{
4814 /*Result of the operation*/
4815 WDI_Status wdiStatus;
4816 /* BSSIDX of the Set Receive Filter
4817 */
4818 wpt_uint8 bssIdx;
4819} WDI_SetRcvPktFilterRspParamsType;
4820
Jeff Johnson295189b2012-06-20 16:38:30 -07004821//
4822// Filter Packet Match Count Parameters
4823//
4824typedef struct
4825{
4826 /*Request status callback offered by UMAC - it is called if the current
4827 req has returned PENDING as status; it delivers the status of sending
4828 the message over the BUS */
4829 WDI_ReqStatusCb wdiReqStatusCB;
4830
4831 /*The user data passed in by UMAC, it will be sent back when the above
4832 function pointer will be called */
4833 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004834
4835 /* BSSID of the Match count
4836 */
4837 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004838} WDI_RcvFltPktMatchCntReqParamsType;
4839
4840typedef struct
4841{
4842 wpt_uint8 filterId;
4843 wpt_uint32 matchCnt;
4844} WDI_RcvFltPktMatchCnt;
4845
4846typedef struct
4847{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004848 /*Result of the operation*/
4849 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07004850
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004851 /* BSSIDX of the Match count response
4852 */
4853 wpt_uint8 bssIdx;
4854
Jeff Johnson295189b2012-06-20 16:38:30 -07004855} WDI_RcvFltPktMatchCntRspParamsType;
4856
Jeff Johnson295189b2012-06-20 16:38:30 -07004857//
4858// Receive Filter Clear Parameters
4859//
4860typedef struct
4861{
4862 wpt_uint32 status; /* only valid for response message */
4863 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07004864 wpt_macAddr selfMacAddr;
4865 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004866}WDI_RcvFltPktClearParam;
4867
4868typedef struct
4869{
4870 WDI_RcvFltPktClearParam filterClearParam;
4871 /*Request status callback offered by UMAC - it is called if the current
4872 req has returned PENDING as status; it delivers the status of sending
4873 the message over the BUS */
4874 WDI_ReqStatusCb wdiReqStatusCB;
4875
4876 /*The user data passed in by UMAC, it will be sent back when the above
4877 function pointer will be called */
4878 void* pUserData;
4879} WDI_RcvFltPktClearReqParamsType;
4880
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004881typedef struct
4882{
4883 /*Result of the operation*/
4884 WDI_Status wdiStatus;
4885 /* BSSIDX of the Match count response
4886 */
4887 wpt_uint8 bssIdx;
4888
4889} WDI_RcvFltPktClearRspParamsType;
4890
Jeff Johnson295189b2012-06-20 16:38:30 -07004891//
4892// Multicast Address List Parameters
4893//
4894typedef struct
4895{
4896 wpt_uint32 ulMulticastAddrCnt;
4897 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07004898 wpt_macAddr selfMacAddr;
4899 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004900} WDI_RcvFltMcAddrListType;
4901
4902typedef struct
4903{
4904 WDI_RcvFltMcAddrListType mcAddrList;
4905 /*Request status callback offered by UMAC - it is called if the current
4906 req has returned PENDING as status; it delivers the status of sending
4907 the message over the BUS */
4908 WDI_ReqStatusCb wdiReqStatusCB;
4909
4910 /*The user data passed in by UMAC, it will be sent back when the above
4911 function pointer will be called */
4912 void* pUserData;
4913} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004914
4915typedef struct
4916{
4917 /*Result of the operation*/
4918 WDI_Status wdiStatus;
4919 /* BSSIDX of the Match count response
4920 */
4921 wpt_uint8 bssIdx;
4922} WDI_RcvFltPktSetMcListRspParamsType;
4923
Jeff Johnson295189b2012-06-20 16:38:30 -07004924#endif // WLAN_FEATURE_PACKET_FILTERING
4925
4926/*---------------------------------------------------------------------------
4927 WDI_HALDumpCmdReqInfoType
4928---------------------------------------------------------------------------*/
4929typedef struct
4930{
4931 /*command*/
4932 wpt_uint32 command;
4933
4934 /*Arguments*/
4935 wpt_uint32 argument1;
4936 wpt_uint32 argument2;
4937 wpt_uint32 argument3;
4938 wpt_uint32 argument4;
4939
4940}WDI_HALDumpCmdReqInfoType;
4941
4942/*---------------------------------------------------------------------------
4943 WDI_HALDumpCmdReqParamsType
4944---------------------------------------------------------------------------*/
4945typedef struct
4946{
4947 /*NV Blob Info*/
4948 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
4949
4950 /*Request status callback offered by UMAC - it is called if the current
4951 req has returned PENDING as status; it delivers the status of sending
4952 the message over the BUS */
4953 WDI_ReqStatusCb wdiReqStatusCB;
4954
4955 /*The user data passed in by UMAC, it will be sent back when the above
4956 function pointer will be called */
4957 void* pUserData;
4958
4959}WDI_HALDumpCmdReqParamsType;
4960
4961
4962/*---------------------------------------------------------------------------
4963 WDI_HALDumpCmdRspParamsType
4964---------------------------------------------------------------------------*/
4965typedef struct
4966{
4967 /*Result of the operation*/
4968 WDI_Status wdiStatus;
4969
4970 /* length of the buffer */
4971 wpt_uint16 usBufferLen;
4972
4973 /* Buffer */
4974 wpt_uint8 *pBuffer;
4975}WDI_HALDumpCmdRspParamsType;
4976
4977
4978/*---------------------------------------------------------------------------
4979 WDI_SetTmLevelReqType
4980---------------------------------------------------------------------------*/
4981typedef struct
4982{
4983 wpt_uint16 tmMode;
4984 wpt_uint16 tmLevel;
4985 void* pUserData;
4986}WDI_SetTmLevelReqType;
4987
4988/*---------------------------------------------------------------------------
4989 WDI_SetTmLevelRspType
4990---------------------------------------------------------------------------*/
4991typedef struct
4992{
4993 WDI_Status wdiStatus;
4994 void* pUserData;
4995}WDI_SetTmLevelRspType;
4996
4997/*----------------------------------------------------------------------------
4998 * WDI callback types
4999 *--------------------------------------------------------------------------*/
5000
5001/*---------------------------------------------------------------------------
5002 WDI_StartRspCb
5003
5004 DESCRIPTION
5005
5006 This callback is invoked by DAL when it has received a Start response from
5007 the underlying device.
5008
5009 PARAMETERS
5010
5011 IN
5012 wdiRspParams: response parameters received from HAL
5013 pUserData: user data
5014
5015
5016 RETURN VALUE
5017 The result code associated with performing the operation
5018---------------------------------------------------------------------------*/
5019typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5020 void* pUserData);
5021
5022/*---------------------------------------------------------------------------
5023 WDI_StartRspCb
5024
5025 DESCRIPTION
5026
5027 This callback is invoked by DAL when it has received a Stop response from
5028 the underlying device.
5029
5030 PARAMETERS
5031
5032 IN
5033 wdiStatus: response status received from HAL
5034 pUserData: user data
5035
5036
5037
5038 RETURN VALUE
5039 The result code associated with performing the operation
5040---------------------------------------------------------------------------*/
5041typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5042 void* pUserData);
5043
5044/*---------------------------------------------------------------------------
5045 WDI_StartRspCb
5046
5047 DESCRIPTION
5048
5049 This callback is invoked by DAL when it has received an Init Scan response
5050 from the underlying device.
5051
5052 PARAMETERS
5053
5054 IN
5055 wdiStatus: response status received from HAL
5056 pUserData: user data
5057
5058
5059
5060 RETURN VALUE
5061 The result code associated with performing the operation
5062---------------------------------------------------------------------------*/
5063typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5064 void* pUserData);
5065
5066
5067/*---------------------------------------------------------------------------
5068 WDI_StartRspCb
5069
5070 DESCRIPTION
5071
5072 This callback is invoked by DAL when it has received a StartScan response
5073 from the underlying device.
5074
5075 PARAMETERS
5076
5077 IN
5078 wdiParams: response params received from HAL
5079 pUserData: user data
5080
5081
5082
5083 RETURN VALUE
5084 The result code associated with performing the operation
5085---------------------------------------------------------------------------*/
5086typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5087 void* pUserData);
5088
5089
5090/*---------------------------------------------------------------------------
5091 WDI_StartRspCb
5092
5093 DESCRIPTION
5094
5095 This callback is invoked by DAL when it has received a End Scan response
5096 from the underlying device.
5097
5098 PARAMETERS
5099
5100 IN
5101 wdiStatus: response status received from HAL
5102 pUserData: user data
5103
5104
5105
5106 RETURN VALUE
5107 The result code associated with performing the operation
5108---------------------------------------------------------------------------*/
5109typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5110 void* pUserData);
5111
5112
5113/*---------------------------------------------------------------------------
5114 WDI_StartRspCb
5115
5116 DESCRIPTION
5117
5118 This callback is invoked by DAL when it has received a Finish Scan response
5119 from the underlying device.
5120
5121 PARAMETERS
5122
5123 IN
5124 wdiStatus: response status received from HAL
5125 pUserData: user data
5126
5127
5128
5129 RETURN VALUE
5130 The result code associated with performing the operation
5131---------------------------------------------------------------------------*/
5132typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5133 void* pUserData);
5134
5135
5136/*---------------------------------------------------------------------------
5137 WDI_StartRspCb
5138
5139 DESCRIPTION
5140
5141 This callback is invoked by DAL when it has received a Join response from
5142 the underlying device.
5143
5144 PARAMETERS
5145
5146 IN
5147 wdiStatus: response status received from HAL
5148 pUserData: user data
5149
5150
5151
5152 RETURN VALUE
5153 The result code associated with performing the operation
5154---------------------------------------------------------------------------*/
5155typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5156 void* pUserData);
5157
5158
5159/*---------------------------------------------------------------------------
5160 WDI_StartRspCb
5161
5162 DESCRIPTION
5163
5164 This callback is invoked by DAL when it has received a Config BSS response
5165 from the underlying device.
5166
5167 PARAMETERS
5168
5169 IN
5170 wdiConfigBSSRsp: response parameters received from HAL
5171 pUserData: user data
5172
5173
5174 RETURN VALUE
5175 The result code associated with performing the operation
5176---------------------------------------------------------------------------*/
5177typedef void (*WDI_ConfigBSSRspCb)(
5178 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5179 void* pUserData);
5180
5181
5182/*---------------------------------------------------------------------------
5183 WDI_StartRspCb
5184
5185 DESCRIPTION
5186
5187 This callback is invoked by DAL when it has received a Del BSS response from
5188 the underlying device.
5189
5190 PARAMETERS
5191
5192 IN
5193 wdiDelBSSRsp: response parameters received from HAL
5194 pUserData: user data
5195
5196
5197 RETURN VALUE
5198 The result code associated with performing the operation
5199---------------------------------------------------------------------------*/
5200typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5201 void* pUserData);
5202
5203
5204/*---------------------------------------------------------------------------
5205 WDI_StartRspCb
5206
5207 DESCRIPTION
5208
5209 This callback is invoked by DAL when it has received a Post Assoc response
5210 from the underlying device.
5211
5212 PARAMETERS
5213
5214 IN
5215 wdiRspParams: response parameters received from HAL
5216 pUserData: user data
5217
5218
5219 RETURN VALUE
5220 The result code associated with performing the operation
5221---------------------------------------------------------------------------*/
5222typedef void (*WDI_PostAssocRspCb)(
5223 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5224 void* pUserData);
5225
5226
5227/*---------------------------------------------------------------------------
5228 WDI_StartRspCb
5229
5230 DESCRIPTION
5231
5232 This callback is invoked by DAL when it has received a Del STA response from
5233 the underlying device.
5234
5235 PARAMETERS
5236
5237 IN
5238 wdiDelSTARsp: response parameters received from HAL
5239 pUserData: user data
5240
5241
5242 RETURN VALUE
5243 The result code associated with performing the operation
5244---------------------------------------------------------------------------*/
5245typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5246 void* pUserData);
5247
5248
5249
5250/*---------------------------------------------------------------------------
5251 WDI_StartRspCb
5252
5253 DESCRIPTION
5254
5255 This callback is invoked by DAL when it has received a Set BSS Key response
5256 from the underlying device.
5257
5258 PARAMETERS
5259
5260 IN
5261 wdiStatus: response status received from HAL
5262 pUserData: user data
5263
5264
5265
5266 RETURN VALUE
5267 The result code associated with performing the operation
5268---------------------------------------------------------------------------*/
5269typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5270 void* pUserData);
5271
5272/*---------------------------------------------------------------------------
5273 WDI_StartRspCb
5274
5275 DESCRIPTION
5276
5277 This callback is invoked by DAL when it has received a Remove BSS Key
5278 response from the underlying device.
5279
5280 PARAMETERS
5281
5282 IN
5283 wdiStatus: response status received from HAL
5284 pUserData: user data
5285
5286
5287
5288 RETURN VALUE
5289 The result code associated with performing the operation
5290---------------------------------------------------------------------------*/
5291typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5292 void* pUserData);
5293
5294/*---------------------------------------------------------------------------
5295 WDI_StartRspCb
5296
5297 DESCRIPTION
5298
5299 This callback is invoked by DAL when it has received a Set STA Key response
5300 from the underlying device.
5301
5302 PARAMETERS
5303
5304 IN
5305 wdiStatus: response status received from HAL
5306 pUserData: user data
5307
5308
5309
5310 RETURN VALUE
5311 The result code associated with performing the operation
5312---------------------------------------------------------------------------*/
5313typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5314 void* pUserData);
5315
5316
5317/*---------------------------------------------------------------------------
5318 WDI_StartRspCb
5319
5320 DESCRIPTION
5321
5322 This callback is invoked by DAL when it has received a Remove STA Key
5323 response from the underlying device.
5324
5325 PARAMETERS
5326
5327 IN
5328 wdiStatus: response status received from HAL
5329 pUserData: user data
5330
5331
5332
5333 RETURN VALUE
5334 The result code associated with performing the operation
5335---------------------------------------------------------------------------*/
5336typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5337 void* pUserData);
5338
5339
5340#ifdef FEATURE_WLAN_CCX
5341/*---------------------------------------------------------------------------
5342 WDI_TsmRspCb
5343
5344 DESCRIPTION
5345
5346 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5347
5348 PARAMETERS
5349
5350 IN
5351 pTSMStats: response status received from HAL
5352 pUserData: user data
5353
5354
5355
5356 RETURN VALUE
5357 The result code associated with performing the operation
5358---------------------------------------------------------------------------*/
5359typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5360 void* pUserData);
5361#endif
5362
5363/*---------------------------------------------------------------------------
5364 WDI_StartRspCb
5365
5366 DESCRIPTION
5367
5368 This callback is invoked by DAL when it has received a Add TS response from
5369 the underlying device.
5370
5371 PARAMETERS
5372
5373 IN
5374 wdiStatus: response status received from HAL
5375 pUserData: user data
5376
5377
5378
5379 RETURN VALUE
5380 The result code associated with performing the operation
5381---------------------------------------------------------------------------*/
5382typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5383 void* pUserData);
5384
5385/*---------------------------------------------------------------------------
5386 WDI_StartRspCb
5387
5388 DESCRIPTION
5389
5390 This callback is invoked by DAL when it has received a Del TS response from
5391 the underlying device.
5392
5393 PARAMETERS
5394
5395 IN
5396 wdiStatus: response status received from HAL
5397 pUserData: user data
5398
5399
5400
5401 RETURN VALUE
5402 The result code associated with performing the operation
5403---------------------------------------------------------------------------*/
5404typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
5405 void* pUserData);
5406
5407/*---------------------------------------------------------------------------
5408 WDI_StartRspCb
5409
5410 DESCRIPTION
5411
5412 This callback is invoked by DAL when it has received an Update EDCA Params
5413 response from the underlying device.
5414
5415 PARAMETERS
5416
5417 IN
5418 wdiStatus: response status received from HAL
5419 pUserData: user data
5420
5421
5422
5423 RETURN VALUE
5424 The result code associated with performing the operation
5425---------------------------------------------------------------------------*/
5426typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
5427 void* pUserData);
5428
5429/*---------------------------------------------------------------------------
5430 WDI_StartRspCb
5431
5432 DESCRIPTION
5433
5434 This callback is invoked by DAL when it has received a Add BA response from
5435 the underlying device.
5436
5437 PARAMETERS
5438
5439 IN
5440 wdiStatus: response status received from HAL
5441 pUserData: user data
5442
5443
5444
5445 RETURN VALUE
5446 The result code associated with performing the operation
5447---------------------------------------------------------------------------*/
5448typedef void (*WDI_AddBASessionRspCb)(
5449 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
5450 void* pUserData);
5451
5452
5453/*---------------------------------------------------------------------------
5454 WDI_StartRspCb
5455
5456 DESCRIPTION
5457
5458 This callback is invoked by DAL when it has received a Del BA response from
5459 the underlying device.
5460
5461 PARAMETERS
5462
5463 IN
5464 wdiStatus: response status received from HAL
5465 pUserData: user data
5466
5467
5468
5469 RETURN VALUE
5470 The result code associated with performing the operation
5471---------------------------------------------------------------------------*/
5472typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
5473 void* pUserData);
5474
5475
5476/*---------------------------------------------------------------------------
5477 WDI_StartRspCb
5478
5479 DESCRIPTION
5480
5481 This callback is invoked by DAL when it has received a Switch Ch response
5482 from the underlying device.
5483
5484 PARAMETERS
5485
5486 IN
5487 wdiRspParams: response parameters received from HAL
5488 pUserData: user data
5489
5490
5491 RETURN VALUE
5492 The result code associated with performing the operation
5493---------------------------------------------------------------------------*/
5494typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
5495 void* pUserData);
5496
5497
5498/*---------------------------------------------------------------------------
5499 WDI_StartRspCb
5500
5501 DESCRIPTION
5502
5503 This callback is invoked by DAL when it has received a Config STA response
5504 from the underlying device.
5505
5506 PARAMETERS
5507
5508 IN
5509 wdiRspParams: response parameters received from HAL
5510 pUserData: user data
5511
5512
5513 RETURN VALUE
5514 The result code associated with performing the operation
5515---------------------------------------------------------------------------*/
5516typedef void (*WDI_ConfigSTARspCb)(
5517 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
5518 void* pUserData);
5519
5520
5521/*---------------------------------------------------------------------------
5522 WDI_StartRspCb
5523
5524 DESCRIPTION
5525
5526 This callback is invoked by DAL when it has received a Set Link State
5527 response from the underlying device.
5528
5529 PARAMETERS
5530
5531 IN
5532 wdiRspParams: response parameters received from HAL
5533 pUserData: user data
5534
5535
5536 RETURN VALUE
5537 The result code associated with performing the operation
5538---------------------------------------------------------------------------*/
5539typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
5540 void* pUserData);
5541
5542
5543/*---------------------------------------------------------------------------
5544 WDI_StartRspCb
5545
5546 DESCRIPTION
5547
5548 This callback is invoked by DAL when it has received a Get Stats response
5549 from the underlying device.
5550
5551 PARAMETERS
5552
5553 IN
5554 wdiRspParams: response parameters received from HAL
5555 pUserData: user data
5556
5557
5558 RETURN VALUE
5559 The result code associated with performing the operation
5560---------------------------------------------------------------------------*/
5561typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
5562 void* pUserData);
5563
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08005564#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
5565/*---------------------------------------------------------------------------
5566 WDI_GetRoamRssiRspCb
5567
5568 DESCRIPTION
5569
5570 This callback is invoked by DAL when it has received a Get Roam Rssi response
5571 from the underlying device.
5572
5573 PARAMETERS
5574
5575 IN
5576 wdiRspParams: response parameters received from HAL
5577 pUserData: user data
5578
5579
5580 RETURN VALUE
5581 The result code associated with performing the operation
5582---------------------------------------------------------------------------*/
5583typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
5584 void* pUserData);
5585#endif
5586
Jeff Johnson295189b2012-06-20 16:38:30 -07005587
5588/*---------------------------------------------------------------------------
5589 WDI_StartRspCb
5590
5591 DESCRIPTION
5592
5593 This callback is invoked by DAL when it has received a Update Cfg response
5594 from the underlying device.
5595
5596 PARAMETERS
5597
5598 IN
5599 wdiStatus: response status received from HAL
5600 pUserData: user data
5601
5602
5603 RETURN VALUE
5604 The result code associated with performing the operation
5605---------------------------------------------------------------------------*/
5606typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
5607 void* pUserData);
5608
5609/*---------------------------------------------------------------------------
5610 WDI_AddBARspCb
5611
5612 DESCRIPTION
5613
5614 This callback is invoked by DAL when it has received a ADD BA response
5615 from the underlying device.
5616
5617 PARAMETERS
5618
5619 IN
5620 wdiStatus: response status received from HAL
5621 pUserData: user data
5622
5623
5624 RETURN VALUE
5625 The result code associated with performing the operation
5626---------------------------------------------------------------------------*/
5627typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
5628 void* pUserData);
5629
5630/*---------------------------------------------------------------------------
5631 WDI_TriggerBARspCb
5632
5633 DESCRIPTION
5634
5635 This callback is invoked by DAL when it has received a ADD BA response
5636 from the underlying device.
5637
5638 PARAMETERS
5639
5640 IN
5641 wdiStatus: response status received from HAL
5642 pUserData: user data
5643
5644
5645 RETURN VALUE
5646 The result code associated with performing the operation
5647---------------------------------------------------------------------------*/
5648typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
5649 void* pUserData);
5650
5651
5652/*---------------------------------------------------------------------------
5653 WDI_UpdateBeaconParamsRspCb
5654
5655 DESCRIPTION
5656
5657 This callback is invoked by DAL when it has received a Update Beacon Params response from
5658 the underlying device.
5659
5660 PARAMETERS
5661
5662 IN
5663 wdiStatus: response status received from HAL
5664 pUserData: user data
5665
5666
5667
5668 RETURN VALUE
5669 The result code associated with performing the operation
5670---------------------------------------------------------------------------*/
5671typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
5672 void* pUserData);
5673
5674/*---------------------------------------------------------------------------
5675 WDI_SendBeaconParamsRspCb
5676
5677 DESCRIPTION
5678
5679 This callback is invoked by DAL when it has received a Send Beacon Params response from
5680 the underlying device.
5681
5682 PARAMETERS
5683
5684 IN
5685 wdiStatus: response status received from HAL
5686 pUserData: user data
5687
5688
5689
5690 RETURN VALUE
5691 The result code associated with performing the operation
5692---------------------------------------------------------------------------*/
5693typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
5694 void* pUserData);
5695
5696/*---------------------------------------------------------------------------
5697 WDA_SetMaxTxPowerRspCb
5698
5699 DESCRIPTION
5700
5701 This callback is invoked by DAL when it has received a set max Tx Power response from
5702 the underlying device.
5703
5704 PARAMETERS
5705
5706 IN
5707 wdiStatus: response status received from HAL
5708 pUserData: user data
5709
5710
5711
5712 RETURN VALUE
5713 The result code associated with performing the operation
5714---------------------------------------------------------------------------*/
5715typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
5716 void* pUserData);
5717
5718/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07005719 WDA_SetTxPowerRspCb
5720
5721 DESCRIPTION
5722
5723 This callback is invoked by DAL when it has received a set max Tx Power response from
5724 the underlying device.
5725
5726 PARAMETERS
5727
5728 IN
5729 wdiStatus: response status received from HAL
5730 pUserData: user data
5731
5732 RETURN VALUE
5733 The result code associated with performing the operation
5734---------------------------------------------------------------------------*/
5735typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
5736 void* pUserData);
5737
5738/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005739 WDI_UpdateProbeRspTemplateRspCb
5740
5741 DESCRIPTION
5742
5743 This callback is invoked by DAL when it has received a Probe RSP Template
5744 Update response from the underlying device.
5745
5746 PARAMETERS
5747
5748 IN
5749 wdiStatus: response status received from HAL
5750 pUserData: user data
5751
5752
5753
5754 RETURN VALUE
5755 The result code associated with performing the operation
5756---------------------------------------------------------------------------*/
5757typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
5758 void* pUserData);
5759
Jeff Johnson295189b2012-06-20 16:38:30 -07005760/*---------------------------------------------------------------------------
5761 WDI_SetP2PGONOAReqParamsRspCb
5762
5763 DESCRIPTION
5764
5765 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
5766 the underlying device.
5767
5768 PARAMETERS
5769
5770 IN
5771 wdiStatus: response status received from HAL
5772 pUserData: user data
5773
5774
5775
5776 RETURN VALUE
5777 The result code associated with performing the operation
5778---------------------------------------------------------------------------*/
5779typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
5780 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07005781
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05305782/*---------------------------------------------------------------------------
5783 WDI_SetTDLSLinkEstablishReqParamsRspCb
5784
5785 DESCRIPTION
5786
5787 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
5788 the underlying device.
5789
5790 PARAMETERS
5791
5792 IN
5793 wdiStatus: response status received from HAL
5794 pUserData: user data
5795
5796
5797
5798 RETURN VALUE
5799 The result code associated with performing the operation
5800---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05305801typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
5802 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05305803 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07005804
5805/*---------------------------------------------------------------------------
5806 WDI_SetPwrSaveCfgCb
5807
5808 DESCRIPTION
5809
5810 This callback is invoked by DAL when it has received a set Power Save CFG
5811 response from the underlying device.
5812
5813 PARAMETERS
5814
5815 IN
5816 wdiStatus: response status received from HAL
5817 pUserData: user data
5818
5819
5820
5821 RETURN VALUE
5822 The result code associated with performing the operation
5823---------------------------------------------------------------------------*/
5824typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
5825 void* pUserData);
5826
5827/*---------------------------------------------------------------------------
5828 WDI_SetUapsdAcParamsCb
5829
5830 DESCRIPTION
5831
5832 This callback is invoked by DAL when it has received a set UAPSD params
5833 response from the underlying device.
5834
5835 PARAMETERS
5836
5837 IN
5838 wdiStatus: response status received from HAL
5839 pUserData: user data
5840
5841
5842
5843 RETURN VALUE
5844 The result code associated with performing the operation
5845---------------------------------------------------------------------------*/
5846typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
5847 void* pUserData);
5848
5849/*---------------------------------------------------------------------------
5850 WDI_EnterImpsRspCb
5851
5852 DESCRIPTION
5853
5854 This callback is invoked by DAL when it has received a Enter IMPS response
5855 from the underlying device.
5856
5857 PARAMETERS
5858
5859 IN
5860 wdiStatus: response status received from HAL
5861 pUserData: user data
5862
5863
5864
5865 RETURN VALUE
5866 The result code associated with performing the operation
5867---------------------------------------------------------------------------*/
5868typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
5869 void* pUserData);
5870
5871/*---------------------------------------------------------------------------
5872 WDI_ExitImpsRspCb
5873
5874 DESCRIPTION
5875
5876 This callback is invoked by DAL when it has received a Exit IMPS response
5877 from the underlying device.
5878
5879 PARAMETERS
5880
5881 IN
5882 wdiStatus: response status received from HAL
5883 pUserData: user data
5884
5885
5886
5887 RETURN VALUE
5888 The result code associated with performing the operation
5889---------------------------------------------------------------------------*/
5890typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
5891 void* pUserData);
5892
5893/*---------------------------------------------------------------------------
5894 WDI_EnterBmpsRspCb
5895
5896 DESCRIPTION
5897
5898 This callback is invoked by DAL when it has received a enter BMPS response
5899 from the underlying device.
5900
5901 PARAMETERS
5902
5903 IN
5904 wdiStatus: response status received from HAL
5905 pUserData: user data
5906
5907
5908
5909 RETURN VALUE
5910 The result code associated with performing the operation
5911---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005912typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07005913 void* pUserData);
5914
5915/*---------------------------------------------------------------------------
5916 WDI_ExitBmpsRspCb
5917
5918 DESCRIPTION
5919
5920 This callback is invoked by DAL when it has received a exit BMPS response
5921 from the underlying device.
5922
5923 PARAMETERS
5924
5925 IN
5926 wdiStatus: response status received from HAL
5927 pUserData: user data
5928
5929
5930
5931 RETURN VALUE
5932 The result code associated with performing the operation
5933---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005934typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07005935 void* pUserData);
5936
5937/*---------------------------------------------------------------------------
5938 WDI_EnterUapsdRspCb
5939
5940 DESCRIPTION
5941
5942 This callback is invoked by DAL when it has received a enter UAPSD response
5943 from the underlying device.
5944
5945 PARAMETERS
5946
5947 IN
5948 wdiStatus: response status received from HAL
5949 pUserData: user data
5950
5951
5952
5953 RETURN VALUE
5954 The result code associated with performing the operation
5955---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005956typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07005957 void* pUserData);
5958
5959/*---------------------------------------------------------------------------
5960 WDI_ExitUapsdRspCb
5961
5962 DESCRIPTION
5963
5964 This callback is invoked by DAL when it has received a exit UAPSD response
5965 from the underlying device.
5966
5967 PARAMETERS
5968
5969 IN
5970 wdiStatus: response status received from HAL
5971 pUserData: user data
5972
5973
5974
5975 RETURN VALUE
5976 The result code associated with performing the operation
5977---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005978typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07005979 void* pUserData);
5980
5981/*---------------------------------------------------------------------------
5982 WDI_UpdateUapsdParamsCb
5983
5984 DESCRIPTION
5985
5986 This callback is invoked by DAL when it has received a update UAPSD params
5987 response from the underlying device.
5988
5989 PARAMETERS
5990
5991 IN
5992 wdiStatus: response status received from HAL
5993 pUserData: user data
5994
5995
5996
5997 RETURN VALUE
5998 The result code associated with performing the operation
5999---------------------------------------------------------------------------*/
6000typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6001 void* pUserData);
6002
6003/*---------------------------------------------------------------------------
6004 WDI_ConfigureRxpFilterCb
6005
6006 DESCRIPTION
6007
6008 This callback is invoked by DAL when it has received a config RXP filter
6009 response from the underlying device.
6010
6011 PARAMETERS
6012
6013 IN
6014 wdiStatus: response status received from HAL
6015 pUserData: user data
6016
6017
6018
6019 RETURN VALUE
6020 The result code associated with performing the operation
6021---------------------------------------------------------------------------*/
6022typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6023 void* pUserData);
6024
6025/*---------------------------------------------------------------------------
6026 WDI_SetBeaconFilterCb
6027
6028 DESCRIPTION
6029
6030 This callback is invoked by DAL when it has received a set beacon filter
6031 response from the underlying device.
6032
6033 PARAMETERS
6034
6035 IN
6036 wdiStatus: response status received from HAL
6037 pUserData: user data
6038
6039
6040
6041 RETURN VALUE
6042 The result code associated with performing the operation
6043---------------------------------------------------------------------------*/
6044typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6045 void* pUserData);
6046
6047/*---------------------------------------------------------------------------
6048 WDI_RemBeaconFilterCb
6049
6050 DESCRIPTION
6051
6052 This callback is invoked by DAL when it has received a remove beacon filter
6053 response from the underlying device.
6054
6055 PARAMETERS
6056
6057 IN
6058 wdiStatus: response status received from HAL
6059 pUserData: user data
6060
6061
6062
6063 RETURN VALUE
6064 The result code associated with performing the operation
6065---------------------------------------------------------------------------*/
6066typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6067 void* pUserData);
6068
6069/*---------------------------------------------------------------------------
6070 WDI_SetRSSIThresholdsCb
6071
6072 DESCRIPTION
6073
6074 This callback is invoked by DAL when it has received a set RSSI thresholds
6075 response from the underlying device.
6076
6077 PARAMETERS
6078
6079 IN
6080 wdiStatus: response status received from HAL
6081 pUserData: user data
6082
6083
6084
6085 RETURN VALUE
6086 The result code associated with performing the operation
6087---------------------------------------------------------------------------*/
6088typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6089 void* pUserData);
6090
6091/*---------------------------------------------------------------------------
6092 WDI_HostOffloadCb
6093
6094 DESCRIPTION
6095
6096 This callback is invoked by DAL when it has received a host offload
6097 response from the underlying device.
6098
6099 PARAMETERS
6100
6101 IN
6102 wdiStatus: response status received from HAL
6103 pUserData: user data
6104
6105
6106
6107 RETURN VALUE
6108 The result code associated with performing the operation
6109---------------------------------------------------------------------------*/
6110typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6111 void* pUserData);
6112
6113/*---------------------------------------------------------------------------
6114 WDI_KeepAliveCb
6115
6116 DESCRIPTION
6117
6118 This callback is invoked by DAL when it has received a Keep Alive
6119 response from the underlying device.
6120
6121 PARAMETERS
6122
6123 IN
6124 wdiStatus: response status received from HAL
6125 pUserData: user data
6126
6127
6128
6129 RETURN VALUE
6130 The result code associated with performing the operation
6131---------------------------------------------------------------------------*/
6132typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6133 void* pUserData);
6134
6135/*---------------------------------------------------------------------------
6136 WDI_WowlAddBcPtrnCb
6137
6138 DESCRIPTION
6139
6140 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6141 response from the underlying device.
6142
6143 PARAMETERS
6144
6145 IN
6146 wdiStatus: response status received from HAL
6147 pUserData: user data
6148
6149
6150
6151 RETURN VALUE
6152 The result code associated with performing the operation
6153---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006154typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006155 void* pUserData);
6156
6157/*---------------------------------------------------------------------------
6158 WDI_WowlDelBcPtrnCb
6159
6160 DESCRIPTION
6161
6162 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6163 response from the underlying device.
6164
6165 PARAMETERS
6166
6167 IN
6168 wdiStatus: response status received from HAL
6169 pUserData: user data
6170
6171
6172
6173 RETURN VALUE
6174 The result code associated with performing the operation
6175---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006176typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006177 void* pUserData);
6178
6179/*---------------------------------------------------------------------------
6180 WDI_WowlEnterReqCb
6181
6182 DESCRIPTION
6183
6184 This callback is invoked by DAL when it has received a Wowl enter
6185 response from the underlying device.
6186
6187 PARAMETERS
6188
6189 IN
6190 wdiStatus: response status received from HAL
6191 pUserData: user data
6192
6193
6194
6195 RETURN VALUE
6196 The result code associated with performing the operation
6197---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006198typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6199 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006200
6201/*---------------------------------------------------------------------------
6202 WDI_WowlExitReqCb
6203
6204 DESCRIPTION
6205
6206 This callback is invoked by DAL when it has received a Wowl exit
6207 response from the underlying device.
6208
6209 PARAMETERS
6210
6211 IN
6212 wdiStatus: response status received from HAL
6213 pUserData: user data
6214
6215
6216
6217 RETURN VALUE
6218 The result code associated with performing the operation
6219---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006220typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006221 void* pUserData);
6222
6223/*---------------------------------------------------------------------------
6224 WDI_ConfigureAppsCpuWakeupStateCb
6225
6226 DESCRIPTION
6227
6228 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6229 State response from the underlying device.
6230
6231 PARAMETERS
6232
6233 IN
6234 wdiStatus: response status received from HAL
6235 pUserData: user data
6236
6237
6238
6239 RETURN VALUE
6240 The result code associated with performing the operation
6241---------------------------------------------------------------------------*/
6242typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6243 void* pUserData);
6244/*---------------------------------------------------------------------------
6245 WDI_NvDownloadRspCb
6246
6247 DESCRIPTION
6248
6249 This callback is invoked by DAL when it has received a NV Download response
6250 from the underlying device.
6251
6252 PARAMETERS
6253
6254 IN
6255 wdiStatus:response status received from HAL
6256 pUserData:user data
6257
6258 RETURN VALUE
6259 The result code associated with performing the operation
6260---------------------------------------------------------------------------*/
6261typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6262 void* pUserData);
6263/*---------------------------------------------------------------------------
6264 WDI_FlushAcRspCb
6265
6266 DESCRIPTION
6267
6268 This callback is invoked by DAL when it has received a Flush AC response from
6269 the underlying device.
6270
6271 PARAMETERS
6272
6273 IN
6274 wdiStatus: response status received from HAL
6275 pUserData: user data
6276
6277
6278
6279 RETURN VALUE
6280 The result code associated with performing the operation
6281---------------------------------------------------------------------------*/
6282typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6283 void* pUserData);
6284
6285/*---------------------------------------------------------------------------
6286 WDI_BtAmpEventRspCb
6287
6288 DESCRIPTION
6289
6290 This callback is invoked by DAL when it has received a Bt AMP event response
6291 from the underlying device.
6292
6293 PARAMETERS
6294
6295 IN
6296 wdiStatus: response status received from HAL
6297 pUserData: user data
6298
6299
6300
6301 RETURN VALUE
6302 The result code associated with performing the operation
6303---------------------------------------------------------------------------*/
6304typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6305 void* pUserData);
6306
Jeff Johnsone7245742012-09-05 17:12:55 -07006307#ifdef FEATURE_OEM_DATA_SUPPORT
6308/*---------------------------------------------------------------------------
6309 WDI_oemDataRspCb
6310
6311 DESCRIPTION
6312
6313 This callback is invoked by DAL when it has received a Start oem data response from
6314 the underlying device.
6315
6316 PARAMETERS
6317
6318 IN
6319 wdiStatus: response status received from HAL
6320 pUserData: user data
6321
6322
6323
6324 RETURN VALUE
6325 The result code associated with performing the operation
6326---------------------------------------------------------------------------*/
6327typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6328 void* pUserData);
6329
6330#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006331
6332/*---------------------------------------------------------------------------
6333 WDI_HostResumeEventRspCb
6334
6335 DESCRIPTION
6336
6337 This callback is invoked by DAL when it has received a Bt AMP event response
6338 from the underlying device.
6339
6340 PARAMETERS
6341
6342 IN
6343 wdiStatus: response status received from HAL
6344 pUserData: user data
6345
6346
6347
6348 RETURN VALUE
6349 The result code associated with performing the operation
6350---------------------------------------------------------------------------*/
6351typedef void (*WDI_HostResumeEventRspCb)(
6352 WDI_SuspendResumeRspParamsType *resumeRspParams,
6353 void* pUserData);
6354
6355
6356#ifdef WLAN_FEATURE_VOWIFI_11R
6357/*---------------------------------------------------------------------------
6358 WDI_AggrAddTsRspCb
6359
6360 DESCRIPTION
6361
6362 This callback is invoked by DAL when it has received a Aggregated Add TS
6363 response from the underlying device.
6364
6365 PARAMETERS
6366
6367 IN
6368 wdiStatus: response status received from HAL
6369 pUserData: user data
6370
6371
6372
6373 RETURN VALUE
6374 The result code associated with performing the operation
6375---------------------------------------------------------------------------*/
6376typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
6377 void* pUserData);
6378#endif /* WLAN_FEATURE_VOWIFI_11R */
6379
Jeff Johnson295189b2012-06-20 16:38:30 -07006380/*---------------------------------------------------------------------------
6381 WDI_FTMCommandRspCb
6382
6383 DESCRIPTION
6384
6385 FTM Command response CB
6386
6387 PARAMETERS
6388
6389 IN
6390 ftmCMDRspdata: FTM response data from HAL
6391 pUserData: user data
6392
6393
6394 RETURN VALUE
6395 NONE
6396---------------------------------------------------------------------------*/
6397typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
6398 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006399
6400/*---------------------------------------------------------------------------
6401 WDI_AddSTASelfParamsRspCb
6402
6403 DESCRIPTION
6404
6405 This callback is invoked by DAL when it has received a Add Sta Self Params
6406 response from the underlying device.
6407
6408 PARAMETERS
6409
6410 IN
6411 wdiAddSelfSTARsp: response status received from HAL
6412 pUserData: user data
6413
6414
6415
6416 RETURN VALUE
6417 The result code associated with performing the operation
6418---------------------------------------------------------------------------*/
6419typedef void (*WDI_AddSTASelfParamsRspCb)(
6420 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
6421 void* pUserData);
6422
6423
6424/*---------------------------------------------------------------------------
6425 WDI_DelSTASelfRspCb
6426
6427 DESCRIPTION
6428
6429 This callback is invoked by DAL when it has received a host offload
6430 response from the underlying device.
6431
6432 PARAMETERS
6433
6434 IN
6435 wdiStatus: response status received from HAL
6436 pUserData: user data
6437
6438
6439
6440 RETURN VALUE
6441 The result code associated with performing the operation
6442---------------------------------------------------------------------------*/
6443typedef void (*WDI_DelSTASelfRspCb)
6444(
6445WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
6446void* pUserData
6447);
6448
6449#ifdef FEATURE_WLAN_SCAN_PNO
6450/*---------------------------------------------------------------------------
6451 WDI_PNOScanCb
6452
6453 DESCRIPTION
6454
6455 This callback is invoked by DAL when it has received a Set PNO
6456 response from the underlying device.
6457
6458 PARAMETERS
6459
6460 IN
6461 wdiStatus: response status received from HAL
6462 pUserData: user data
6463
6464
6465
6466 RETURN VALUE
6467 The result code associated with performing the operation
6468---------------------------------------------------------------------------*/
6469typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
6470 void* pUserData);
6471
6472/*---------------------------------------------------------------------------
6473 WDI_PNOScanCb
6474
6475 DESCRIPTION
6476
6477 This callback is invoked by DAL when it has received a Set PNO
6478 response from the underlying device.
6479
6480 PARAMETERS
6481
6482 IN
6483 wdiStatus: response status received from HAL
6484 pUserData: user data
6485
6486
6487
6488 RETURN VALUE
6489 The result code associated with performing the operation
6490---------------------------------------------------------------------------*/
6491typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
6492 void* pUserData);
6493
6494/*---------------------------------------------------------------------------
6495 WDI_UpdateScanParamsCb
6496
6497 DESCRIPTION
6498
6499 This callback is invoked by DAL when it has received a Update Scan Params
6500 response from the underlying device.
6501
6502 PARAMETERS
6503
6504 IN
6505 wdiStatus: response status received from HAL
6506 pUserData: user data
6507
6508
6509
6510 RETURN VALUE
6511 The result code associated with performing the operation
6512---------------------------------------------------------------------------*/
6513typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
6514 void* pUserData);
6515#endif // FEATURE_WLAN_SCAN_PNO
6516
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07006517#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
6518/*---------------------------------------------------------------------------
6519 WDI_RoamOffloadScanCb
6520
6521 DESCRIPTION
6522
6523 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
6524 response from the underlying device.
6525
6526 PARAMETERS
6527
6528 IN
6529 wdiStatus: response status received from HAL
6530 pUserData: user data
6531
6532
6533
6534 RETURN VALUE
6535 The result code associated with performing the operation
6536---------------------------------------------------------------------------*/
6537typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
6538 void* pUserData);
6539
6540#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006541/*---------------------------------------------------------------------------
6542 WDI_SetTxPerTrackingRspCb
6543
6544 DESCRIPTION
6545
6546 This callback is invoked by DAL when it has received a Tx PER Tracking
6547 response from the underlying device.
6548
6549 PARAMETERS
6550
6551 IN
6552 wdiStatus: response status received from HAL
6553 pUserData: user data
6554
6555
6556
6557 RETURN VALUE
6558 The result code associated with performing the operation
6559---------------------------------------------------------------------------*/
6560typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
6561 void* pUserData);
6562
6563#ifdef WLAN_FEATURE_PACKET_FILTERING
6564/*---------------------------------------------------------------------------
6565 WDI_8023MulticastListCb
6566
6567 DESCRIPTION
6568
6569 This callback is invoked by DAL when it has received a 8023 Multicast List
6570 response from the underlying device.
6571
6572 PARAMETERS
6573
6574 IN
6575 wdiStatus: response status received from HAL
6576 pUserData: user data
6577
6578
6579
6580 RETURN VALUE
6581 The result code associated with performing the operation
6582---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006583typedef void (*WDI_8023MulticastListCb)(
6584 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
6585 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006586
6587/*---------------------------------------------------------------------------
6588 WDI_ReceiveFilterSetFilterCb
6589
6590 DESCRIPTION
6591
6592 This callback is invoked by DAL when it has received a Receive Filter Set Filter
6593 response from the underlying device.
6594
6595 PARAMETERS
6596
6597 IN
6598 wdiStatus: response status received from HAL
6599 pUserData: user data
6600
6601
6602
6603 RETURN VALUE
6604 The result code associated with performing the operation
6605---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006606typedef void (*WDI_ReceiveFilterSetFilterCb)(
6607 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
6608 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006609
6610/*---------------------------------------------------------------------------
6611 WDI_FilterMatchCountCb
6612
6613 DESCRIPTION
6614
6615 This callback is invoked by DAL when it has received a Do PC Filter Match Count
6616 response from the underlying device.
6617
6618 PARAMETERS
6619
6620 IN
6621 wdiStatus: response status received from HAL
6622 pUserData: user data
6623
6624
6625
6626 RETURN VALUE
6627 The result code associated with performing the operation
6628---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006629typedef void (*WDI_FilterMatchCountCb)(
6630 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
6631 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006632
6633/*---------------------------------------------------------------------------
6634 WDI_ReceiveFilterClearFilterCb
6635
6636 DESCRIPTION
6637
6638 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
6639 response from the underlying device.
6640
6641 PARAMETERS
6642
6643 IN
6644 wdiStatus: response status received from HAL
6645 pUserData: user data
6646
6647
6648
6649 RETURN VALUE
6650 The result code associated with performing the operation
6651---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006652typedef void (*WDI_ReceiveFilterClearFilterCb)(
6653 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
6654 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006655#endif // WLAN_FEATURE_PACKET_FILTERING
6656
6657/*---------------------------------------------------------------------------
6658 WDI_HALDumpCmdRspCb
6659
6660 DESCRIPTION
6661
6662 This callback is invoked by DAL when it has received a HAL DUMP Command
6663response from
6664 the HAL layer.
6665
6666 PARAMETERS
6667
6668 IN
6669 wdiHalDumpCmdRsp: response status received from HAL
6670 pUserData: user data
6671
6672
6673
6674 RETURN VALUE
6675 The result code associated with performing the operation
6676---------------------------------------------------------------------------*/
6677typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
6678 void* pUserData);
6679
6680/*---------------------------------------------------------------------------
6681 WDI_SetPowerParamsCb
6682
6683 DESCRIPTION
6684
6685 This callback is invoked by DAL when it has received a Set Power Param
6686 response from the underlying device.
6687
6688 PARAMETERS
6689
6690 IN
6691 wdiStatus: response status received from HAL
6692 pUserData: user data
6693
6694
6695
6696 RETURN VALUE
6697 The result code associated with performing the operation
6698---------------------------------------------------------------------------*/
6699typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
6700 void* pUserData);
6701
6702#ifdef WLAN_FEATURE_GTK_OFFLOAD
6703/*---------------------------------------------------------------------------
6704 WDI_GtkOffloadCb
6705
6706 DESCRIPTION
6707
6708 This callback is invoked by DAL when it has received a GTK offload
6709 response from the underlying device.
6710
6711 PARAMETERS
6712
6713 IN
6714 wdiStatus: response status received from HAL
6715 pUserData: user data
6716
6717
6718
6719 RETURN VALUE
6720 The result code associated with performing the operation
6721---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006722typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006723 void* pUserData);
6724
6725/*---------------------------------------------------------------------------
6726 WDI_GtkOffloadGetInfoCb
6727
6728 DESCRIPTION
6729
6730 This callback is invoked by DAL when it has received a GTK offload
6731 information response from the underlying device.
6732
6733 PARAMETERS
6734
6735 IN
6736 wdiStatus: response status received from HAL
6737 pUserData: user data
6738
6739
6740
6741 RETURN VALUE
6742 The result code associated with performing the operation
6743---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006744typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006745 void* pUserData);
6746#endif // WLAN_FEATURE_GTK_OFFLOAD
6747
6748/*---------------------------------------------------------------------------
6749 WDI_SetTmLevelCb
6750
6751 DESCRIPTION
6752
6753 This callback is invoked by DAL when it has received a Set New TM Level
6754 done response from the underlying device.
6755
6756 PARAMETERS
6757
6758 IN
6759 wdiStatus: response status received from HAL
6760 pUserData: user data
6761
6762
6763
6764 RETURN VALUE
6765 The result code associated with performing the operation
6766---------------------------------------------------------------------------*/
6767typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
6768 void* pUserData);
6769
6770/*---------------------------------------------------------------------------
6771 WDI_featureCapsExchangeCb
6772
6773 DESCRIPTION
6774
6775 This callback is invoked by DAL when it has received a HAL Feature Capbility
6776 Exchange Response the HAL layer. This callback is put to mantain code
6777 similarity and is not being used right now.
6778
6779 PARAMETERS
6780
6781 IN
6782 wdiFeatCapRspParams: response parameters received from HAL
6783 pUserData: user data
6784
6785 RETURN VALUE
6786 The result code associated with performing the operation
6787---------------------------------------------------------------------------*/
6788typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
6789 void* pUserData);
6790
Mohit Khanna4a70d262012-09-11 16:30:12 -07006791#ifdef WLAN_FEATURE_11AC
6792typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
6793 void* pUserData);
6794#endif
6795
6796
Jeff Johnson295189b2012-06-20 16:38:30 -07006797/*========================================================================
6798 * Function Declarations and Documentation
6799 ==========================================================================*/
6800
6801/*========================================================================
6802
6803 INITIALIZATION APIs
6804
6805==========================================================================*/
6806
6807/**
6808 @brief WDI_Init is used to initialize the DAL.
6809
6810 DAL will allocate all the resources it needs. It will open PAL, it will also
6811 open both the data and the control transport which in their turn will open
6812 DXE/SMD or any other drivers that they need.
6813
6814 @param pOSContext: pointer to the OS context provided by the UMAC
6815 will be passed on to PAL on Open
6816 ppWDIGlobalCtx: output pointer of Global Context
6817 pWdiDevCapability: output pointer of device capability
6818
6819 @return Result of the function call
6820*/
6821WDI_Status
6822WDI_Init
6823(
6824 void* pOSContext,
6825 void** ppWDIGlobalCtx,
6826 WDI_DeviceCapabilityType* pWdiDevCapability,
6827 unsigned int driverType
6828);
6829
6830/**
6831 @brief WDI_Start will be called when the upper MAC is ready to
6832 commence operation with the WLAN Device. Upon the call
6833 of this API the WLAN DAL will pack and send a HAL Start
6834 message to the lower RIVA sub-system if the SMD channel
6835 has been fully opened and the RIVA subsystem is up.
6836
6837 If the RIVA sub-system is not yet up and running DAL
6838 will queue the request for Open and will wait for the
6839 SMD notification before attempting to send down the
6840 message to HAL.
6841
6842 WDI_Init must have been called.
6843
6844 @param wdiStartParams: the start parameters as specified by
6845 the Device Interface
6846
6847 wdiStartRspCb: callback for passing back the response of
6848 the start operation received from the device
6849
6850 pUserData: user data will be passed back with the
6851 callback
6852
6853 @see WDI_Start
6854 @return Result of the function call
6855*/
6856WDI_Status
6857WDI_Start
6858(
6859 WDI_StartReqParamsType* pwdiStartParams,
6860 WDI_StartRspCb wdiStartRspCb,
6861 void* pUserData
6862);
6863
6864
6865/**
6866 @brief WDI_Stop will be called when the upper MAC is ready to
6867 stop any operation with the WLAN Device. Upon the call
6868 of this API the WLAN DAL will pack and send a HAL Stop
6869 message to the lower RIVA sub-system if the DAL Core is
6870 in started state.
6871
6872 In state BUSY this request will be queued.
6873
6874 Request will not be accepted in any other state.
6875
6876 WDI_Start must have been called.
6877
6878 @param wdiStopParams: the stop parameters as specified by
6879 the Device Interface
6880
6881 wdiStopRspCb: callback for passing back the response of
6882 the stop operation received from the device
6883
6884 pUserData: user data will be passed back with the
6885 callback
6886
6887 @see WDI_Start
6888 @return Result of the function call
6889*/
6890WDI_Status
6891WDI_Stop
6892(
6893 WDI_StopReqParamsType* pwdiStopParams,
6894 WDI_StopRspCb wdiStopRspCb,
6895 void* pUserData
6896);
6897
6898/**
6899 @brief WDI_Close will be called when the upper MAC no longer
6900 needs to interract with DAL. DAL will free its control
6901 block.
6902
6903 It is only accepted in state STOPPED.
6904
6905 WDI_Stop must have been called.
6906
6907 @param none
6908
6909 @see WDI_Stop
6910 @return Result of the function call
6911*/
6912WDI_Status
6913WDI_Close
6914(
6915 void
6916);
6917
6918
6919/**
6920 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
6921 This will do most of the WDI stop & close
6922 operations without doing any handshake with Riva
6923
6924 This will also make sure that the control transport
6925 will NOT be closed.
6926
6927 This request will not be queued.
6928
6929
6930 WDI_Start must have been called.
6931
6932 @param closeTransport: Close control channel if this is set
6933
6934 @return Result of the function call
6935*/
6936WDI_Status
6937WDI_Shutdown
6938(
6939 wpt_boolean closeTransport
6940);
6941
6942/*========================================================================
6943
6944 SCAN APIs
6945
6946==========================================================================*/
6947
6948/**
6949 @brief WDI_InitScanReq will be called when the upper MAC wants
6950 the WLAN Device to get ready for a scan procedure. Upon
6951 the call of this API the WLAN DAL will pack and send a
6952 HAL Init Scan request message to the lower RIVA
6953 sub-system if DAL is in state STARTED.
6954
6955 In state BUSY this request will be queued. Request won't
6956 be allowed in any other state.
6957
6958 WDI_Start must have been called.
6959
6960 @param wdiInitScanParams: the init scan parameters as specified
6961 by the Device Interface
6962
6963 wdiInitScanRspCb: callback for passing back the response
6964 of the init scan operation received from the device
6965
6966 pUserData: user data will be passed back with the
6967 callback
6968
6969 @see WDI_Start
6970 @return Result of the function call
6971*/
6972WDI_Status
6973WDI_InitScanReq
6974(
6975 WDI_InitScanReqParamsType* pwdiInitScanParams,
6976 WDI_InitScanRspCb wdiInitScanRspCb,
6977 void* pUserData
6978);
6979
6980/**
6981 @brief WDI_StartScanReq will be called when the upper MAC
6982 wishes to change the Scan channel on the WLAN Device.
6983 Upon the call of this API the WLAN DAL will pack and
6984 send a HAL Start Scan request message to the lower RIVA
6985 sub-system if DAL is in state STARTED.
6986
6987 In state BUSY this request will be queued. Request won't
6988 be allowed in any other state.
6989
6990 WDI_InitScanReq must have been called.
6991
6992 @param wdiStartScanParams: the start scan parameters as
6993 specified by the Device Interface
6994
6995 wdiStartScanRspCb: callback for passing back the
6996 response of the start scan operation received from the
6997 device
6998
6999 pUserData: user data will be passed back with the
7000 callback
7001
7002 @see WDI_InitScanReq
7003 @return Result of the function call
7004*/
7005WDI_Status
7006WDI_StartScanReq
7007(
7008 WDI_StartScanReqParamsType* pwdiStartScanParams,
7009 WDI_StartScanRspCb wdiStartScanRspCb,
7010 void* pUserData
7011);
7012
7013
7014/**
7015 @brief WDI_EndScanReq will be called when the upper MAC is
7016 wants to end scanning for a particular channel that it
7017 had set before by calling Scan Start on the WLAN Device.
7018 Upon the call of this API the WLAN DAL will pack and
7019 send a HAL End Scan request message to the lower RIVA
7020 sub-system if DAL is in state STARTED.
7021
7022 In state BUSY this request will be queued. Request won't
7023 be allowed in any other state.
7024
7025 WDI_StartScanReq must have been called.
7026
7027 @param wdiEndScanParams: the end scan parameters as specified
7028 by the Device Interface
7029
7030 wdiEndScanRspCb: callback for passing back the response
7031 of the end scan operation received from the device
7032
7033 pUserData: user data will be passed back with the
7034 callback
7035
7036 @see WDI_StartScanReq
7037 @return Result of the function call
7038*/
7039WDI_Status
7040WDI_EndScanReq
7041(
7042 WDI_EndScanReqParamsType* pwdiEndScanParams,
7043 WDI_EndScanRspCb wdiEndScanRspCb,
7044 void* pUserData
7045);
7046
7047
7048/**
7049 @brief WDI_FinishScanReq will be called when the upper MAC has
7050 completed the scan process on the WLAN Device. Upon the
7051 call of this API the WLAN DAL will pack and send a HAL
7052 Finish Scan Request request message to the lower RIVA
7053 sub-system if DAL is in state STARTED.
7054
7055 In state BUSY this request will be queued. Request won't
7056 be allowed in any other state.
7057
7058 WDI_InitScanReq must have been called.
7059
7060 @param wdiFinishScanParams: the finish scan parameters as
7061 specified by the Device Interface
7062
7063 wdiFinishScanRspCb: callback for passing back the
7064 response of the finish scan operation received from the
7065 device
7066
7067 pUserData: user data will be passed back with the
7068 callback
7069
7070 @see WDI_InitScanReq
7071 @return Result of the function call
7072*/
7073WDI_Status
7074WDI_FinishScanReq
7075(
7076 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7077 WDI_FinishScanRspCb wdiFinishScanRspCb,
7078 void* pUserData
7079);
7080
7081/*========================================================================
7082
7083 ASSOCIATION APIs
7084
7085==========================================================================*/
7086
7087/**
7088 @brief WDI_JoinReq will be called when the upper MAC is ready
7089 to start an association procedure to a BSS. Upon the
7090 call of this API the WLAN DAL will pack and send a HAL
7091 Join request message to the lower RIVA sub-system if
7092 DAL is in state STARTED.
7093
7094 In state BUSY this request will be queued. Request won't
7095 be allowed in any other state.
7096
7097 WDI_Start must have been called.
7098
7099 @param wdiJoinParams: the join parameters as specified by
7100 the Device Interface
7101
7102 wdiJoinRspCb: callback for passing back the response of
7103 the join operation received from the device
7104
7105 pUserData: user data will be passed back with the
7106 callback
7107
7108 @see WDI_Start
7109 @return Result of the function call
7110*/
7111WDI_Status
7112WDI_JoinReq
7113(
7114 WDI_JoinReqParamsType* pwdiJoinParams,
7115 WDI_JoinRspCb wdiJoinRspCb,
7116 void* pUserData
7117);
7118
7119/**
7120 @brief WDI_ConfigBSSReq will be called when the upper MAC
7121 wishes to configure the newly acquired or in process of
7122 being acquired BSS to the HW . Upon the call of this API
7123 the WLAN DAL will pack and send a HAL Config BSS request
7124 message to the lower RIVA sub-system if DAL is in state
7125 STARTED.
7126
7127 In state BUSY this request will be queued. Request won't
7128 be allowed in any other state.
7129
7130 WDI_JoinReq must have been called.
7131
7132 @param wdiConfigBSSParams: the config BSS parameters as
7133 specified by the Device Interface
7134
7135 wdiConfigBSSRspCb: callback for passing back the
7136 response of the config BSS operation received from the
7137 device
7138
7139 pUserData: user data will be passed back with the
7140 callback
7141
7142 @see WDI_JoinReq
7143 @return Result of the function call
7144*/
7145WDI_Status
7146WDI_ConfigBSSReq
7147(
7148 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7149 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7150 void* pUserData
7151);
7152
7153/**
7154 @brief WDI_DelBSSReq will be called when the upper MAC is
7155 dissasociating from the BSS and wishes to notify HW.
7156 Upon the call of this API the WLAN DAL will pack and
7157 send a HAL Del BSS request message to the lower RIVA
7158 sub-system if DAL is in state STARTED.
7159
7160 In state BUSY this request will be queued. Request won't
7161 be allowed in any other state.
7162
7163 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7164
7165 @param wdiDelBSSParams: the del BSS parameters as specified by
7166 the Device Interface
7167
7168 wdiDelBSSRspCb: callback for passing back the response
7169 of the del bss operation received from the device
7170
7171 pUserData: user data will be passed back with the
7172 callback
7173
7174 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7175 @return Result of the function call
7176*/
7177WDI_Status
7178WDI_DelBSSReq
7179(
7180 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7181 WDI_DelBSSRspCb wdiDelBSSRspCb,
7182 void* pUserData
7183);
7184
7185/**
7186 @brief WDI_PostAssocReq will be called when the upper MAC has
7187 associated to a BSS and wishes to configure HW for
7188 associated state. Upon the call of this API the WLAN DAL
7189 will pack and send a HAL Post Assoc request message to
7190 the lower RIVA sub-system if DAL is in state STARTED.
7191
7192 In state BUSY this request will be queued. Request won't
7193 be allowed in any other state.
7194
7195 WDI_JoinReq must have been called.
7196
7197 @param wdiPostAssocReqParams: the assoc parameters as specified
7198 by the Device Interface
7199
7200 wdiPostAssocRspCb: callback for passing back the
7201 response of the post assoc operation received from the
7202 device
7203
7204 pUserData: user data will be passed back with the
7205 callback
7206
7207 @see WDI_JoinReq
7208 @return Result of the function call
7209*/
7210WDI_Status
7211WDI_PostAssocReq
7212(
7213 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7214 WDI_PostAssocRspCb wdiPostAssocRspCb,
7215 void* pUserData
7216);
7217
7218/**
7219 @brief WDI_DelSTAReq will be called when the upper MAC when an
7220 association with another STA has ended and the station
7221 must be deleted from HW. Upon the call of this API the
7222 WLAN DAL will pack and send a HAL Del STA request
7223 message to the lower RIVA sub-system if DAL is in state
7224 STARTED.
7225
7226 In state BUSY this request will be queued. Request won't
7227 be allowed in any other state.
7228
7229 WDI_PostAssocReq must have been called.
7230
7231 @param wdiDelSTAParams: the Del STA parameters as specified by
7232 the Device Interface
7233
7234 wdiDelSTARspCb: callback for passing back the response
7235 of the del STA operation received from the device
7236
7237 pUserData: user data will be passed back with the
7238 callback
7239
7240 @see WDI_PostAssocReq
7241 @return Result of the function call
7242*/
7243WDI_Status
7244WDI_DelSTAReq
7245(
7246 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7247 WDI_DelSTARspCb wdiDelSTARspCb,
7248 void* pUserData
7249);
7250
7251/*========================================================================
7252
7253 SECURITY APIs
7254
7255==========================================================================*/
7256
7257/**
7258 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7259 install a BSS encryption key on the HW. Upon the call of
7260 this API the WLAN DAL will pack and send a HAL Start
7261 request message to the lower RIVA sub-system if DAL is
7262 in state STARTED.
7263
7264 In state BUSY this request will be queued. Request won't
7265 be allowed in any other state.
7266
7267 WDI_PostAssocReq must have been called.
7268
7269 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7270 specified by the Device Interface
7271
7272 wdiSetBSSKeyRspCb: callback for passing back the
7273 response of the set BSS Key operation received from the
7274 device
7275
7276 pUserData: user data will be passed back with the
7277 callback
7278
7279 @see WDI_PostAssocReq
7280 @return Result of the function call
7281*/
7282WDI_Status
7283WDI_SetBSSKeyReq
7284(
7285 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7286 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7287 void* pUserData
7288);
7289
7290
7291/**
7292 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
7293 uninstall a BSS key from HW. Upon the call of this API
7294 the WLAN DAL will pack and send a HAL Remove BSS Key
7295 request message to the lower RIVA sub-system if DAL is
7296 in state STARTED.
7297
7298 In state BUSY this request will be queued. Request won't
7299 be allowed in any other state.
7300
7301 WDI_SetBSSKeyReq must have been called.
7302
7303 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
7304 specified by the Device Interface
7305
7306 wdiRemoveBSSKeyRspCb: callback for passing back the
7307 response of the remove BSS key operation received from
7308 the device
7309
7310 pUserData: user data will be passed back with the
7311 callback
7312
7313 @see WDI_SetBSSKeyReq
7314 @return Result of the function call
7315*/
7316WDI_Status
7317WDI_RemoveBSSKeyReq
7318(
7319 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
7320 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
7321 void* pUserData
7322);
7323
7324
7325/**
7326 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
7327 ready to install a STA(ast) encryption key in HW. Upon
7328 the call of this API the WLAN DAL will pack and send a
7329 HAL Set STA Key request message to the lower RIVA
7330 sub-system if DAL is in state STARTED.
7331
7332 In state BUSY this request will be queued. Request won't
7333 be allowed in any other state.
7334
7335 WDI_PostAssocReq must have been called.
7336
7337 @param wdiSetSTAKeyParams: the set STA key parameters as
7338 specified by the Device Interface
7339
7340 wdiSetSTAKeyRspCb: callback for passing back the
7341 response of the set STA key operation received from the
7342 device
7343
7344 pUserData: user data will be passed back with the
7345 callback
7346
7347 @see WDI_PostAssocReq
7348 @return Result of the function call
7349*/
7350WDI_Status
7351WDI_SetSTAKeyReq
7352(
7353 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
7354 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
7355 void* pUserData
7356);
7357
7358
7359/**
7360 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
7361 wants to unistall a previously set STA key in HW. Upon
7362 the call of this API the WLAN DAL will pack and send a
7363 HAL Remove STA Key request message to the lower RIVA
7364 sub-system if DAL is in state STARTED.
7365
7366 In state BUSY this request will be queued. Request won't
7367 be allowed in any other state.
7368
7369 WDI_SetSTAKeyReq must have been called.
7370
7371 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
7372 specified by the Device Interface
7373
7374 wdiRemoveSTAKeyRspCb: callback for passing back the
7375 response of the remove STA key operation received from
7376 the device
7377
7378 pUserData: user data will be passed back with the
7379 callback
7380
7381 @see WDI_SetSTAKeyReq
7382 @return Result of the function call
7383*/
7384WDI_Status
7385WDI_RemoveSTAKeyReq
7386(
7387 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
7388 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
7389 void* pUserData
7390);
7391
7392/**
7393 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
7394 wants to install a STA Bcast encryption key on the HW.
7395 Upon the call of this API the WLAN DAL will pack and
7396 send a HAL Start request message to the lower RIVA
7397 sub-system if DAL is in state STARTED.
7398
7399 In state BUSY this request will be queued. Request won't
7400 be allowed in any other state.
7401
7402 WDI_PostAssocReq must have been called.
7403
7404 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
7405 specified by the Device Interface
7406
7407 wdiSetSTABcastKeyRspCb: callback for passing back the
7408 response of the set BSS Key operation received from the
7409 device
7410
7411 pUserData: user data will be passed back with the
7412 callback
7413
7414 @see WDI_PostAssocReq
7415 @return Result of the function call
7416*/
7417WDI_Status
7418WDI_SetSTABcastKeyReq
7419(
7420 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
7421 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
7422 void* pUserData
7423);
7424
7425
7426/**
7427 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
7428 MAC to uninstall a STA Bcast key from HW. Upon the call
7429 of this API the WLAN DAL will pack and send a HAL Remove
7430 STA Bcast Key request message to the lower RIVA
7431 sub-system if DAL is in state STARTED.
7432
7433 In state BUSY this request will be queued. Request won't
7434 be allowed in any other state.
7435
7436 WDI_SetSTABcastKeyReq must have been called.
7437
7438 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7439 parameters as specified by the Device
7440 Interface
7441
7442 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7443 response of the remove STA Bcast key operation received
7444 from the device
7445
7446 pUserData: user data will be passed back with the
7447 callback
7448
7449 @see WDI_SetSTABcastKeyReq
7450 @return Result of the function call
7451*/
7452WDI_Status
7453WDI_RemoveSTABcastKeyReq
7454(
7455 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
7456 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
7457 void* pUserData
7458);
7459
schang86c22c42013-03-13 18:41:24 -07007460
7461/**
7462 @brief WDI_SetTxPowerReq will be called when the upper
7463 MAC wants to set Tx Power to HW.
7464 In state BUSY this request will be queued. Request won't
7465 be allowed in any other state.
7466
7467
7468 @param pwdiSetTxPowerParams: set TS Power parameters
7469 BSSID and target TX Power with dbm included
7470
7471 wdiReqStatusCb: callback for passing back the response
7472
7473 pUserData: user data will be passed back with the
7474 callback
7475
7476 @return Result of the function call
7477*/
7478WDI_Status
7479WDI_SetTxPowerReq
7480(
7481 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
7482 WDA_SetTxPowerRspCb wdiReqStatusCb,
7483 void* pUserData
7484);
7485
Jeff Johnson295189b2012-06-20 16:38:30 -07007486/**
7487 @brief WDI_SetMaxTxPowerReq will be called when the upper
7488 MAC wants to set Max Tx Power to HW. Upon the
7489 call of this API the WLAN DAL will pack and send a HAL
7490 Remove STA Bcast Key request message to the lower RIVA
7491 sub-system if DAL is in state STARTED.
7492
7493 In state BUSY this request will be queued. Request won't
7494 be allowed in any other state.
7495
7496 WDI_SetSTABcastKeyReq must have been called.
7497
7498 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7499 parameters as specified by the Device
7500 Interface
7501
7502 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7503 response of the remove STA Bcast key operation received
7504 from the device
7505
7506 pUserData: user data will be passed back with the
7507 callback
7508
7509 @see WDI_SetMaxTxPowerReq
7510 @return Result of the function call
7511*/
7512WDI_Status
7513WDI_SetMaxTxPowerReq
7514(
7515 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
7516 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
7517 void* pUserData
7518);
7519
7520#ifdef FEATURE_WLAN_CCX
7521/**
7522 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
7523 Traffic Stream metrics.
7524 In state BUSY this request will be queued. Request won't
7525 be allowed in any other state.
7526
7527 @param wdiAddTsReqParams: the add TS parameters as specified by
7528 the Device Interface
7529
7530 wdiAddTsRspCb: callback for passing back the response of
7531 the add TS operation received from the device
7532
7533 pUserData: user data will be passed back with the
7534 callback
7535
7536 @see WDI_PostAssocReq
7537 @return Result of the function call
7538*/
7539WDI_Status
7540WDI_TSMStatsReq
7541(
7542 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
7543 WDI_TsmRspCb wdiTsmStatsRspCb,
7544 void* pUserData
7545);
7546
7547
7548#endif
7549
7550/*========================================================================
7551
7552 QoS and BA APIs
7553
7554==========================================================================*/
7555
7556/**
7557 @brief WDI_AddTSReq will be called when the upper MAC to inform
7558 the device of a successful add TSpec negotiation. HW
7559 needs to receive the TSpec Info from the UMAC in order
7560 to configure properly the QoS data traffic. Upon the
7561 call of this API the WLAN DAL will pack and send a HAL
7562 Add TS request message to the lower RIVA sub-system if
7563 DAL is in state STARTED.
7564
7565 In state BUSY this request will be queued. Request won't
7566 be allowed in any other state.
7567
7568 WDI_PostAssocReq must have been called.
7569
7570 @param wdiAddTsReqParams: the add TS parameters as specified by
7571 the Device Interface
7572
7573 wdiAddTsRspCb: callback for passing back the response of
7574 the add TS operation received from the device
7575
7576 pUserData: user data will be passed back with the
7577 callback
7578
7579 @see WDI_PostAssocReq
7580 @return Result of the function call
7581*/
7582WDI_Status
7583WDI_AddTSReq
7584(
7585 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
7586 WDI_AddTsRspCb wdiAddTsRspCb,
7587 void* pUserData
7588);
7589
7590
7591
7592/**
7593 @brief WDI_DelTSReq will be called when the upper MAC has ended
7594 admission on a specific AC. This is to inform HW that
7595 QoS traffic parameters must be rest. Upon the call of
7596 this API the WLAN DAL will pack and send a HAL Del TS
7597 request message to the lower RIVA sub-system if DAL is
7598 in state STARTED.
7599
7600 In state BUSY this request will be queued. Request won't
7601 be allowed in any other state.
7602
7603 WDI_AddTSReq must have been called.
7604
7605 @param wdiDelTsReqParams: the del TS parameters as specified by
7606 the Device Interface
7607
7608 wdiDelTsRspCb: callback for passing back the response of
7609 the del TS operation received from the device
7610
7611 pUserData: user data will be passed back with the
7612 callback
7613
7614 @see WDI_AddTSReq
7615 @return Result of the function call
7616*/
7617WDI_Status
7618WDI_DelTSReq
7619(
7620 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
7621 WDI_DelTsRspCb wdiDelTsRspCb,
7622 void* pUserData
7623);
7624
7625
7626
7627/**
7628 @brief WDI_UpdateEDCAParams will be called when the upper MAC
7629 wishes to update the EDCA parameters used by HW for QoS
7630 data traffic. Upon the call of this API the WLAN DAL
7631 will pack and send a HAL Update EDCA Params request
7632 message to the lower RIVA sub-system if DAL is in state
7633 STARTED.
7634
7635 In state BUSY this request will be queued. Request won't
7636 be allowed in any other state.
7637
7638 WDI_PostAssocReq must have been called.
7639
7640 @param wdiUpdateEDCAParams: the start parameters as specified
7641 by the Device Interface
7642
7643 wdiUpdateEDCAParamsRspCb: callback for passing back the
7644 response of the start operation received from the device
7645
7646 pUserData: user data will be passed back with the
7647 callback
7648
7649 @see WDI_PostAssocReq
7650 @return Result of the function call
7651*/
7652WDI_Status
7653WDI_UpdateEDCAParams
7654(
7655 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
7656 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
7657 void* pUserData
7658);
7659
7660
7661
7662/**
7663 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
7664 successfully a BA session and needs to notify the HW for
7665 the appropriate settings to take place. Upon the call of
7666 this API the WLAN DAL will pack and send a HAL Add BA
7667 request message to the lower RIVA sub-system if DAL is
7668 in state STARTED.
7669
7670 In state BUSY this request will be queued. Request won't
7671 be allowed in any other state.
7672
7673 WDI_PostAssocReq must have been called.
7674
7675 @param wdiAddBAReqParams: the add BA parameters as specified by
7676 the Device Interface
7677
7678 wdiAddBARspCb: callback for passing back the response of
7679 the add BA operation received from the device
7680
7681 pUserData: user data will be passed back with the
7682 callback
7683
7684 @see WDI_PostAssocReq
7685 @return Result of the function call
7686*/
7687WDI_Status
7688WDI_AddBASessionReq
7689(
7690 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
7691 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
7692 void* pUserData
7693);
7694
7695
7696/**
7697 @brief WDI_DelBAReq will be called when the upper MAC wants to
7698 inform HW that it has deleted a previously created BA
7699 session. Upon the call of this API the WLAN DAL will
7700 pack and send a HAL Del BA request message to the lower
7701 RIVA sub-system if DAL is in state STARTED.
7702
7703 In state BUSY this request will be queued. Request won't
7704 be allowed in any other state.
7705
7706 WDI_AddBAReq must have been called.
7707
7708 @param wdiDelBAReqParams: the del BA parameters as specified by
7709 the Device Interface
7710
7711 wdiDelBARspCb: callback for passing back the response of
7712 the del BA operation received from the device
7713
7714 pUserData: user data will be passed back with the
7715 callback
7716
7717 @see WDI_AddBAReq
7718 @return Result of the function call
7719*/
7720WDI_Status
7721WDI_DelBAReq
7722(
7723 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
7724 WDI_DelBARspCb wdiDelBARspCb,
7725 void* pUserData
7726);
7727
7728/**
7729 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
7730 inform HW that there is a change in the beacon parameters
7731 Upon the call of this API the WLAN DAL will
7732 pack and send a UpdateBeacon Params message to the lower
7733 RIVA sub-system if DAL is in state STARTED.
7734
7735 In state BUSY this request will be queued. Request won't
7736 be allowed in any other state.
7737
7738 WDI_UpdateBeaconParamsReq must have been called.
7739
7740 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
7741 the Device Interface
7742
7743 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
7744 the Update Beacon Params operation received from the device
7745
7746 pUserData: user data will be passed back with the
7747 callback
7748
7749 @see WDI_AddBAReq
7750 @return Result of the function call
7751*/
7752
7753WDI_Status
7754WDI_UpdateBeaconParamsReq
7755(
7756 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
7757 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
7758 void* pUserData
7759);
7760
7761
7762/**
7763 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
7764 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
7765 Upon the call of this API the WLAN DAL will
7766 pack and send the beacon Template message to the lower
7767 RIVA sub-system if DAL is in state STARTED.
7768
7769 In state BUSY this request will be queued. Request won't
7770 be allowed in any other state.
7771
7772 WDI_SendBeaconParamsReq must have been called.
7773
7774 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
7775 the Device Interface
7776
7777 WDI_SendBeaconParamsRspCb: callback for passing back the response of
7778 the Send Beacon Params operation received from the device
7779
7780 pUserData: user data will be passed back with the
7781 callback
7782
7783 @see WDI_AddBAReq
7784 @return Result of the function call
7785*/
7786
7787WDI_Status
7788WDI_SendBeaconParamsReq
7789(
7790 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
7791 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
7792 void* pUserData
7793);
7794
7795
7796/**
7797 @brief WDI_UpdateProbeRspTemplateReq will be called when the
7798 upper MAC wants to update the probe response template to
7799 be transmitted as Soft AP
7800 Upon the call of this API the WLAN DAL will
7801 pack and send the probe rsp template message to the
7802 lower RIVA sub-system if DAL is in state STARTED.
7803
7804 In state BUSY this request will be queued. Request won't
7805 be allowed in any other state.
7806
7807
7808 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
7809 specified by the Device Interface
7810
7811 wdiSendBeaconParamsRspCb: callback for passing back the
7812 response of the Send Beacon Params operation received
7813 from the device
7814
7815 pUserData: user data will be passed back with the
7816 callback
7817
7818 @see WDI_AddBAReq
7819 @return Result of the function call
7820*/
7821
7822WDI_Status
7823WDI_UpdateProbeRspTemplateReq
7824(
7825 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
7826 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
7827 void* pUserData
7828);
7829
Jeff Johnson295189b2012-06-20 16:38:30 -07007830/**
7831 @brief WDI_SetP2PGONOAReq will be called when the
7832 upper MAC wants to send Notice of Absence
7833 Upon the call of this API the WLAN DAL will
7834 pack and send the probe rsp template message to the
7835 lower RIVA sub-system if DAL is in state STARTED.
7836
7837 In state BUSY this request will be queued. Request won't
7838 be allowed in any other state.
7839
7840
7841 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
7842 specified by the Device Interface
7843
7844 wdiSendBeaconParamsRspCb: callback for passing back the
7845 response of the Send Beacon Params operation received
7846 from the device
7847
7848 pUserData: user data will be passed back with the
7849 callback
7850
7851 @see WDI_AddBAReq
7852 @return Result of the function call
7853*/
7854WDI_Status
7855WDI_SetP2PGONOAReq
7856(
7857 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
7858 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
7859 void* pUserData
7860);
Jeff Johnson295189b2012-06-20 16:38:30 -07007861
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307862/**
7863 @brief WDI_SetTDLSLinkEstablishReq will be called when the
7864 upper MAC wants to send TDLS Link Establish Request Parameters
7865 Upon the call of this API the WLAN DAL will
7866 pack and send the TDLS Link Establish Request message to the
7867 lower RIVA sub-system if DAL is in state STARTED.
7868
7869 In state BUSY this request will be queued. Request won't
7870 be allowed in any other state.
7871
7872
7873 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
7874 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
7875
7876 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
7877 response of the TDLS Link Establish request received
7878 from the device
7879
7880 pUserData: user data will be passed back with the
7881 callback
7882
7883 @see
7884 @return Result of the function call
7885*/
7886WDI_Status
7887WDI_SetTDLSLinkEstablishReq
7888(
7889 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
7890 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
7891 void* pUserData
7892);
Jeff Johnson295189b2012-06-20 16:38:30 -07007893
7894/*========================================================================
7895
7896 Power Save APIs
7897
7898==========================================================================*/
7899
7900/**
7901 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
7902 wants to set the power save related configurations of
7903 the WLAN Device. Upon the call of this API the WLAN DAL
7904 will pack and send a HAL Update CFG request message to
7905 the lower RIVA sub-system if DAL is in state STARTED.
7906
7907 In state BUSY this request will be queued. Request won't
7908 be allowed in any other state.
7909
7910 WDI_Start must have been called.
7911
7912 @param pwdiPowerSaveCfg: the power save cfg parameters as
7913 specified by the Device Interface
7914
7915 wdiSetPwrSaveCfgCb: callback for passing back the
7916 response of the set power save cfg operation received
7917 from the device
7918
7919 pUserData: user data will be passed back with the
7920 callback
7921
7922 @see WDI_Start
7923 @return Result of the function call
7924*/
7925WDI_Status
7926WDI_SetPwrSaveCfgReq
7927(
7928 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
7929 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
7930 void* pUserData
7931);
7932
7933/**
7934 @brief WDI_EnterImpsReq will be called when the upper MAC to
7935 request the device to get into IMPS power state. Upon
7936 the call of this API the WLAN DAL will send a HAL Enter
7937 IMPS request message to the lower RIVA sub-system if DAL
7938 is in state STARTED.
7939
7940 In state BUSY this request will be queued. Request won't
7941 be allowed in any other state.
7942
7943
7944 @param wdiEnterImpsRspCb: callback for passing back the
7945 response of the Enter IMPS operation received from the
7946 device
7947
7948 pUserData: user data will be passed back with the
7949 callback
7950
7951 @see WDI_Start
7952 @return Result of the function call
7953*/
7954WDI_Status
7955WDI_EnterImpsReq
7956(
7957 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
7958 void* pUserData
7959);
7960
7961/**
7962 @brief WDI_ExitImpsReq will be called when the upper MAC to
7963 request the device to get out of IMPS power state. Upon
7964 the call of this API the WLAN DAL will send a HAL Exit
7965 IMPS request message to the lower RIVA sub-system if DAL
7966 is in state STARTED.
7967
7968 In state BUSY this request will be queued. Request won't
7969 be allowed in any other state.
7970
7971
7972
7973 @param wdiExitImpsRspCb: callback for passing back the response
7974 of the Exit IMPS operation received from the device
7975
7976 pUserData: user data will be passed back with the
7977 callback
7978
7979 @see WDI_Start
7980 @return Result of the function call
7981*/
7982WDI_Status
7983WDI_ExitImpsReq
7984(
7985 WDI_ExitImpsRspCb wdiExitImpsRspCb,
7986 void* pUserData
7987);
7988
7989/**
7990 @brief WDI_EnterBmpsReq will be called when the upper MAC to
7991 request the device to get into BMPS power state. Upon
7992 the call of this API the WLAN DAL will pack and send a
7993 HAL Enter BMPS request message to the lower RIVA
7994 sub-system if DAL is in state STARTED.
7995
7996 In state BUSY this request will be queued. Request won't
7997 be allowed in any other state.
7998
7999 WDI_PostAssocReq must have been called.
8000
8001 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8002 specified by the Device Interface
8003
8004 wdiEnterBmpsRspCb: callback for passing back the
8005 response of the Enter BMPS operation received from the
8006 device
8007
8008 pUserData: user data will be passed back with the
8009 callback
8010
8011 @see WDI_PostAssocReq
8012 @return Result of the function call
8013*/
8014WDI_Status
8015WDI_EnterBmpsReq
8016(
8017 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8018 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8019 void* pUserData
8020);
8021
8022/**
8023 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8024 request the device to get out of BMPS power state. Upon
8025 the call of this API the WLAN DAL will pack and send a
8026 HAL Exit BMPS request message to the lower RIVA
8027 sub-system if DAL is in state STARTED.
8028
8029 In state BUSY this request will be queued. Request won't
8030 be allowed in any other state.
8031
8032 WDI_PostAssocReq must have been called.
8033
8034 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8035 specified by the Device Interface
8036
8037 wdiExitBmpsRspCb: callback for passing back the response
8038 of the Exit BMPS operation received from the device
8039
8040 pUserData: user data will be passed back with the
8041 callback
8042
8043 @see WDI_PostAssocReq
8044 @return Result of the function call
8045*/
8046WDI_Status
8047WDI_ExitBmpsReq
8048(
8049 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8050 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8051 void* pUserData
8052);
8053
8054/**
8055 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8056 request the device to get into UAPSD power state. Upon
8057 the call of this API the WLAN DAL will pack and send a
8058 HAL Enter UAPSD request message to the lower RIVA
8059 sub-system if DAL is in state STARTED.
8060
8061 In state BUSY this request will be queued. Request won't
8062 be allowed in any other state.
8063
8064 WDI_PostAssocReq must have been called.
8065 WDI_SetUapsdAcParamsReq must have been called.
8066
8067 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8068 specified by the Device Interface
8069
8070 wdiEnterUapsdRspCb: callback for passing back the
8071 response of the Enter UAPSD operation received from the
8072 device
8073
8074 pUserData: user data will be passed back with the
8075 callback
8076
8077 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8078 @return Result of the function call
8079*/
8080WDI_Status
8081WDI_EnterUapsdReq
8082(
8083 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8084 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8085 void* pUserData
8086);
8087
8088/**
8089 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8090 request the device to get out of UAPSD power state. Upon
8091 the call of this API the WLAN DAL will send a HAL Exit
8092 UAPSD request message to the lower RIVA sub-system if
8093 DAL is in state STARTED.
8094
8095 In state BUSY this request will be queued. Request won't
8096 be allowed in any other state.
8097
8098 WDI_PostAssocReq must have been called.
8099
8100 @param wdiExitUapsdRspCb: callback for passing back the
8101 response of the Exit UAPSD operation received from the
8102 device
8103
8104 pUserData: user data will be passed back with the
8105 callback
8106
8107 @see WDI_PostAssocReq
8108 @return Result of the function call
8109*/
8110WDI_Status
8111WDI_ExitUapsdReq
8112(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008113 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008114 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8115 void* pUserData
8116);
8117
8118/**
8119 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8120 MAC wants to set the UAPSD related configurations
8121 of an associated STA (while acting as an AP) to the WLAN
8122 Device. Upon the call of this API the WLAN DAL will pack
8123 and send a HAL Update UAPSD params request message to
8124 the lower RIVA sub-system if DAL is in state STARTED.
8125
8126 In state BUSY this request will be queued. Request won't
8127 be allowed in any other state.
8128
8129 WDI_ConfigBSSReq must have been called.
8130
8131 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8132 as specified by the Device Interface
8133
8134 wdiUpdateUapsdParamsCb: callback for passing back the
8135 response of the update UAPSD params operation received
8136 from the device
8137
8138 pUserData: user data will be passed back with the
8139 callback
8140
8141 @see WDI_ConfigBSSReq
8142 @return Result of the function call
8143*/
8144WDI_Status
8145WDI_UpdateUapsdParamsReq
8146(
8147 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8148 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8149 void* pUserData
8150);
8151
8152/**
8153 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8154 MAC wants to set the UAPSD related configurations before
8155 requesting for enter UAPSD power state to the WLAN
8156 Device. Upon the call of this API the WLAN DAL will pack
8157 and send a HAL Set UAPSD params request message to
8158 the lower RIVA sub-system if DAL is in state STARTED.
8159
8160 In state BUSY this request will be queued. Request won't
8161 be allowed in any other state.
8162
8163 WDI_PostAssocReq must have been called.
8164
8165 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8166 the Device Interface
8167
8168 wdiSetUapsdAcParamsCb: callback for passing back the
8169 response of the set UAPSD params operation received from
8170 the device
8171
8172 pUserData: user data will be passed back with the
8173 callback
8174
8175 @see WDI_PostAssocReq
8176 @return Result of the function call
8177*/
8178WDI_Status
8179WDI_SetUapsdAcParamsReq
8180(
8181 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8182 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8183 void* pUserData
8184);
8185
8186/**
8187 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8188 MAC wants to set/reset the RXP filters for received pkts
8189 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8190 and send a HAL configure RXP filter request message to
8191 the lower RIVA sub-system.
8192
8193 In state BUSY this request will be queued. Request won't
8194 be allowed in any other state.
8195
8196
8197 @param pwdiConfigureRxpFilterReqParams: the RXP
8198 filter as specified by the Device
8199 Interface
8200
8201 wdiConfigureRxpFilterCb: callback for passing back the
8202 response of the configure RXP filter operation received
8203 from the device
8204
8205 pUserData: user data will be passed back with the
8206 callback
8207
8208 @return Result of the function call
8209*/
8210WDI_Status
8211WDI_ConfigureRxpFilterReq
8212(
8213 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8214 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8215 void* pUserData
8216);
8217
8218/**
8219 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8220 wants to set the beacon filters while in power save.
8221 Upon the call of this API the WLAN DAL will pack and
8222 send a Beacon filter request message to the
8223 lower RIVA sub-system.
8224
8225 In state BUSY this request will be queued. Request won't
8226 be allowed in any other state.
8227
8228
8229 @param pwdiBeaconFilterReqParams: the beacon
8230 filter as specified by the Device
8231 Interface
8232
8233 wdiBeaconFilterCb: callback for passing back the
8234 response of the set beacon filter operation received
8235 from the device
8236
8237 pUserData: user data will be passed back with the
8238 callback
8239
8240 @return Result of the function call
8241*/
8242WDI_Status
8243WDI_SetBeaconFilterReq
8244(
8245 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8246 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8247 void* pUserData
8248);
8249
8250/**
8251 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8252 wants to remove the beacon filter for perticular IE
8253 while in power save. Upon the call of this API the WLAN
8254 DAL will pack and send a remove Beacon filter request
8255 message to the lower RIVA sub-system.
8256
8257 In state BUSY this request will be queued. Request won't
8258 be allowed in any other state.
8259
8260
8261 @param pwdiBeaconFilterReqParams: the beacon
8262 filter as specified by the Device
8263 Interface
8264
8265 wdiBeaconFilterCb: callback for passing back the
8266 response of the remove beacon filter operation received
8267 from the device
8268
8269 pUserData: user data will be passed back with the
8270 callback
8271
8272 @return Result of the function call
8273*/
8274WDI_Status
8275WDI_RemBeaconFilterReq
8276(
8277 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8278 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
8279 void* pUserData
8280);
8281
8282/**
8283 @brief WDI_SetRSSIThresholdsReq will be called when the upper
8284 MAC wants to set the RSSI thresholds related
8285 configurations while in power save. Upon the call of
8286 this API the WLAN DAL will pack and send a HAL Set RSSI
8287 thresholds request message to the lower RIVA
8288 sub-system if DAL is in state STARTED.
8289
8290 In state BUSY this request will be queued. Request won't
8291 be allowed in any other state.
8292
8293 WDI_PostAssocReq must have been called.
8294
8295 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8296 the Device Interface
8297
8298 wdiSetUapsdAcParamsCb: callback for passing back the
8299 response of the set UAPSD params operation received from
8300 the device
8301
8302 pUserData: user data will be passed back with the
8303 callback
8304
8305 @see WDI_PostAssocReq
8306 @return Result of the function call
8307*/
8308WDI_Status
8309WDI_SetRSSIThresholdsReq
8310(
8311 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
8312 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
8313 void* pUserData
8314);
8315
8316/**
8317 @brief WDI_HostOffloadReq will be called when the upper MAC
8318 wants to set the filter to minimize unnecessary host
8319 wakeup due to broadcast traffic while in power save.
8320 Upon the call of this API the WLAN DAL will pack and
8321 send a HAL host offload request message to the
8322 lower RIVA sub-system if DAL is in state STARTED.
8323
8324 In state BUSY this request will be queued. Request won't
8325 be allowed in any other state.
8326
8327 WDI_PostAssocReq must have been called.
8328
8329 @param pwdiHostOffloadParams: the host offload as specified
8330 by the Device Interface
8331
8332 wdiHostOffloadCb: callback for passing back the response
8333 of the host offload operation received from the
8334 device
8335
8336 pUserData: user data will be passed back with the
8337 callback
8338
8339 @see WDI_PostAssocReq
8340 @return Result of the function call
8341*/
8342WDI_Status
8343WDI_HostOffloadReq
8344(
8345 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
8346 WDI_HostOffloadCb wdiHostOffloadCb,
8347 void* pUserData
8348);
8349
8350/**
8351 @brief WDI_KeepAliveReq will be called when the upper MAC
8352 wants to set the filter to send NULL or unsolicited ARP responses
8353 and minimize unnecessary host wakeups due to while in power save.
8354 Upon the call of this API the WLAN DAL will pack and
8355 send a HAL Keep Alive request message to the
8356 lower RIVA sub-system if DAL is in state STARTED.
8357
8358 In state BUSY this request will be queued. Request won't
8359 be allowed in any other state.
8360
8361 WDI_PostAssocReq must have been called.
8362
8363 @param pwdiKeepAliveParams: the Keep Alive as specified
8364 by the Device Interface
8365
8366 wdiKeepAliveCb: callback for passing back the response
8367 of the Keep Alive operation received from the
8368 device
8369
8370 pUserData: user data will be passed back with the
8371 callback
8372
8373 @see WDI_PostAssocReq
8374 @return Result of the function call
8375*/
8376WDI_Status
8377WDI_KeepAliveReq
8378(
8379 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
8380 WDI_KeepAliveCb wdiKeepAliveCb,
8381 void* pUserData
8382);
8383
8384/**
8385 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
8386 wants to set the Wowl Bcast ptrn to minimize unnecessary
8387 host wakeup due to broadcast traffic while in power
8388 save. Upon the call of this API the WLAN DAL will pack
8389 and send a HAL Wowl Bcast ptrn request message to the
8390 lower RIVA sub-system if DAL is in state STARTED.
8391
8392 In state BUSY this request will be queued. Request won't
8393 be allowed in any other state.
8394
8395 WDI_PostAssocReq must have been called.
8396
8397 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
8398 specified by the Device Interface
8399
8400 wdiWowlAddBcPtrnCb: callback for passing back the
8401 response of the add Wowl bcast ptrn operation received
8402 from the device
8403
8404 pUserData: user data will be passed back with the
8405 callback
8406
8407 @see WDI_PostAssocReq
8408 @return Result of the function call
8409*/
8410WDI_Status
8411WDI_WowlAddBcPtrnReq
8412(
8413 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
8414 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
8415 void* pUserData
8416);
8417
8418/**
8419 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
8420 wants to clear the Wowl Bcast ptrn. Upon the call of
8421 this API the WLAN DAL will pack and send a HAL delete
8422 Wowl Bcast ptrn request message to the lower RIVA
8423 sub-system if DAL is in state STARTED.
8424
8425 In state BUSY this request will be queued. Request won't
8426 be allowed in any other state.
8427
8428 WDI_WowlAddBcPtrnReq must have been called.
8429
8430 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
8431 specified by the Device Interface
8432
8433 wdiWowlDelBcPtrnCb: callback for passing back the
8434 response of the del Wowl bcast ptrn operation received
8435 from the device
8436
8437 pUserData: user data will be passed back with the
8438 callback
8439
8440 @see WDI_WowlAddBcPtrnReq
8441 @return Result of the function call
8442*/
8443WDI_Status
8444WDI_WowlDelBcPtrnReq
8445(
8446 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
8447 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
8448 void* pUserData
8449);
8450
8451/**
8452 @brief WDI_WowlEnterReq will be called when the upper MAC
8453 wants to enter the Wowl state to minimize unnecessary
8454 host wakeup while in power save. Upon the call of this
8455 API the WLAN DAL will pack and send a HAL Wowl enter
8456 request message to the lower RIVA sub-system if DAL is
8457 in state STARTED.
8458
8459 In state BUSY this request will be queued. Request won't
8460 be allowed in any other state.
8461
8462 WDI_PostAssocReq must have been called.
8463
8464 @param pwdiWowlEnterReqParams: the Wowl enter info as
8465 specified by the Device Interface
8466
8467 wdiWowlEnterReqCb: callback for passing back the
8468 response of the enter Wowl operation received from the
8469 device
8470
8471 pUserData: user data will be passed back with the
8472 callback
8473
8474 @see WDI_PostAssocReq
8475 @return Result of the function call
8476*/
8477WDI_Status
8478WDI_WowlEnterReq
8479(
8480 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
8481 WDI_WowlEnterReqCb wdiWowlEnterCb,
8482 void* pUserData
8483);
8484
8485/**
8486 @brief WDI_WowlExitReq will be called when the upper MAC
8487 wants to exit the Wowl state. Upon the call of this API
8488 the WLAN DAL will pack and send a HAL Wowl exit request
8489 message to the lower RIVA sub-system if DAL is in state
8490 STARTED.
8491
8492 In state BUSY this request will be queued. Request won't
8493 be allowed in any other state.
8494
8495 WDI_WowlEnterReq must have been called.
8496
8497 @param pwdiWowlExitReqParams: the Wowl exit info as
8498 specified by the Device Interface
8499
8500 wdiWowlExitReqCb: callback for passing back the response
8501 of the exit Wowl operation received from the device
8502
8503 pUserData: user data will be passed back with the
8504 callback
8505
8506 @see WDI_WowlEnterReq
8507 @return Result of the function call
8508*/
8509WDI_Status
8510WDI_WowlExitReq
8511(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008512 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008513 WDI_WowlExitReqCb wdiWowlExitCb,
8514 void* pUserData
8515);
8516
8517/**
8518 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
8519 the upper MAC wants to dynamically adjusts the listen
8520 interval based on the WLAN/MSM activity. Upon the call
8521 of this API the WLAN DAL will pack and send a HAL
8522 configure Apps Cpu Wakeup State request message to the
8523 lower RIVA sub-system.
8524
8525 In state BUSY this request will be queued. Request won't
8526 be allowed in any other state.
8527
8528
8529 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
8530 Apps Cpu Wakeup State as specified by the
8531 Device Interface
8532
8533 wdiConfigureAppsCpuWakeupStateCb: callback for passing
8534 back the response of the configure Apps Cpu Wakeup State
8535 operation received from the device
8536
8537 pUserData: user data will be passed back with the
8538 callback
8539
8540 @return Result of the function call
8541*/
8542WDI_Status
8543WDI_ConfigureAppsCpuWakeupStateReq
8544(
8545 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
8546 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
8547 void* pUserData
8548);
8549/**
8550 @brief WDI_FlushAcReq will be called when the upper MAC wants
8551 to to perform a flush operation on a given AC. Upon the
8552 call of this API the WLAN DAL will pack and send a HAL
8553 Flush AC request message to the lower RIVA sub-system if
8554 DAL is in state STARTED.
8555
8556 In state BUSY this request will be queued. Request won't
8557 be allowed in any other state.
8558
8559
8560 @param pwdiFlushAcReqParams: the Flush AC parameters as
8561 specified by the Device Interface
8562
8563 wdiFlushAcRspCb: callback for passing back the response
8564 of the Flush AC operation received from the device
8565
8566 pUserData: user data will be passed back with the
8567 callback
8568
8569 @return Result of the function call
8570*/
8571WDI_Status
8572WDI_FlushAcReq
8573(
8574 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
8575 WDI_FlushAcRspCb wdiFlushAcRspCb,
8576 void* pUserData
8577);
8578
8579/**
8580 @brief WDI_BtAmpEventReq will be called when the upper MAC
8581 wants to notify the lower mac on a BT AMP event. This is
8582 to inform BTC-SLM that some BT AMP event occurred. Upon
8583 the call of this API the WLAN DAL will pack and send a
8584 HAL BT AMP event request message to the lower RIVA
8585 sub-system if DAL is in state STARTED.
8586
8587 In state BUSY this request will be queued. Request won't
8588 be allowed in any other state.
8589
8590
8591 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
8592 specified by the Device Interface
8593
8594 wdiBtAmpEventRspCb: callback for passing back the
8595 response of the BT AMP event operation received from the
8596 device
8597
8598 pUserData: user data will be passed back with the
8599 callback
8600
8601 @return Result of the function call
8602*/
8603WDI_Status
8604WDI_BtAmpEventReq
8605(
8606 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
8607 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
8608 void* pUserData
8609);
8610
Jeff Johnsone7245742012-09-05 17:12:55 -07008611#ifdef FEATURE_OEM_DATA_SUPPORT
8612/**
8613 @brief WDI_Start oem data Req will be called when the upper MAC
8614 wants to notify the lower mac on a oem data Req event.Upon
8615 the call of this API the WLAN DAL will pack and send a
8616 HAL OEM Data Req event request message to the lower RIVA
8617 sub-system if DAL is in state STARTED.
8618
8619 In state BUSY this request will be queued. Request won't
8620 be allowed in any other state.
8621
8622
8623 @param pWdiOemDataReqParams: the oem data req parameters as
8624 specified by the Device Interface
8625
8626 wdiStartOemDataRspCb: callback for passing back the
8627 response of the Oem Data Req received from the
8628 device
8629
8630 pUserData: user data will be passed back with the
8631 callback
8632
8633 @return Result of the function call
8634*/
8635WDI_Status
8636WDI_StartOemDataReq
8637(
8638 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
8639 WDI_oemDataRspCb wdiOemDataRspCb,
8640 void* pUserData
8641);
8642#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07008643
8644/*========================================================================
8645
8646 CONTROL APIs
8647
8648==========================================================================*/
8649/**
8650 @brief WDI_SwitchChReq will be called when the upper MAC wants
8651 the WLAN HW to change the current channel of operation.
8652 Upon the call of this API the WLAN DAL will pack and
8653 send a HAL Start request message to the lower RIVA
8654 sub-system if DAL is in state STARTED.
8655
8656 In state BUSY this request will be queued. Request won't
8657 be allowed in any other state.
8658
8659 WDI_Start must have been called.
8660
8661 @param wdiSwitchChReqParams: the switch ch parameters as
8662 specified by the Device Interface
8663
8664 wdiSwitchChRspCb: callback for passing back the response
8665 of the switch ch operation received from the device
8666
8667 pUserData: user data will be passed back with the
8668 callback
8669
8670 @see WDI_Start
8671 @return Result of the function call
8672*/
8673WDI_Status
8674WDI_SwitchChReq
8675(
8676 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
8677 WDI_SwitchChRspCb wdiSwitchChRspCb,
8678 void* pUserData
8679);
8680
8681
8682
8683/**
8684 @brief WDI_ConfigSTAReq will be called when the upper MAC
8685 wishes to add or update a STA in HW. Upon the call of
8686 this API the WLAN DAL will pack and send a HAL Start
8687 message request message to the lower RIVA sub-system if
8688 DAL is in state STARTED.
8689
8690 In state BUSY this request will be queued. Request won't
8691 be allowed in any other state.
8692
8693 WDI_Start must have been called.
8694
8695 @param wdiConfigSTAReqParams: the config STA parameters as
8696 specified by the Device Interface
8697
8698 wdiConfigSTARspCb: callback for passing back the
8699 response of the config STA operation received from the
8700 device
8701
8702 pUserData: user data will be passed back with the
8703 callback
8704
8705 @see WDI_Start
8706 @return Result of the function call
8707*/
8708WDI_Status
8709WDI_ConfigSTAReq
8710(
8711 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
8712 WDI_ConfigSTARspCb wdiConfigSTARspCb,
8713 void* pUserData
8714);
8715
8716/**
8717 @brief WDI_SetLinkStateReq will be called when the upper MAC
8718 wants to change the state of an ongoing link. Upon the
8719 call of this API the WLAN DAL will pack and send a HAL
8720 Start message request message to the lower RIVA
8721 sub-system if DAL is in state STARTED.
8722
8723 In state BUSY this request will be queued. Request won't
8724 be allowed in any other state.
8725
8726 WDI_JoinReq must have been called.
8727
8728 @param wdiSetLinkStateReqParams: the set link state parameters
8729 as specified by the Device Interface
8730
8731 wdiSetLinkStateRspCb: callback for passing back the
8732 response of the set link state operation received from
8733 the device
8734
8735 pUserData: user data will be passed back with the
8736 callback
8737
8738 @see WDI_JoinStartReq
8739 @return Result of the function call
8740*/
8741WDI_Status
8742WDI_SetLinkStateReq
8743(
8744 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
8745 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
8746 void* pUserData
8747);
8748
8749
8750/**
8751 @brief WDI_GetStatsReq will be called when the upper MAC wants
8752 to get statistics (MIB counters) from the device. Upon
8753 the call of this API the WLAN DAL will pack and send a
8754 HAL Start request message to the lower RIVA sub-system
8755 if DAL is in state STARTED.
8756
8757 In state BUSY this request will be queued. Request won't
8758 be allowed in any other state.
8759
8760 WDI_Start must have been called.
8761
8762 @param wdiGetStatsReqParams: the stats parameters to get as
8763 specified by the Device Interface
8764
8765 wdiGetStatsRspCb: callback for passing back the response
8766 of the get stats operation received from the device
8767
8768 pUserData: user data will be passed back with the
8769 callback
8770
8771 @see WDI_Start
8772 @return Result of the function call
8773*/
8774WDI_Status
8775WDI_GetStatsReq
8776(
8777 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
8778 WDI_GetStatsRspCb wdiGetStatsRspCb,
8779 void* pUserData
8780);
8781
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08008782#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
8783/**
8784 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
8785 to get roam rssi from the device. Upon
8786 the call of this API the WLAN DAL will pack and send a
8787 HAL Start request message to the lower RIVA sub-system
8788 if DAL is in state STARTED.
8789
8790 In state BUSY this request will be queued. Request won't
8791 be allowed in any other state.
8792
8793 WDI_Start must have been called.
8794
8795 @param wdiGetRoamRssiReqParams: the stats parameters to get as
8796 specified by the Device Interface
8797
8798 wdiGetRoamRssispCb: callback for passing back the response
8799 of the get stats operation received from the device
8800
8801 pUserData: user data will be passed back with the
8802 callback
8803
8804 @see WDI_Start
8805 @return Result of the function call
8806*/
8807WDI_Status
8808WDI_GetRoamRssiReq
8809(
8810 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
8811 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
8812 void* pUserData
8813);
8814#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07008815
8816/**
8817 @brief WDI_UpdateCfgReq will be called when the upper MAC when
8818 it wishes to change the configuration of the WLAN
8819 Device. Upon the call of this API the WLAN DAL will pack
8820 and send a HAL Update CFG request message to the lower
8821 RIVA sub-system if DAL is in state STARTED.
8822
8823 In state BUSY this request will be queued. Request won't
8824 be allowed in any other state.
8825
8826 WDI_Start must have been called.
8827
8828 @param wdiUpdateCfgReqParams: the update cfg parameters as
8829 specified by the Device Interface
8830
8831 wdiUpdateCfgsRspCb: callback for passing back the
8832 response of the update cfg operation received from the
8833 device
8834
8835 pUserData: user data will be passed back with the
8836 callback
8837
8838 @see WDI_Start
8839 @return Result of the function call
8840*/
8841WDI_Status
8842WDI_UpdateCfgReq
8843(
8844 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
8845 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
8846 void* pUserData
8847);
8848
8849/**
8850 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
8851 to the NV memory.
8852
8853 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
8854 the Device Interface
8855
8856 wdiNvDownloadRspCb: callback for passing back the response of
8857 the NV Download operation received from the device
8858
8859 pUserData: user data will be passed back with the
8860 callback
8861
8862 @see WDI_PostAssocReq
8863 @return Result of the function call
8864*/
8865WDI_Status
8866WDI_NvDownloadReq
8867(
8868 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
8869 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
8870 void* pUserData
8871);
8872/**
8873 @brief WDI_AddBAReq will be called when the upper MAC has setup
8874 successfully a BA session and needs to notify the HW for
8875 the appropriate settings to take place. Upon the call of
8876 this API the WLAN DAL will pack and send a HAL Add BA
8877 request message to the lower RIVA sub-system if DAL is
8878 in state STARTED.
8879
8880 In state BUSY this request will be queued. Request won't
8881 be allowed in any other state.
8882
8883 WDI_PostAssocReq must have been called.
8884
8885 @param wdiAddBAReqParams: the add BA parameters as specified by
8886 the Device Interface
8887
8888 wdiAddBARspCb: callback for passing back the response of
8889 the add BA operation received from the device
8890
8891 pUserData: user data will be passed back with the
8892 callback
8893
8894 @see WDI_PostAssocReq
8895 @return Result of the function call
8896*/
8897WDI_Status
8898WDI_AddBAReq
8899(
8900 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
8901 WDI_AddBARspCb wdiAddBARspCb,
8902 void* pUserData
8903);
8904
8905/**
8906 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
8907 successfully a BA session and needs to notify the HW for
8908 the appropriate settings to take place. Upon the call of
8909 this API the WLAN DAL will pack and send a HAL Add BA
8910 request message to the lower RIVA sub-system if DAL is
8911 in state STARTED.
8912
8913 In state BUSY this request will be queued. Request won't
8914 be allowed in any other state.
8915
8916 WDI_PostAssocReq must have been called.
8917
8918 @param wdiAddBAReqParams: the add BA parameters as specified by
8919 the Device Interface
8920
8921 wdiAddBARspCb: callback for passing back the response of
8922 the add BA operation received from the device
8923
8924 pUserData: user data will be passed back with the
8925 callback
8926
8927 @see WDI_PostAssocReq
8928 @return Result of the function call
8929*/
8930WDI_Status
8931WDI_TriggerBAReq
8932(
8933 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
8934 WDI_TriggerBARspCb wdiTriggerBARspCb,
8935 void* pUserData
8936);
8937
8938
8939/**
8940 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
8941 frame xtl is enabled for a particular STA.
8942
8943 WDI_PostAssocReq must have been called.
8944
8945 @param uSTAIdx: STA index
8946
8947 @see WDI_PostAssocReq
8948 @return Result of the function call
8949*/
8950wpt_boolean WDI_IsHwFrameTxTranslationCapable
8951(
8952 wpt_uint8 uSTAIdx
8953);
8954
8955#ifdef WLAN_FEATURE_VOWIFI_11R
8956/**
8957 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
8958 the device of a successful add TSpec negotiation for 11r. HW
8959 needs to receive the TSpec Info from the UMAC in order
8960 to configure properly the QoS data traffic. Upon the
8961 call of this API the WLAN DAL will pack and send a HAL
8962 Aggregated Add TS request message to the lower RIVA sub-system if
8963 DAL is in state STARTED.
8964
8965 In state BUSY this request will be queued. Request won't
8966 be allowed in any other state.
8967
8968 WDI_PostAssocReq must have been called.
8969
8970 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
8971 the Device Interface
8972
8973 wdiAggrAddTsRspCb: callback for passing back the response of
8974 the add TS operation received from the device
8975
8976 pUserData: user data will be passed back with the
8977 callback
8978
8979 @see WDI_PostAssocReq
8980 @return Result of the function call
8981*/
8982WDI_Status
8983WDI_AggrAddTSReq
8984(
8985 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
8986 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
8987 void* pUserData
8988);
8989#endif /* WLAN_FEATURE_VOWIFI_11R */
8990/**
8991 @brief WDI_STATableInit - Initializes the STA tables.
8992 Allocates the necesary memory.
8993
8994
8995 @param pWDICtx: pointer to the WLAN DAL context
8996
8997 @see
8998 @return Result of the function call
8999*/
9000
9001WDI_Status WDI_StubRunTest
9002(
9003 wpt_uint8 ucTestNo
9004);
9005
Jeff Johnson295189b2012-06-20 16:38:30 -07009006/**
9007 @brief WDI_FTMCommandReq -
9008 Route FTMRequest Command to HAL
9009
9010 @param ftmCommandReq: FTM request command body
9011 @param ftmCommandRspCb: Response CB
9012 @param pUserData: User data will be included with CB
9013
9014 @return Result of the function call
9015*/
9016WDI_Status WDI_FTMCommandReq
9017(
9018 WDI_FTMCommandReqType *ftmCommandReq,
9019 WDI_FTMCommandRspCb ftmCommandRspCb,
9020 void *pUserData
9021);
Jeff Johnson295189b2012-06-20 16:38:30 -07009022
9023/**
9024 @brief WDI_HostResumeReq will be called
9025
9026 In state BUSY this request will be queued. Request won't
9027 be allowed in any other state.
9028
9029
9030 @param pwdiResumeReqParams: as specified by
9031 the Device Interface
9032
9033 wdiResumeReqRspCb: callback for passing back the response of
9034 the Resume Req received from the device
9035
9036 pUserData: user data will be passed back with the
9037 callback
9038
9039 @see WDI_PostAssocReq
9040 @return Result of the function call
9041*/
9042WDI_Status
9043WDI_HostResumeReq
9044(
9045 WDI_ResumeParamsType* pwdiResumeReqParams,
9046 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9047 void* pUserData
9048);
9049
9050/**
9051 @brief WDI_GetAvailableResCount - Function to get the available resource
9052 for data and managemnt frames.
9053
9054 @param pContext: pointer to the WDI context
9055 @param wdiResPool: type of resource pool requesting
9056 @see
9057 @return Result of the function call
9058*/
9059
9060wpt_uint32 WDI_GetAvailableResCount
9061(
9062 void *pContext,
9063 WDI_ResPoolType wdiResPool
9064);
9065
9066/**
9067 @brief WDI_SetAddSTASelfReq will be called when the
9068 UMAC wanted to add self STA while opening any new session
9069 In state BUSY this request will be queued. Request won't
9070 be allowed in any other state.
9071
9072
9073 @param pwdiAddSTASelfParams: the add self sta parameters as
9074 specified by the Device Interface
9075
9076 pUserData: user data will be passed back with the
9077 callback
9078
9079 @see
9080 @return Result of the function call
9081*/
9082WDI_Status
9083WDI_AddSTASelfReq
9084(
9085 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9086 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9087 void* pUserData
9088);
9089
9090
9091/**
9092 @brief WDI_DelSTASelfReq will be called .
9093
9094 @param WDI_DelSTASelfReqParamsType
9095
9096 WDI_DelSTASelfRspCb: callback for passing back the
9097 response of the del sta self operation received from the
9098 device
9099
9100 pUserData: user data will be passed back with the
9101 callback
9102
9103 @see WDI_PostAssocReq
9104 @return Result of the function call
9105*/
9106WDI_Status
9107WDI_DelSTASelfReq
9108(
9109 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9110 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9111 void* pUserData
9112);
9113
9114/**
9115 @brief WDI_HostSuspendInd
9116
9117 Suspend Indication from the upper layer will be sent
9118 down to HAL
9119
9120 @param WDI_SuspendParamsType
9121
9122 @see
9123
9124 @return Status of the request
9125*/
9126WDI_Status
9127WDI_HostSuspendInd
9128(
9129 WDI_SuspendParamsType* pwdiSuspendIndParams
9130);
9131
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009132/**
9133 @brief WDI_TrafficStatsInd
9134
9135 Traffic Stats from the upper layer will be sent
9136 down to HAL
9137
9138 @param WDI_TrafficStatsIndType
9139
9140 @see
9141
9142 @return Status of the request
9143*/
9144WDI_Status
9145WDI_TrafficStatsInd
9146(
9147 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9148);
9149
Chet Lanctot186b5732013-03-18 10:26:30 -07009150#ifdef WLAN_FEATURE_11W
9151/**
9152 @brief WDI_ExcludeUnencryptedInd
9153 Register with HAL to receive/drop unencrypted frames
9154
9155 @param WDI_ExcludeUnencryptIndType
9156
9157 @see
9158
9159 @return Status of the request
9160*/
9161WDI_Status
9162WDI_ExcludeUnencryptedInd
9163(
9164 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9165);
9166#endif
9167
Jeff Johnson295189b2012-06-20 16:38:30 -07009168#ifdef FEATURE_WLAN_SCAN_PNO
9169/**
9170 @brief WDI_SetPreferredNetworkList
9171
9172 @param pwdiPNOScanReqParams: the Set PNO as specified
9173 by the Device Interface
9174
9175 wdiPNOScanCb: callback for passing back the response
9176 of the Set PNO operation received from the
9177 device
9178
9179 pUserData: user data will be passed back with the
9180 callback
9181
9182 @see WDI_PostAssocReq
9183 @return Result of the function call
9184*/
9185WDI_Status
9186WDI_SetPreferredNetworkReq
9187(
9188 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
9189 WDI_PNOScanCb wdiPNOScanCb,
9190 void* pUserData
9191);
9192
9193/**
9194 @brief WDI_SetRssiFilterReq
9195
9196 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
9197 specified by the Device Interface
9198
9199 wdiRssiFilterCb: callback for passing back the response
9200 of the Set RSSI Filter operation received from the
9201 device
9202
9203 pUserData: user data will be passed back with the
9204 callback
9205
9206 @see WDI_PostAssocReq
9207 @return Result of the function call
9208*/
9209WDI_Status
9210WDI_SetRssiFilterReq
9211(
9212 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
9213 WDI_RssiFilterCb wdiRssiFilterCb,
9214 void* pUserData
9215);
9216
9217/**
9218 @brief WDI_UpdateScanParams
9219
9220 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
9221 by the Device Interface
9222
9223 wdiUpdateScanParamsCb: callback for passing back the response
9224 of the Set PNO operation received from the
9225 device
9226
9227 pUserData: user data will be passed back with the
9228 callback
9229
9230 @see WDI_PostAssocReq
9231 @return Result of the function call
9232*/
9233WDI_Status
9234WDI_UpdateScanParamsReq
9235(
9236 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
9237 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
9238 void* pUserData
9239);
9240#endif // FEATURE_WLAN_SCAN_PNO
9241
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009242#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
9243/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009244 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009245
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009246 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009247 by the Device Interface
9248
9249 wdiRoamOffloadScanCb: callback for passing back the response
9250 of the Start Roam Candidate Lookup operation received from the
9251 device
9252
9253 pUserData: user data will be passed back with the
9254 callback
9255
9256 @return Result of the function call
9257*/
9258WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009259WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009260(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009261 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009262 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
9263 void* pUserData
9264);
9265#endif
9266
Jeff Johnson295189b2012-06-20 16:38:30 -07009267/**
9268 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
9269 wants to set the Tx Per Tracking configurations.
9270 Upon the call of this API the WLAN DAL will pack
9271 and send a HAL Set Tx Per Tracking request message to the
9272 lower RIVA sub-system if DAL is in state STARTED.
9273
9274 In state BUSY this request will be queued. Request won't
9275 be allowed in any other state.
9276
9277 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
9278 specified by the Device Interface
9279
9280 wdiSetTxPerTrackingCb: callback for passing back the
9281 response of the set Tx PER Tracking configurations operation received
9282 from the device
9283
9284 pUserData: user data will be passed back with the
9285 callback
9286
9287 @return Result of the function call
9288*/
9289WDI_Status
9290WDI_SetTxPerTrackingReq
9291(
9292 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
9293 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
9294 void* pUserData
9295);
9296
9297/**
9298 @brief WDI_SetTmLevelReq
9299 If HW Thermal condition changed, driver should react based on new
9300 HW thermal condition.
9301
9302 @param pwdiSetTmLevelReq: New thermal condition information
9303
9304 pwdiSetTmLevelRspCb: callback
9305
9306 usrData: user data will be passed back with the
9307 callback
9308
9309 @return Result of the function call
9310*/
9311WDI_Status
9312WDI_SetTmLevelReq
9313(
9314 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
9315 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
9316 void *usrData
9317);
9318
9319#ifdef WLAN_FEATURE_PACKET_FILTERING
9320/**
9321 @brief WDI_8023MulticastListReq
9322
9323 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
9324 List as specified by the Device Interface
9325
9326 wdi8023MulticastListCallback: callback for passing back
9327 the response of the Set 8023 Multicast List operation
9328 received from the device
9329
9330 pUserData: user data will be passed back with the
9331 callback
9332
9333 @see WDI_PostAssocReq
9334 @return Result of the function call
9335*/
9336WDI_Status
9337WDI_8023MulticastListReq
9338(
9339 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
9340 WDI_8023MulticastListCb wdi8023MulticastListCallback,
9341 void* pUserData
9342);
9343
9344/**
9345 @brief WDI_ReceiveFilterSetFilterReq
9346
9347 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
9348 specified by the Device Interface
9349
9350 wdiReceiveFilterSetFilterReqCallback: callback for
9351 passing back the response of the Set Receive Filter
9352 operation received from the device
9353
9354 pUserData: user data will be passed back with the
9355 callback
9356
9357 @see WDI_PostAssocReq
9358 @return Result of the function call
9359*/
9360WDI_Status
9361WDI_ReceiveFilterSetFilterReq
9362(
9363 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
9364 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
9365 void* pUserData
9366);
9367
9368/**
9369 @brief WDI_PCFilterMatchCountReq
9370
9371 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
9372 Count
9373
9374 wdiPCFilterMatchCountCallback: callback for passing back
9375 the response of the D0 PC Filter Match Count operation
9376 received from the device
9377
9378 pUserData: user data will be passed back with the
9379 callback
9380
9381 @see WDI_PostAssocReq
9382 @return Result of the function call
9383*/
9384WDI_Status
9385WDI_FilterMatchCountReq
9386(
9387 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
9388 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
9389 void* pUserData
9390);
9391
9392/**
9393 @brief WDI_ReceiveFilterClearFilterReq
9394
9395 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
9396 specified by the Device Interface
9397
9398 wdiReceiveFilterClearFilterCallback: callback for
9399 passing back the response of the Clear Filter
9400 operation received from the device
9401
9402 pUserData: user data will be passed back with the
9403 callback
9404
9405 @see WDI_PostAssocReq
9406 @return Result of the function call
9407*/
9408WDI_Status
9409WDI_ReceiveFilterClearFilterReq
9410(
9411 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
9412 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
9413 void* pUserData
9414);
9415#endif // WLAN_FEATURE_PACKET_FILTERING
9416
9417/**
9418 @brief WDI_HALDumpCmdReq
9419 Post HAL DUMP Command Event
9420
9421 @param halDumpCmdReqParams: Hal Dump Command Body
9422 @param halDumpCmdRspCb: callback for passing back the
9423 response
9424 @param pUserData: Client Data
9425
9426 @see
9427 @return Result of the function call
9428*/
9429WDI_Status WDI_HALDumpCmdReq(
9430 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
9431 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
9432 void *pUserData
9433);
9434
9435
9436/**
9437 @brief WDI_SetPowerParamsReq
9438
9439 @param pwdiPowerParamsReqParams: the Set Power Params as
9440 specified by the Device Interface
9441
9442 wdiPowerParamsCb: callback for passing back the response
9443 of the Set Power Params operation received from the
9444 device
9445
9446 pUserData: user data will be passed back with the
9447 callback
9448
9449 @return Result of the function call
9450*/
9451WDI_Status
9452WDI_SetPowerParamsReq
9453(
9454 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
9455 WDI_SetPowerParamsCb wdiPowerParamsCb,
9456 void* pUserData
9457);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05309458/**
9459 @brief WDI_dhcpStartInd
9460 Forward the DHCP Start event
9461
9462 @param
9463
9464 wdiDHCPInd: device mode and MAC address is passed
9465
9466 @see
9467 @return Result of the function call
9468*/
9469
9470WDI_Status
9471WDI_dhcpStartInd
9472(
9473 WDI_DHCPInd *wdiDHCPInd
9474);
9475/**
9476 @brief WDI_dhcpStopReq
9477 Forward the DHCP Stop event
9478
9479 @param
9480
9481 wdiDHCPInd: device mode and MAC address is passed
9482
9483 @see
9484 @return Result of the function call
9485*/
9486
9487WDI_Status
9488WDI_dhcpStopInd
9489(
9490 WDI_DHCPInd *wdiDHCPInd
9491);
Jeff Johnson295189b2012-06-20 16:38:30 -07009492
9493#ifdef WLAN_FEATURE_GTK_OFFLOAD
9494/**
9495 @brief WDI_GTKOffloadReq will be called when the upper MAC
9496 wants to set GTK Rekey Counter while in power save. Upon
9497 the call of this API the WLAN DAL will pack and send a
9498 HAL GTK offload request message to the lower RIVA
9499 sub-system if DAL is in state STARTED.
9500
9501 In state BUSY this request will be queued. Request won't
9502 be allowed in any other state.
9503
9504 WDI_PostAssocReq must have been called.
9505
9506 @param pwdiGtkOffloadParams: the GTK offload as specified
9507 by the Device Interface
9508
9509 wdiGtkOffloadCb: callback for passing back the response
9510 of the GTK offload operation received from the device
9511
9512 pUserData: user data will be passed back with the
9513 callback
9514
9515 @see WDI_PostAssocReq
9516 @return Result of the function call
9517*/
9518WDI_Status
9519WDI_GTKOffloadReq
9520(
9521 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
9522 WDI_GtkOffloadCb wdiGtkOffloadCb,
9523 void* pUserData
9524);
9525
9526/**
9527 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
9528 MAC wants to get GTK Rekey Counter while in power save.
9529 Upon the call of this API the WLAN DAL will pack and
9530 send a HAL GTK offload request message to the lower RIVA
9531 sub-system if DAL is in state STARTED.
9532
9533 In state BUSY this request will be queued. Request won't
9534 be allowed in any other state.
9535
9536 WDI_PostAssocReq must have been called.
9537
9538 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
9539 Information Message as specified by the
9540 Device Interface
9541
9542 wdiGtkOffloadGetInfoCb: callback for passing back the
9543 response of the GTK offload operation received from the
9544 device
9545
9546 pUserData: user data will be passed back with the
9547 callback
9548
9549 @see WDI_PostAssocReq
9550 @return Result of the function call
9551*/
9552WDI_Status
9553WDI_GTKOffloadGetInfoReq
9554(
9555 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
9556 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
9557 void* pUserData
9558);
9559#endif // WLAN_FEATURE_GTK_OFFLOAD
9560
9561/**
9562 @brief WDI_featureCapsExchangeReq
9563 Post feature capability bitmap exchange event.
9564 Host will send its own capability to FW in this req and
9565 expect FW to send its capability back as a bitmap in Response
9566
9567 @param
9568
9569 wdiFeatCapsExcRspCb: callback called on getting the response.
9570 It is kept to mantain similarity between WDI reqs and if needed, can
9571 be used in future. Currently, It is set to NULL
9572
9573 pUserData: user data will be passed back with the
9574 callback
9575
9576 @see
9577 @return Result of the function call
9578*/
9579WDI_Status
9580WDI_featureCapsExchangeReq
9581(
9582 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
9583 void* pUserData
9584);
9585
9586/**
Yathish9f22e662012-12-10 14:21:35 -08009587 @brief Disable Active mode offload in Host
9588
9589 @param void
9590 @see
9591 @return void
9592*/
9593void
9594WDI_disableCapablityFeature(wpt_uint8 feature_index);
9595
9596
9597/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009598 @brief WDI_getHostWlanFeatCaps
9599 WDI API that returns whether the feature passed to it as enum value in
9600 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
9601 variable storing host capability bitmap to find this. This can be used by
9602 other moduels to decide certain things like call different APIs based on
9603 whether a particular feature is supported.
9604
9605 @param
9606
9607 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
9608
9609 @see
9610 @return
9611 0 - if the feature is NOT supported in host
9612 any non-zero value - if the feature is SUPPORTED in host.
9613*/
9614wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
9615
9616/**
9617 @brief WDI_getFwWlanFeatCaps
9618 WDI API that returns whether the feature passed to it as enum value in
9619 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
9620 variable storing host capability bitmap to find this. This can be used by
9621 other moduels to decide certain things like call different APIs based on
9622 whether a particular feature is supported.
9623
9624 @param
9625
Jeff Johnsone7245742012-09-05 17:12:55 -07009626 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
9627 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -07009628
9629 @see
9630 @return
9631 0 - if the feature is NOT supported in FW
9632 any non-zero value - if the feature is SUPPORTED in FW.
9633*/
9634wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
9635
9636/**
9637 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
9638 api version
9639
9640 @param WDI_WlanVersionType: Wlan version structure
9641 @see
9642 @return none
9643*/
9644
9645void WDI_GetWcnssCompiledApiVersion
9646(
9647 WDI_WlanVersionType *pWcnssApiVersion
9648);
9649
Mohit Khanna4a70d262012-09-11 16:30:12 -07009650#ifdef WLAN_FEATURE_11AC
9651WDI_Status
9652WDI_UpdateVHTOpModeReq
9653(
9654 WDI_UpdateVHTOpMode *pData,
9655 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
9656 void* pUserData
9657);
Jeff Johnson295189b2012-06-20 16:38:30 -07009658
Mohit Khanna4a70d262012-09-11 16:30:12 -07009659#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009660
9661/**
9662 @brief WDI_TransportChannelDebug -
9663 Display DXE Channel debugging information
9664 User may request to display DXE channel snapshot
9665 Or if host driver detects any abnormal stcuk may display
9666
Jeff Johnsonb88db982012-12-10 13:34:59 -08009667 @param displaySnapshot : Display DXE snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009668 @param enableStallDetect : Enable stall detect feature
9669 This feature will take effect to data performance
9670 Not integrate till fully verification
9671 @see
9672 @return none
9673*/
9674void WDI_TransportChannelDebug
9675(
9676 wpt_boolean displaySnapshot,
Madan Mohan Koyyalamudi24a00f92012-10-22 15:21:02 -07009677 wpt_boolean toggleStallDetect
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009678);
9679
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -07009680/**
9681 @brief WDI_SsrTimerCB
9682 Callback function for SSR timer, if this is called then the graceful
9683 shutdown for Riva did not happen.
9684
9685 @param pUserData : user data to timer
9686
9687 @see
9688 @return none
9689*/
9690void
9691WDI_SsrTimerCB
9692(
9693 void *pUserData
9694);
9695
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07009696/**
9697 @brief WDI_SetEnableSSR -
9698 This API is called to enable/disable SSR on WDI timeout.
9699
9700 @param enableSSR : enable/disable SSR
9701
9702 @see
9703 @return none
9704*/
9705void WDI_SetEnableSSR(wpt_boolean enableSSR);
9706
Jeff Johnson295189b2012-06-20 16:38:30 -07009707#ifdef __cplusplus
9708 }
9709#endif
9710
9711
9712#endif /* #ifndef WLAN_QCT_WDI_H */