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