blob: e36151a1b8adb3e9cec0c04c69da6af5303c857c [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302 * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
Kiet Lam1ed83fc2014-02-19 01:15:45 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Kiet Lam1ed83fc2014-02-19 01:15:45 -080026 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Jeff Johnson295189b2012-06-20 16:38:30 -070031#ifndef WLAN_QCT_WDI_H
32#define WLAN_QCT_WDI_H
33
34/*===========================================================================
35
36 W L A N D E V I C E A B S T R A C T I O N L A Y E R
37 E X T E R N A L A P I
38
39
40DESCRIPTION
41 This file contains the external API exposed by the wlan transport layer
42 module.
43
44
Jeff Johnson295189b2012-06-20 16:38:30 -070045===========================================================================*/
46
47
48/*===========================================================================
49
50 EDIT HISTORY FOR FILE
51
52
53 This section contains comments describing changes made to the module.
54 Notice that changes are listed in reverse chronological order.
55
56
57 $Header:$ $DateTime: $ $Author: $
58
59
60when who what, where, why
61-------- --- ----------------------------------------------------------
6210/05/11 hap Adding support for Keep Alive
6308/04/10 lti Created module.
64
65===========================================================================*/
66
67
68
69/*===========================================================================
70
71 INCLUDE FILES FOR MODULE
72
73===========================================================================*/
74
75/*----------------------------------------------------------------------------
76 * Include Files
77 * -------------------------------------------------------------------------*/
78#include "wlan_qct_pal_api.h"
79#include "wlan_qct_pal_type.h"
80#include "wlan_qct_pack_align.h"
81#include "wlan_qct_wdi_cfg.h"
82
83/*----------------------------------------------------------------------------
84 * Preprocessor Definitions and Constants
85 * -------------------------------------------------------------------------*/
86#ifdef __cplusplus
87 extern "C" {
88#endif
89
90/* MAC ADDRESS LENGTH - per spec*/
91#define WDI_MAC_ADDR_LEN 6
92
93/* Max number of 11b rates -> 1,2,5.5,11 */
94#define WDI_NUM_11B_RATES 4
95
96/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
97#define WDI_NUM_11A_RATES 8
98
99/* Max number of legacy rates -> 72, 96, 108*/
100#define WDI_NUM_POLARIS_RATES 3
101
102/* Max supported MCS set*/
103#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
104
105/*Max number of Access Categories for QoS - per spec */
106#define WDI_MAX_NO_AC 4
107
108/*Max. size for reserving the Beacon Template */
109#define WDI_BEACON_TEMPLATE_SIZE 0x180
110
111#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
112
113#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
114
115#define WDI_MAX_SSID_SIZE 32
116
117/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
118from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
119of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
120
121#define FRAGMENT_SIZE 3072
122
123/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800124#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700125
126/* Beacon Filter Length*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530127#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
130#define WDI_COEX_IND_DATA_SIZE (4)
131
132#define WDI_CIPHER_SEQ_CTR_SIZE 6
133
134#define WDI_NUM_BSSID 2
135
136/*Version string max length (including NUL) */
137#define WDI_VERSION_LENGTH 64
138
139
140/*WDI Response timeout - how long will WDI wait for a response from the device
141 - it should be large enough to allow any other failure mechanism to kick
142 in before we get to a timeout (ms units)*/
143#define WDI_RESPONSE_TIMEOUT 10000
144
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700145/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
146 * Apps initiated SSR will be performed */
147#define WDI_SSR_TIMEOUT 5000
148
Jeff Johnson295189b2012-06-20 16:38:30 -0700149#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
150
Yue Mab9c86f42013-08-14 15:59:08 -0700151/* Periodic Tx pattern offload feature */
152#define PERIODIC_TX_PTRN_MAX_SIZE 1536
153#define MAXNUM_PERIODIC_TX_PTRNS 6
Srinivas Dasari4dae48f2014-11-26 21:14:16 +0530154#define WDI_DISA_MAX_PAYLOAD_SIZE 1600
Siddharth Bhald1be97f2015-05-27 22:39:59 +0530155#define MAX_NUM_OF_BUFFER 3
Karthick Sa6616c32015-07-22 14:49:02 +0530156#define VALID_FW_LOG_TYPES 2
Karthick Sed59a282015-08-10 14:52:16 +0530157#define MAX_LOG_BUFFER_LENGTH 128 * 1024
Yue Mab9c86f42013-08-14 15:59:08 -0700158
Jeff Johnson295189b2012-06-20 16:38:30 -0700159/*============================================================================
160 * GENERIC STRUCTURES
161
162============================================================================*/
163
164/*---------------------------------------------------------------------------
165 WDI Version Information
166---------------------------------------------------------------------------*/
167typedef struct
168{
169 wpt_uint8 revision;
170 wpt_uint8 version;
171 wpt_uint8 minor;
172 wpt_uint8 major;
173} WDI_WlanVersionType;
174
175/*---------------------------------------------------------------------------
176 WDI Device Capability
177---------------------------------------------------------------------------*/
178typedef struct
179{
180 /*If this flag is true it means that the device can support 802.3/ETH2 to
181 802.11 translation*/
182 wpt_boolean bFrameXtlSupported;
183
184 /*Maximum number of BSSes supported by the Device */
185 wpt_uint8 ucMaxBSSSupported;
186
187 /*Maximum number of stations supported by the Device */
188 wpt_uint8 ucMaxSTASupported;
189}WDI_DeviceCapabilityType;
190
191/*---------------------------------------------------------------------------
192 WDI Channel Offset
193---------------------------------------------------------------------------*/
194typedef enum
195{
196 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
197 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700198 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
199#ifdef WLAN_FEATURE_11AC
200 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
202 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
203 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
204 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
205 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
206 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
207#endif
208 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700209}WDI_HTSecondaryChannelOffset;
210
211/*---------------------------------------------------------------------------
212 WDI_MacFrameCtl
213 Frame control field format (2 bytes)
214---------------------------------------------------------------------------*/
215typedef struct
216{
217 wpt_uint8 protVer :2;
218 wpt_uint8 type :2;
219 wpt_uint8 subType :4;
220
221 wpt_uint8 toDS :1;
222 wpt_uint8 fromDS :1;
223 wpt_uint8 moreFrag :1;
224 wpt_uint8 retry :1;
225 wpt_uint8 powerMgmt :1;
226 wpt_uint8 moreData :1;
227 wpt_uint8 wep :1;
228 wpt_uint8 order :1;
229
230} WDI_MacFrameCtl;
231
232/*---------------------------------------------------------------------------
233 WDI Sequence control field
234---------------------------------------------------------------------------*/
235typedef struct
236{
237 wpt_uint8 fragNum : 4;
238 wpt_uint8 seqNumLo : 4;
239 wpt_uint8 seqNumHi : 8;
240} WDI_MacSeqCtl;
241
242/*---------------------------------------------------------------------------
243 Management header format
244---------------------------------------------------------------------------*/
245typedef struct
246{
247 WDI_MacFrameCtl fc;
248 wpt_uint8 durationLo;
249 wpt_uint8 durationHi;
250 wpt_uint8 da[WDI_MAC_ADDR_LEN];
251 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
252 wpt_macAddr bssId;
253 WDI_MacSeqCtl seqControl;
254} WDI_MacMgmtHdr;
255
256/*---------------------------------------------------------------------------
257 NV Blob management sturcture
258 ---------------------------------------------------------------------------*/
259
260typedef struct
261{
262 /* NV image fragments count */
263 wpt_uint16 usTotalFragment;
264
265 /* NV fragment size */
266 wpt_uint16 usFragmentSize;
267
268 /* current fragment to be sent */
269 wpt_uint16 usCurrentFragment;
270
271} WDI_NvBlobInfoParams;
272
273
274/*---------------------------------------------------------------------------
275 Data path enums memory pool resource
276 ---------------------------------------------------------------------------*/
277
278typedef enum
279{
280 /* managment resource pool ID */
281 WDI_MGMT_POOL_ID = 0,
282 /* Data resource pool ID */
283 WDI_DATA_POOL_ID = 1
284}WDI_ResPoolType;
285
286/*============================================================================
287 * GENERIC STRUCTURES - END
288 ============================================================================*/
289
290/*----------------------------------------------------------------------------
291 * Type Declarations
292 * -------------------------------------------------------------------------*/
293/*---------------------------------------------------------------------------
294 WDI Status
295---------------------------------------------------------------------------*/
296typedef enum
297{
298 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
299 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
300 synchronous way - no rsp will be generated*/
301 WDI_STATUS_PENDING, /* Operation result is pending and will be
302 provided asynchronously through the Req Status
303 Callback */
304 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
305 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
306 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
307 failure*/
308 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
309 of the driver*/
310 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
311
312 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
313 WDI_STATUS_MAX
314
315}WDI_Status;
316
317
318/*---------------------------------------------------------------------------
319 WDI_ReqStatusCb
320
321 DESCRIPTION
322
323 This callback is invoked by DAL to deliver to UMAC the result of posting
324 a previous request for which the return status was PENDING.
325
326 PARAMETERS
327
328 IN
329 wdiStatus: response status received from the Control Transport
330 pUserData: user data
331
332
333
334 RETURN VALUE
335 The result code associated with performing the operation
336---------------------------------------------------------------------------*/
337typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
338 void* pUserData);
339
340/*---------------------------------------------------------------------------
341 WDI_LowLevelIndEnumType
342 Types of indication that can be posted to UMAC by DAL
343---------------------------------------------------------------------------*/
344typedef enum
345{
346 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
347 passed. */
348 WDI_RSSI_NOTIFICATION_IND,
349
350 /*Link loss in the low MAC */
351 WDI_MISSED_BEACON_IND,
352
353 /*when hardware has signaled an unknown addr2 frames. The indication will
354 contain info from frames to be passed to the UMAC, this may use this info to
355 deauth the STA*/
356 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
357
358 /*MIC Failure detected by HW*/
359 WDI_MIC_FAILURE_IND,
360
361 /*Fatal Error Ind*/
362 WDI_FATAL_ERROR_IND,
363
364 /*Delete Station Ind*/
365 WDI_DEL_STA_IND,
366
367 /*Indication from Coex*/
368 WDI_COEX_IND,
369
370 /* Indication for Tx Complete */
371 WDI_TX_COMPLETE_IND,
372
373 /*.P2P_NOA_Attr_Indication */
374 WDI_P2P_NOA_ATTR_IND,
375
376 /* Preferred Network Found Indication */
377 WDI_PREF_NETWORK_FOUND_IND,
378
379 WDI_WAKE_REASON_IND,
380
381 /* Tx PER Tracking Indication */
382 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800383
Viral Modid86bde22012-12-10 13:09:21 -0800384 /* P2P_NOA_Start_Indication */
385 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800386
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530387 /* TDLS_Indication */
388 WDI_TDLS_IND,
389
Leo Changd9df8aa2013-09-26 13:32:26 -0700390 /* LPHB Indication from FW to umac */
391 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700392
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700393 /* IBSS Peer Inactivity Indication */
394 WDI_IBSS_PEER_INACTIVITY_IND,
395
Yue Mab9c86f42013-08-14 15:59:08 -0700396 /* Periodic Tx Pattern FW Indication */
397 WDI_PERIODIC_TX_PTRN_FW_IND,
398
Rajeev79dbe4c2013-10-05 11:03:42 +0530399#ifdef FEATURE_WLAN_BATCH_SCAN
400 /*Batch scan result indication from FW*/
401 WDI_BATCH_SCAN_RESULT_IND,
402#endif
403
Leo Chang0b0e45a2013-12-15 15:18:55 -0800404#ifdef FEATURE_WLAN_CH_AVOID
405 WDI_CH_AVOID_IND,
406#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530407#ifdef WLAN_FEATURE_LINK_LAYER_STATS
408 WDI_LL_STATS_RESULTS_IND,
409#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530410#ifdef WLAN_FEATURE_EXTSCAN
411 WDI_EXTSCAN_PROGRESS_IND,
412 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
413 WDI_EXTSCAN_SCAN_RESULT_IND,
414 WDI_EXTSCAN_GET_CAPABILITIES_IND,
415 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
416 WDI_EXTSCAN_SIGN_RSSI_RESULT_IND,
417#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530418 /*Delete BA Ind*/
419 WDI_DEL_BA_IND,
Srinivas Dasari32a79262015-02-19 13:04:49 +0530420 WDI_NAN_EVENT_IND,
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530421 WDI_LOST_LINK_PARAMS_IND,
Jeff Johnson295189b2012-06-20 16:38:30 -0700422 WDI_MAX_IND
423}WDI_LowLevelIndEnumType;
424
425
426/*---------------------------------------------------------------------------
427 WDI_LowRSSIThIndType
428---------------------------------------------------------------------------*/
429typedef struct
430{
431 /*Positive crossing of Rssi Thresh1*/
432 wpt_uint32 bRssiThres1PosCross : 1;
433 /*Negative crossing of Rssi Thresh1*/
434 wpt_uint32 bRssiThres1NegCross : 1;
435 /*Positive crossing of Rssi Thresh2*/
436 wpt_uint32 bRssiThres2PosCross : 1;
437 /*Negative crossing of Rssi Thresh2*/
438 wpt_uint32 bRssiThres2NegCross : 1;
439 /*Positive crossing of Rssi Thresh3*/
440 wpt_uint32 bRssiThres3PosCross : 1;
441 /*Negative crossing of Rssi Thresh3*/
442 wpt_uint32 bRssiThres3NegCross : 1;
443
Srinivasdaaec712012-12-12 15:59:44 -0800444 wpt_uint32 avgRssi : 8;
445 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700446
447}WDI_LowRSSIThIndType;
448
449
450/*---------------------------------------------------------------------------
451 WDI_UnkAddr2FrmRxIndType
452---------------------------------------------------------------------------*/
453typedef struct
454{
455 /*Rx Bd data of the unknown received addr2 frame.*/
456 void* bufRxBd;
457
458 /*Buffer Length*/
459 wpt_uint16 usBufLen;
460}WDI_UnkAddr2FrmRxIndType;
461
462/*---------------------------------------------------------------------------
463 WDI_DeleteSTAIndType
464---------------------------------------------------------------------------*/
465typedef struct
466{
467 /*ASSOC ID, as assigned by UMAC*/
468 wpt_uint16 usAssocId;
469
470 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
471 wpt_uint8 ucSTAIdx;
472
473 /*BSSID of STA*/
474 wpt_macAddr macBSSID;
475
476 /*MAC ADDR of STA*/
477 wpt_macAddr macADDR2;
478
479 /* To unify the keepalive / unknown A2 / tim-based disa*/
480 wpt_uint16 wptReasonCode;
481
482}WDI_DeleteSTAIndType;
483
484/*---------------------------------------------------------------------------
485 WDI_MicFailureIndType
486---------------------------------------------------------------------------*/
487typedef struct
488{
489 /*current BSSID*/
490 wpt_macAddr bssId;
491
492 /*Source mac address*/
493 wpt_macAddr macSrcAddr;
494
495 /*Transmitter mac address*/
496 wpt_macAddr macTaAddr;
497
498 /*Destination mac address*/
499 wpt_macAddr macDstAddr;
500
501 /*Multicast flag*/
502 wpt_uint8 ucMulticast;
503
504 /*First byte of IV*/
505 wpt_uint8 ucIV1;
506
507 /*Key Id*/
508 wpt_uint8 keyId;
509
510 /*Sequence Number*/
511 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
512
513 /*receive address */
514 wpt_macAddr macRxAddr;
515}WDI_MicFailureIndType;
516
517/*---------------------------------------------------------------------------
518 WDI_CoexIndType
519---------------------------------------------------------------------------*/
520typedef struct
521{
522 wpt_uint32 coexIndType;
523 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
524} WDI_CoexIndType;
525
526/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530527 WDI_DHCPInd
528---------------------------------------------------------------------------*/
529
530typedef struct
531{
532 wpt_uint8 device_mode;
533 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
534}WDI_DHCPInd;
535
536/*---------------------------------------------------------------------------
537
Jeff Johnson295189b2012-06-20 16:38:30 -0700538 WDI_MacSSid
539---------------------------------------------------------------------------*/
540typedef struct
541{
542 wpt_uint8 ucLength;
543 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
544} WDI_MacSSid;
545
546#ifdef FEATURE_WLAN_SCAN_PNO
547/*---------------------------------------------------------------------------
548 WDI_PrefNetworkFoundInd
549---------------------------------------------------------------------------*/
550typedef struct
551{
552 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700553 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700554 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700555 wpt_uint8 rssi;
556 wpt_uint16 frameLength;
557 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700558} WDI_PrefNetworkFoundInd;
559#endif // FEATURE_WLAN_SCAN_PNO
560
Jeff Johnson295189b2012-06-20 16:38:30 -0700561/*---------------------------------------------------------------------------
562 *WDI_P2pNoaAttrIndType
563 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700564typedef struct
565{
566 wpt_uint8 ucIndex ;
567 wpt_uint8 ucOppPsFlag ;
568 wpt_uint16 usCtWin ;
569
570 wpt_uint16 usNoa1IntervalCnt;
571 wpt_uint16 usRsvd1 ;
572 wpt_uint32 uslNoa1Duration;
573 wpt_uint32 uslNoa1Interval;
574 wpt_uint32 uslNoa1StartTime;
575
576 wpt_uint16 usNoa2IntervalCnt;
577 wpt_uint16 usRsvd2;
578 wpt_uint32 uslNoa2Duration;
579 wpt_uint32 uslNoa2Interval;
580 wpt_uint32 uslNoa2StartTime;
581
582 wpt_uint32 status;
583}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800584
585/*---------------------------------------------------------------------------
586 *WDI_P2pNoaStartIndType
587 *-------------------------------------------------------------------------*/
588typedef struct
589{
590 wpt_uint32 status;
591 wpt_uint32 bssIdx;
592}WDI_P2pNoaStartIndType;
593
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530594/*---------------------------------------------------------------------------
595 *WDI_TdlsIndType
596 *-------------------------------------------------------------------------*/
597typedef struct
598{
599 wpt_uint16 status;
600 wpt_uint16 assocId;
601 wpt_uint16 staIdx;
602 wpt_uint16 reasonCode;
603}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700604
605#ifdef WLAN_WAKEUP_EVENTS
606/*---------------------------------------------------------------------------
607 WDI_WakeReasonIndType
608---------------------------------------------------------------------------*/
609typedef struct
610{
611 wpt_uint32 ulReason; /* see tWakeReasonType */
612 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
613 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
614 HAL truncates the data (i.e. data packets) this length
615 will be less than the actual length */
616 wpt_uint32 ulActualDataLen; /* actual length of data */
617 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
618 see specific wake type */
619} WDI_WakeReasonIndType;
620#endif // WLAN_WAKEUP_EVENTS
621
Srinivas Dasari32a79262015-02-19 13:04:49 +0530622typedef struct
623{
624 wpt_uint16 event_data_len;
625 wpt_uint8* event_data;
626} WDI_NanEventType;
627
628
Jeff Johnson295189b2012-06-20 16:38:30 -0700629/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800630 WDI_MissedBeaconIndType
631-----------------------------------------------------------------------------*/
632typedef struct
633{
634 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
635} WDI_MissedBeaconIndType;
636
Leo Chang9056f462013-08-01 19:21:11 -0700637#ifdef FEATURE_WLAN_LPHB
638/*---------------------------------------------------------------------------
639 WDI_LPHBTimeoutIndData
640-----------------------------------------------------------------------------*/
641typedef struct
642{
643 wpt_uint8 bssIdx;
644 wpt_uint8 sessionIdx;
645 wpt_uint8 protocolType; /*TCP or UDP*/
646 wpt_uint8 eventReason;
647} WDI_LPHBTimeoutIndData;
648#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800649
Yue Mab9c86f42013-08-14 15:59:08 -0700650/*-----------------------------------------------------------------------------
651WDI_PeriodicTxPtrnFwIndType
652-----------------------------------------------------------------------------*/
653typedef struct
654{
655 wpt_uint8 bssIdx;
656 wpt_uint32 selfStaIdx;
657 wpt_uint32 status;
658 wpt_uint32 patternIdBitmap;
659} WDI_PeriodicTxPtrnFwIndType;
660
Rajeev79dbe4c2013-10-05 11:03:42 +0530661#ifdef FEATURE_WLAN_BATCH_SCAN
662/*---------------------------------------------------------------------------
663 WDI_SetBatchScanReqType
664---------------------------------------------------------------------------*/
665typedef struct
666{
667 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
668 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
669 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
670 wpt_uint8 rfBand; /* band to scan :
671 0 ->both Band, 1->2.4Ghz Only
672 and 2-> 5GHz Only */
673 wpt_uint32 rtt; /* set if required to do RTT it is not
674 supported in current version */
675}WDI_SetBatchScanReqType;
676
677/*---------------------------------------------------------------------------
678 WDI_SetBatchScanRspType
679---------------------------------------------------------------------------*/
680typedef struct
681{
682 /*max number of scans which FW can cache*/
683 wpt_uint32 nScansToBatch;
684}WDI_SetBatchScanRspType;
685
686/*---------------------------------------------------------------------------
687 WDI_TriggerBatchScanResultIndType
688---------------------------------------------------------------------------*/
689typedef struct
690{
691 wpt_uint32 param;
692}WDI_TriggerBatchScanResultIndType;
693
694/*---------------------------------------------------------------------------
695 WDI_StopBatchScanIndType
696---------------------------------------------------------------------------*/
697typedef struct
698{
699 /*max number of scans which FW can cache*/
700 wpt_uint32 param;
701}WDI_StopBatchScanIndType;
702
703
704/*---------------------------------------------------------------------------
705 * WDI_BatchScanResultIndType
706 *--------------------------------------------------------------------------*/
707typedef struct
708{
709 wpt_uint32 bssid[6]; /* BSSID */
710 wpt_uint32 ssid[32]; /* SSID */
711 wpt_uint32 ch; /* Channel */
712 wpt_uint32 rssi; /* RSSI or Level */
713 /* Timestamp when Network was found. Used to calculate age based on
714 timestamp in GET_RSP msg header */
715 wpt_uint32 timestamp;
716} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
717
718typedef struct
719{
720 wpt_uint32 scanId; /*Scan List ID*/
721 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
722 wpt_uint32 numNetworksInScanList;
723 /*Variable data ptr: Number of AP in Scan List*/
724 wpt_uint32 scanList[1];
725} tWDIBatchScanList, *tpWDIBatchScanList;
726
727typedef struct
728{
729 wpt_uint32 timestamp;
730 wpt_uint32 numScanLists;
731 wpt_boolean isLastResult;
732 /* Variable Data ptr: Number of Scan Lists*/
733 wpt_uint32 scanResults[1];
734} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
735
736#endif
737
738
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530739typedef struct
740{
741 wpt_uint8 bssIdx;
742 wpt_uint8 rssi;
743 wpt_uint8 selfMacAddr[WDI_MAC_ADDR_LEN];
744 wpt_uint32 linkFlCnt;
745 wpt_uint32 linkFlTx;
746 wpt_uint32 lastDataRate;
747 wpt_uint32 rsvd1;
748 wpt_uint32 rsvd2;
749
750}WDI_LostLinkParamsIndType;
751
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800752/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700753 WDI_IbssPeerInactivityIndType
754-----------------------------------------------------------------------------*/
755typedef struct
756{
757 wpt_uint8 bssIdx;
758 wpt_uint8 staIdx;
759 wpt_macAddr staMacAddr;
760}WDI_IbssPeerInactivityIndType;
761
762/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700763 WDI_TxRateFlags
764-----------------------------------------------------------------------------*/
765typedef enum
766{
767 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
768 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
769 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
770 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
771 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
772 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
773 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
774 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
775 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
776} WDI_TxRateFlags;
777
778/*---------------------------------------------------------------------------
779 WDI_RateUpdateIndParams
780-----------------------------------------------------------------------------*/
781typedef struct
782{
783 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
784 * param ucastDataRate can be used to control RA behavior of unicast data to
785 */
786 wpt_int32 ucastDataRate;
787
788 /* TX flag to differentiate between HT20, HT40 etc */
789 WDI_TxRateFlags ucastDataRateTxFlag;
790
791 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
792 wpt_macAddr bssid;
793
794 /*
795 * 0 implies MCAST RA, positive value implies fixed rate,
796 * -1 implies ignore this param
797 */
798 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
799
800 /* TX flag to differentiate between HT20, HT40 etc */
801 WDI_TxRateFlags reliableMcastDataRateTxFlag;
802
803 /*
804 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
805 * 0 implies ignore
806 */
807 wpt_uint32 mcastDataRate24GHz;
808
809 /* TX flag to differentiate between HT20, HT40 etc */
810 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
811
812 /*
813 * MCAST(or BCAST) fixed data rate in 5 GHz,
814 * unit Mbpsx10, 0 implies ignore
815 */
816 wpt_uint32 mcastDataRate5GHz;
817
818 /* TX flag to differentiate between HT20, HT40 etc */
819 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
820
821 /*
822 * Request status callback offered by UMAC - it is called if the current
823 * req has returned PENDING as status; it delivers the status of sending
824 * the message over the BUS
825 */
826 WDI_ReqStatusCb wdiReqStatusCB;
827
828 /*
829 * The user data passed in by UMAC, it will be sent back when the above
830 * function pointer will be called
831 */
832 void *pUserData;
833
834} WDI_RateUpdateIndParams;
835
Abhishek Singh85b74712014-10-08 11:38:19 +0530836typedef struct
837{
838 wpt_uint32 ubsp_enter_cnt;
839 wpt_uint32 ubsp_jump_ddr_cnt;
840}ubspFwStats;
841
842typedef struct
843{
844 wpt_uint32 type;
845 /*data*/
846 union{
847 ubspFwStats ubspStats;
848 }wdiFwStatsData;
849} WDI_FWStatsResults;
850
Leo Chang0b0e45a2013-12-15 15:18:55 -0800851#ifdef FEATURE_WLAN_CH_AVOID
Abhishek Singhe34eb552015-06-18 10:12:15 +0530852#define WDI_CH_AVOID_MAX_RANGE 15
Leo Chang0b0e45a2013-12-15 15:18:55 -0800853
854typedef struct
855{
856 wpt_uint32 startFreq;
857 wpt_uint32 endFreq;
858} WDI_ChAvoidFreqType;
859
860typedef struct
861{
862 wpt_uint32 avoidRangeCount;
863 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
864} WDI_ChAvoidIndType;
865#endif /* FEATURE_WLAN_CH_AVOID */
866
Dino Mycled3d50022014-07-07 12:58:25 +0530867#ifdef WLAN_FEATURE_LINK_LAYER_STATS
868typedef struct
869{
870 void *pLinkLayerStatsResults;
871 wpt_macAddr macAddr;
872} WDI_LinkLayerStatsResults;
873
874#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530875
876typedef struct
877{
878 /*STA Index*/
879 wpt_uint16 staIdx;
880
881 /*Peer MAC*/
882 wpt_macAddr peerMacAddr;
883
884 // TID for which a BA session timeout is being triggered
885 wpt_uint8 baTID;
886 // DELBA direction
887 // 1 - Originator
888 // 0 - Recipient
889 wpt_uint8 baDirection;
890 wpt_uint32 reasonCode;
891 /*MAC ADDR of STA*/
892 wpt_macAddr bssId; // TO SUPPORT BT-AMP
893} WDI_DeleteBAIndType;
894
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530895typedef struct
896{
897 wpt_uint32 tx_complete_status;
898 wpt_uint32 tx_bd_token;
899} WDI_TxBDStatus;
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700900/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700901 WDI_LowLevelIndType
902 Inidcation type and information about the indication being carried
903 over
904---------------------------------------------------------------------------*/
905typedef struct
906{
907 /*Inidcation type*/
908 WDI_LowLevelIndEnumType wdiIndicationType;
909
910 /*Indication data*/
911 union
912 {
913 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
914 WDI_LowRSSIThIndType wdiLowRSSIInfo;
915
916 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
917 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
918
919 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
920 WDI_MicFailureIndType wdiMICFailureInfo;
921
922 /*Error code for WDI_FATAL_ERROR_IND*/
923 wpt_uint16 usErrorCode;
924
925 /*Delete STA Indication*/
926 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
927
928 /*Coex Indication*/
929 WDI_CoexIndType wdiCoexInfo;
930
931 /* Tx Complete Indication */
932 wpt_uint32 tx_complete_status;
933
Jeff Johnson295189b2012-06-20 16:38:30 -0700934 /* P2P NOA ATTR Indication */
935 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800936 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530937 /* TDLS Indications */
938 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700939
940
941#ifdef FEATURE_WLAN_SCAN_PNO
942 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
943#endif // FEATURE_WLAN_SCAN_PNO
944
945#ifdef WLAN_WAKEUP_EVENTS
946 WDI_WakeReasonIndType wdiWakeReasonInd;
947#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800948 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700949
Leo Chang9056f462013-08-01 19:21:11 -0700950#ifdef FEATURE_WLAN_LPHB
951 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
952#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700953
954 /* IBSS Peer Inactivity Indication */
955 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
956
Yue Mab9c86f42013-08-14 15:59:08 -0700957 /* Periodic TX Pattern FW Indication */
958 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530959
960#ifdef FEATURE_WLAN_BATCH_SCAN
961 /*batch scan result indication from FW*/
962 void *pBatchScanResult;
963#endif
964
Leo Chang0b0e45a2013-12-15 15:18:55 -0800965#ifdef FEATURE_WLAN_CH_AVOID
966 WDI_ChAvoidIndType wdiChAvoidInd;
967#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530968
969#ifdef WLAN_FEATURE_LINK_LAYER_STATS
970 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530971 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530972#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530973#ifdef WLAN_FEATURE_EXTSCAN
974 /*EXTSCAN Results from FW*/
975 void *pEXTScanIndData;
976#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530977 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +0530978
979 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530980
981 WDI_TxBDStatus wdiTxBdInd;
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530982 WDI_LostLinkParamsIndType wdiLostLinkParamsInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700983 } wdiIndicationData;
984}WDI_LowLevelIndType;
985
986/*---------------------------------------------------------------------------
987 WDI_LowLevelIndCBType
988
989 DESCRIPTION
990
991 This callback is invoked by DAL to deliver to UMAC certain indications
992 that has either received from the lower device or has generated itself.
993
994 PARAMETERS
995
996 IN
997 pwdiInd: information about the indication sent over
998 pUserData: user data provided by UMAC during registration
999
1000
1001
1002 RETURN VALUE
1003 The result code associated with performing the operation
1004---------------------------------------------------------------------------*/
1005typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
1006 void* pUserData);
1007
1008/*---------------------------------------------------------------------------
1009 WDI_DriverType
1010---------------------------------------------------------------------------*/
1011typedef enum
1012{
1013 WDI_DRIVER_TYPE_PRODUCTION = 0,
1014 WDI_DRIVER_TYPE_MFG = 1,
1015 WDI_DRIVER_TYPE_DVT = 2
1016} WDI_DriverType;
1017
1018/*---------------------------------------------------------------------------
1019 WDI_StartReqParamsType
1020---------------------------------------------------------------------------*/
1021typedef struct
1022{
1023 /*This is a TLV formatted buffer containing all config values that can
1024 be set through the DAL Interface
1025
1026 The TLV is expected to be formatted like this:
1027
1028 0 7 15 31 ....
1029 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1030
1031 Or from a C construct point of VU it would look like this:
1032
1033 typedef struct WPT_PACK_POST
1034 {
1035 #ifdef WPT_BIG_ENDIAN
1036 wpt_uint32 ucCfgId:8;
1037 wpt_uint32 ucCfgLen:8;
1038 wpt_uint32 usReserved:16;
1039 #else
1040 wpt_uint32 usReserved:16;
1041 wpt_uint32 ucCfgLen:8;
1042 wpt_uint32 ucCfgId:8;
1043 #endif
1044
1045 wpt_uint8 ucCfgBody[ucCfgLen];
1046 }WDI_ConfigType;
1047
1048 Multiple such tuplets are to be placed in the config buffer. One for
1049 each required configuration item:
1050
1051 | TLV 1 | TLV2 | ....
1052
1053 The buffer is expected to be a flat area of memory that can be manipulated
1054 with standard memory routines.
1055
1056 For more info please check paragraph 2.3.1 Config Structure from the
1057 HAL LLD.
1058
1059 For a list of accepted configuration list and IDs please look up
1060 wlan_qct_dal_cfg.h
1061
1062 */
1063 void* pConfigBuffer;
1064
1065 /*Length of the config buffer above*/
1066 wpt_uint16 usConfigBufferLen;
1067
1068 /*Production or FTM driver*/
1069 WDI_DriverType wdiDriverType;
1070
1071 /*Should device enable frame translation */
1072 wpt_uint8 bFrameTransEnabled;
1073
1074 /*Request status callback offered by UMAC - it is called if the current
1075 req has returned PENDING as status; it delivers the status of sending
1076 the message over the BUS */
1077 WDI_ReqStatusCb wdiReqStatusCB;
1078
1079 /*The user data passed in by UMAC, it will be sent back when the above
1080 function pointer will be called */
1081 void* pUserData;
1082
1083 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1084 wishes to send something back independent of a request*/
1085 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1086
1087 /*The user data passed in by UMAC, it will be sent back when the indication
1088 function pointer will be called */
1089 void* pIndUserData;
1090}WDI_StartReqParamsType;
1091
1092
1093/*---------------------------------------------------------------------------
1094 WDI_StartRspParamsType
1095---------------------------------------------------------------------------*/
1096typedef struct
1097{
1098 /*Status of the response*/
1099 WDI_Status wdiStatus;
1100
1101 /*Max number of STA supported by the device*/
1102 wpt_uint8 ucMaxStations;
1103
1104 /*Max number of BSS supported by the device*/
1105 wpt_uint8 ucMaxBssids;
1106
1107 /*Version of the WLAN HAL API with which we were compiled*/
1108 WDI_WlanVersionType wlanCompiledVersion;
1109
1110 /*Version of the WLAN HAL API that was reported*/
1111 WDI_WlanVersionType wlanReportedVersion;
1112
1113 /*WCNSS Software version string*/
1114 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1115
1116 /*WCNSS Hardware version string*/
1117 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1118}WDI_StartRspParamsType;
1119
1120
1121/*---------------------------------------------------------------------------
1122 WDI_StopType
1123---------------------------------------------------------------------------*/
1124typedef enum
1125{
1126 /*Device is being stopped due to a reset*/
1127 WDI_STOP_TYPE_SYS_RESET,
1128
1129 /*Device is being stopped due to entering deep sleep*/
1130 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1131
1132 /*Device is being stopped because the RF needs to shut off
1133 (e.g.:Airplane mode)*/
1134 WDI_STOP_TYPE_RF_KILL
1135}WDI_StopType;
1136
1137/*---------------------------------------------------------------------------
1138 WDI_StopReqParamsType
1139---------------------------------------------------------------------------*/
1140typedef struct
1141{
1142
1143 /*The reason for which the device is being stopped*/
1144 WDI_StopType wdiStopReason;
1145
1146 /*Request status callback offered by UMAC - it is called if the current
1147 req has returned PENDING as status; it delivers the status of sending
1148 the message over the BUS */
1149 WDI_ReqStatusCb wdiReqStatusCB;
1150
1151 /*The user data passed in by UMAC, it will be sent back when the above
1152 function pointer will be called */
1153 void* pUserData;
1154}WDI_StopReqParamsType;
1155
1156
1157/*---------------------------------------------------------------------------
1158 WDI_ScanMode
1159---------------------------------------------------------------------------*/
1160typedef enum
1161{
1162 WDI_SCAN_MODE_NORMAL = 0,
1163 WDI_SCAN_MODE_LEARN,
1164 WDI_SCAN_MODE_SCAN,
1165 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001166 WDI_SCAN_MODE_SUSPEND_LINK,
1167 WDI_SCAN_MODE_ROAM_SCAN,
1168 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1169
Jeff Johnson295189b2012-06-20 16:38:30 -07001170} WDI_ScanMode;
1171
1172/*---------------------------------------------------------------------------
1173 WDI_ScanEntry
1174---------------------------------------------------------------------------*/
1175typedef struct
1176{
1177 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1178 wpt_uint8 activeBSScnt;
1179}WDI_ScanEntry;
1180
1181/*---------------------------------------------------------------------------
1182 WDI_InitScanReqInfoType
1183---------------------------------------------------------------------------*/
1184typedef struct
1185{
1186 /*LEARN - AP Role
1187 SCAN - STA Role*/
1188 WDI_ScanMode wdiScanMode;
1189
1190 /*BSSID of the BSS*/
1191 wpt_macAddr macBSSID;
1192
1193 /*Whether BSS needs to be notified*/
1194 wpt_boolean bNotifyBSS;
1195
1196 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1197 CTS to Self). Must always be a valid frame type.*/
1198 wpt_uint8 ucFrameType;
1199
1200 /*UMAC has the option of passing the MAC frame to be used for notifying
1201 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1202 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1203 frameType.*/
1204 wpt_uint8 ucFrameLength;
1205
1206 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1207 WDI_MacMgmtHdr wdiMACMgmtHdr;
1208
1209 /*Entry to hold number of active BSS to send NULL frames before
1210 * initiating SCAN*/
1211 WDI_ScanEntry wdiScanEntry;
1212
1213 /* Flag to enable/disable Single NOA*/
1214 wpt_boolean bUseNOA;
1215
1216 /* Indicates the scan duration (in ms) */
1217 wpt_uint16 scanDuration;
1218
1219}WDI_InitScanReqInfoType;
1220
1221/*---------------------------------------------------------------------------
1222 WDI_InitScanReqParamsType
1223---------------------------------------------------------------------------*/
1224typedef struct
1225{
1226 /*The info associated with the request that needs to be sent over to the
1227 device*/
1228 WDI_InitScanReqInfoType wdiReqInfo;
1229
1230 /*Request status callback offered by UMAC - it is called if the current
1231 req has returned PENDING as status; it delivers the status of sending
1232 the message over the BUS */
1233 WDI_ReqStatusCb wdiReqStatusCB;
1234
1235 /*The user data passed in by UMAC, it will be sent back when the above
1236 function pointer will be called */
1237 void* pUserData;
1238}WDI_InitScanReqParamsType;
1239
1240/*---------------------------------------------------------------------------
1241 WDI_StartScanReqParamsType
1242---------------------------------------------------------------------------*/
1243typedef struct
1244{
1245 /*Indicates the channel to scan*/
1246 wpt_uint8 ucChannel;
1247
1248 /*Request status callback offered by UMAC - it is called if the current
1249 req has returned PENDING as status; it delivers the status of sending
1250 the message over the BUS */
1251 WDI_ReqStatusCb wdiReqStatusCB;
1252
1253 /*The user data passed in by UMAC, it will be sent back when the above
1254 function pointer will be called */
1255 void* pUserData;
1256}WDI_StartScanReqParamsType;
1257
1258/*---------------------------------------------------------------------------
1259 WDI_StartScanRspParamsType
1260---------------------------------------------------------------------------*/
1261typedef struct
1262{
1263 /*Indicates the status of the operation */
1264 WDI_Status wdiStatus;
1265
1266#if defined WLAN_FEATURE_VOWIFI
1267 wpt_uint32 aStartTSF[2];
1268 wpt_int8 ucTxMgmtPower;
1269#endif
1270}WDI_StartScanRspParamsType;
1271
1272/*---------------------------------------------------------------------------
1273 WDI_EndScanReqParamsType
1274---------------------------------------------------------------------------*/
1275typedef struct
1276{
1277 /*Indicates the channel to stop scanning. Not used really. But retained
1278 for symmetry with "start Scan" message. It can also help in error
1279 check if needed.*/
1280 wpt_uint8 ucChannel;
1281
1282 /*Request status callback offered by UMAC - it is called if the current
1283 req has returned PENDING as status; it delivers the status of sending
1284 the message over the BUS */
1285 WDI_ReqStatusCb wdiReqStatusCB;
1286
1287 /*The user data passed in by UMAC, it will be sent back when the above
1288 function pointer will be called */
1289 void* pUserData;
1290}WDI_EndScanReqParamsType;
1291
1292/*---------------------------------------------------------------------------
1293 WDI_PhyChanBondState
1294---------------------------------------------------------------------------*/
1295typedef enum
1296{
1297 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1298 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1299 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001300 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1301#ifdef WLAN_FEATURE_11AC
1302 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1303 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1304 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1305 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1306 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1307 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1308 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1309#endif
1310 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001311} WDI_PhyChanBondState;
1312
1313/*---------------------------------------------------------------------------
1314 WDI_FinishScanReqInfoType
1315---------------------------------------------------------------------------*/
1316typedef struct
1317{
1318 /*LEARN - AP Role
1319 SCAN - STA Role*/
1320 WDI_ScanMode wdiScanMode;
1321
1322 /*Operating channel to tune to.*/
1323 wpt_uint8 ucCurrentOperatingChannel;
1324
1325 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1326 40 MHz extension channel in combination with the control channel*/
1327 WDI_PhyChanBondState wdiCBState;
1328
1329 /*BSSID of the BSS*/
1330 wpt_macAddr macBSSID;
1331
1332 /*Whether BSS needs to be notified*/
1333 wpt_boolean bNotifyBSS;
1334
1335 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1336 CTS to Self). Must always be a valid frame type.*/
1337 wpt_uint8 ucFrameType;
1338
1339 /*UMAC has the option of passing the MAC frame to be used for notifying
1340 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1341 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1342 frameType.*/
1343 wpt_uint8 ucFrameLength;
1344
1345 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1346 WDI_MacMgmtHdr wdiMACMgmtHdr;
1347
1348 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1349 WDI_ScanEntry wdiScanEntry;
1350
1351}WDI_FinishScanReqInfoType;
1352
1353/*---------------------------------------------------------------------------
1354 WDI_SwitchChReqInfoType
1355---------------------------------------------------------------------------*/
1356typedef struct
1357{
1358 /*Indicates the channel to switch to.*/
1359 wpt_uint8 ucChannel;
1360
1361 /*Local power constraint*/
1362 wpt_uint8 ucLocalPowerConstraint;
1363
1364 /*Secondary channel offset */
1365 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1366
1367#ifdef WLAN_FEATURE_VOWIFI
1368 wpt_int8 cMaxTxPower;
1369
1370 /*Self STA Mac address*/
1371 wpt_macAddr macSelfStaMacAddr;
1372#endif
1373 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1374 request has power constraints, this should be applied only to that session */
1375 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1376 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1377 */
1378 wpt_macAddr macBSSId;
1379
1380}WDI_SwitchChReqInfoType;
1381
1382/*---------------------------------------------------------------------------
1383 WDI_SwitchChReqParamsType
1384---------------------------------------------------------------------------*/
1385typedef struct
1386{
1387 /*Channel Info*/
1388 WDI_SwitchChReqInfoType wdiChInfo;
1389
1390 /*Request status callback offered by UMAC - it is called if the current
1391 req has returned PENDING as status; it delivers the status of sending
1392 the message over the BUS */
1393 WDI_ReqStatusCb wdiReqStatusCB;
1394
1395 /*The user data passed in by UMAC, it will be sent back when the above
1396 function pointer will be called */
1397 void* pUserData;
1398}WDI_SwitchChReqParamsType;
1399
1400/*---------------------------------------------------------------------------
1401 WDI_FinishScanReqParamsType
1402---------------------------------------------------------------------------*/
1403typedef struct
1404{
1405 /*Info for the Finish Scan request that will be sent down to the device*/
1406 WDI_FinishScanReqInfoType wdiReqInfo;
1407
1408 /*Request status callback offered by UMAC - it is called if the current
1409 req has returned PENDING as status; it delivers the status of sending
1410 the message over the BUS */
1411 WDI_ReqStatusCb wdiReqStatusCB;
1412
1413 /*The user data passed in by UMAC, it will be sent back when the above
1414 function pointer will be called */
1415 void* pUserData;
1416}WDI_FinishScanReqParamsType;
1417
1418/*---------------------------------------------------------------------------
1419 WDI_JoinReqInfoType
1420---------------------------------------------------------------------------*/
1421typedef struct
1422{
1423 /*Indicates the BSSID to which STA is going to associate*/
1424 wpt_macAddr macBSSID;
1425
1426 /*Indicates the MAC Address of the current Self STA*/
1427 wpt_macAddr macSTASelf;
1428
1429 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1430 wpt_uint32 linkState;
1431
1432 /*Indicates the channel to switch to.*/
1433 WDI_SwitchChReqInfoType wdiChannelInfo;
1434
1435}WDI_JoinReqInfoType;
1436
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001437typedef enum
1438{
1439 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1440 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1441 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1442 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1443 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1444} WDI_ChanSwitchSource;
1445
1446/*---------------------------------------------------------------------------
1447 WDI_SwitchChReqInfoType_V1
1448---------------------------------------------------------------------------*/
1449typedef struct
1450{
1451 /*Indicates the channel to switch to.*/
1452 wpt_uint8 ucChannel;
1453
1454 /*Local power constraint*/
1455 wpt_uint8 ucLocalPowerConstraint;
1456
1457 /*Secondary channel offset */
1458 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1459
1460#ifdef WLAN_FEATURE_VOWIFI
1461 wpt_int8 cMaxTxPower;
1462 /*Self STA Mac address*/
1463 wpt_macAddr macSelfStaMacAddr;
1464#endif
1465 /* VO Wifi comment: BSSID is needed to identify which session
1466 issued this request. As the request has power constraints, this
1467 should be applied only to that session
1468 */
1469 /* V IMP: Keep bssId field at the end of this msg. It is used to
1470 maintain backward compatibility by way of ignoring if using new
1471 host/old FW or old host/new FW since it is at the end of this struct
1472 */
1473 wpt_macAddr macBSSId;
1474 /* Source of Channel Switch */
1475 WDI_ChanSwitchSource channelSwitchSrc;
1476}WDI_SwitchChReqInfoType_V1;
1477
1478/*--------------------------------------------------------------------
1479 WDI_SwitchChReqParamsType_V1
1480----------------------------------------------------------------------*/
1481typedef struct
1482{
1483 /*Channel Info*/
1484 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1485
1486 /*Request status callback offered by UMAC - it is called if the current
1487 req has returned PENDING as status; it delivers the status of sending
1488 the message over the BUS */
1489 WDI_ReqStatusCb wdiReqStatusCB;
1490
1491 /*The user data passed in by UMAC, it will be sent back when the above
1492 function pointer will be called */
1493 void* pUserData;
1494}WDI_SwitchChReqParamsType_V1;
1495
Jeff Johnson295189b2012-06-20 16:38:30 -07001496/*---------------------------------------------------------------------------
1497 WDI_JoinReqParamsType
1498---------------------------------------------------------------------------*/
1499typedef struct
1500{
1501 /*Info for the Join request that will be sent down to the device*/
1502 WDI_JoinReqInfoType wdiReqInfo;
1503
1504 /*Request status callback offered by UMAC - it is called if the current
1505 req has returned PENDING as status; it delivers the status of sending
1506 the message over the BUS */
1507 WDI_ReqStatusCb wdiReqStatusCB;
1508
1509 /*The user data passed in by UMAC, it will be sent back when the above
1510 function pointer will be called */
1511 void* pUserData;
1512}WDI_JoinReqParamsType;
1513
1514/*---------------------------------------------------------------------------
1515 WDI_BssType
1516---------------------------------------------------------------------------*/
1517typedef enum
1518{
1519 WDI_INFRASTRUCTURE_MODE,
1520 WDI_INFRA_AP_MODE, //Added for softAP support
1521 WDI_IBSS_MODE,
1522 WDI_BTAMP_STA_MODE,
1523 WDI_BTAMP_AP_MODE,
1524 WDI_BSS_AUTO_MODE,
1525}WDI_BssType;
1526
1527/*---------------------------------------------------------------------------
1528 WDI_NwType
1529---------------------------------------------------------------------------*/
1530typedef enum
1531{
1532 WDI_11A_NW_TYPE,
1533 WDI_11B_NW_TYPE,
1534 WDI_11G_NW_TYPE,
1535 WDI_11N_NW_TYPE,
1536} WDI_NwType;
1537
1538/*---------------------------------------------------------------------------
1539 WDI_ConfigAction
1540---------------------------------------------------------------------------*/
1541typedef enum
1542{
1543 WDI_ADD_BSS,
1544 WDI_UPDATE_BSS
1545} WDI_ConfigAction;
1546
1547/*---------------------------------------------------------------------------
1548 WDI_HTOperatingMode
1549---------------------------------------------------------------------------*/
1550typedef enum
1551{
1552 WDI_HT_OP_MODE_PURE,
1553 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1554 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1555 WDI_HT_OP_MODE_MIXED
1556
1557} WDI_HTOperatingMode;
1558
1559
1560/*---------------------------------------------------------------------------
1561 WDI_STAEntryType
1562---------------------------------------------------------------------------*/
1563typedef enum
1564{
1565 WDI_STA_ENTRY_SELF,
1566 WDI_STA_ENTRY_PEER,
1567 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001568 WDI_STA_ENTRY_BCAST,
1569#ifdef FEATURE_WLAN_TDLS
1570 WDI_STA_ENTRY_TDLS_PEER,
1571#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001572}WDI_STAEntryType;
1573
1574/*---------------------------------------------------------------------------
1575 WDI_ConfigActionType
1576---------------------------------------------------------------------------*/
1577typedef enum
1578{
1579 WDI_ADD_STA,
1580 WDI_UPDATE_STA
1581} WDI_ConfigActionType;
1582
1583/*----------------------------------------------------------------------------
1584 Each station added has a rate mode which specifies the sta attributes
1585 ----------------------------------------------------------------------------*/
1586typedef enum
1587{
1588 WDI_RESERVED_1 = 0,
1589 WDI_RESERVED_2,
1590 WDI_RESERVED_3,
1591 WDI_11b,
1592 WDI_11bg,
1593 WDI_11a,
1594 WDI_11n,
1595} WDI_RateModeType;
1596
1597/*---------------------------------------------------------------------------
1598 WDI_SupportedRatesType
1599---------------------------------------------------------------------------*/
1600typedef struct
1601{
1602 /*
1603 * For Self STA Entry: this represents Self Mode.
1604 * For Peer Stations, this represents the mode of the peer.
1605 * On Station:
1606 * --this mode is updated when PE adds the Self Entry.
1607 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1608 * ON AP:
1609 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1610 * to indicate the self mode of the AP.
1611 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1612 */
1613
1614 WDI_RateModeType opRateMode;
1615
1616 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1617 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1618 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1619 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1620
1621 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1622 First 26 bits are reserved for those Titan rates and
1623 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1624 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1625
1626 /*
1627 * 0-76 bits used, remaining reserved
1628 * bits 0-15 and 32 should be set.
1629 */
1630 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1631
1632 /*
1633 * RX Highest Supported Data Rate defines the highest data
1634 * rate that the STA is able to receive, in unites of 1Mbps.
1635 * This value is derived from "Supported MCS Set field" inside
1636 * the HT capability element.
1637 */
1638 wpt_uint16 aRxHighestDataRate;
1639
Jeff Johnsone7245742012-09-05 17:12:55 -07001640
1641#ifdef WLAN_FEATURE_11AC
1642 /*Indicates the Maximum MCS that can be received for each number
1643 of spacial streams */
1644 wpt_uint16 vhtRxMCSMap;
1645 /*Indicate the highest VHT data rate that the STA is able to receive*/
1646 wpt_uint16 vhtRxHighestDataRate;
1647 /*Indicates the Maximum MCS that can be transmitted for each number
1648 of spacial streams */
1649 wpt_uint16 vhtTxMCSMap;
1650 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1651 wpt_uint16 vhtTxHighestDataRate;
1652#endif
1653
Jeff Johnson295189b2012-06-20 16:38:30 -07001654} WDI_SupportedRates;
1655
1656/*--------------------------------------------------------------------------
1657 WDI_HTMIMOPowerSaveState
1658 Spatial Multiplexing(SM) Power Save mode
1659 --------------------------------------------------------------------------*/
1660typedef enum
1661{
1662 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1663 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1664 WDI_HT_MIMO_PS_NA = 2, // reserved
1665 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1666} WDI_HTMIMOPowerSaveState;
1667
1668/*---------------------------------------------------------------------------
1669 WDI_ConfigStaReqInfoType
1670---------------------------------------------------------------------------*/
1671typedef struct
1672{
1673 /*BSSID of STA*/
1674 wpt_macAddr macBSSID;
1675
1676 /*ASSOC ID, as assigned by UMAC*/
1677 wpt_uint16 usAssocId;
1678
1679 /*Used for configuration of different HW modules.*/
1680 WDI_STAEntryType wdiSTAType;
1681
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001682 /*STA Index */
1683 wpt_uint8 staIdx;
1684
Jeff Johnson295189b2012-06-20 16:38:30 -07001685 /*Short Preamble Supported.*/
1686 wpt_uint8 ucShortPreambleSupported;
1687
1688 /*MAC Address of STA*/
1689 wpt_macAddr macSTA;
1690
1691 /*Listen interval of the STA*/
1692 wpt_uint16 usListenInterval;
1693
1694 /*Support for 11e/WMM*/
1695 wpt_uint8 ucWMMEnabled;
1696
1697 /*11n HT capable STA*/
1698 wpt_uint8 ucHTCapable;
1699
1700 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1701 wpt_uint8 ucTXChannelWidthSet;
1702
1703 /*RIFS mode 0 - NA, 1 - Allowed*/
1704 wpt_uint8 ucRIFSMode;
1705
1706 /*L-SIG TXOP Protection mechanism
1707 0 - No Support, 1 - Supported
1708 SG - there is global field*/
1709 wpt_uint8 ucLSIGTxopProtection;
1710
1711 /*Max Ampdu Size supported by STA. Device programming.
1712 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1713 wpt_uint8 ucMaxAmpduSize;
1714
1715 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1716 wpt_uint8 ucMaxAmpduDensity;
1717
1718 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1719 wpt_uint8 ucMaxAmsduSize;
1720
1721 /*Short GI support for 40Mhz packets*/
1722 wpt_uint8 ucShortGI40Mhz;
1723
1724 /*Short GI support for 20Mhz packets*/
1725 wpt_uint8 ucShortGI20Mhz;
1726
1727 /*These rates are the intersection of peer and self capabilities.*/
1728 WDI_SupportedRates wdiSupportedRates;
1729
1730 /*Robust Management Frame (RMF) enabled/disabled*/
1731 wpt_uint8 ucRMFEnabled;
1732
1733 /* The unicast encryption type in the association */
1734 wpt_uint32 ucEncryptType;
1735
1736 /*HAL should update the existing STA entry, if this flag is set. UMAC
1737 will set this flag in case of RE-ASSOC, where we want to reuse the old
1738 STA ID.*/
1739 WDI_ConfigActionType wdiAction;
1740
1741 /*U-APSD Flags: 1b per AC. Encoded as follows:
1742 b7 b6 b5 b4 b3 b2 b1 b0 =
1743 X X X X BE BK VI VO
1744 */
1745 wpt_uint8 ucAPSD;
1746
1747 /*Max SP Length*/
1748 wpt_uint8 ucMaxSPLen;
1749
1750 /*11n Green Field preamble support*/
1751 wpt_uint8 ucGreenFieldCapable;
1752
1753 /*MIMO Power Save mode*/
1754 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1755
1756 /*Delayed BA Support*/
1757 wpt_uint8 ucDelayedBASupport;
1758
1759 /*Max AMPDU duration in 32us*/
1760 wpt_uint8 us32MaxAmpduDuratio;
1761
1762 /*HT STA should set it to 1 if it is enabled in BSS
1763 HT STA should set it to 0 if AP does not support it. This indication is
1764 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1765 */
1766 wpt_uint8 ucDsssCckMode40Mhz;
1767
1768 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001769#ifdef WLAN_FEATURE_11AC
1770 wpt_uint8 ucVhtCapableSta;
1771 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001772 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301773 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001774#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001775
1776 wpt_uint8 ucHtLdpcEnabled;
1777 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001778}WDI_ConfigStaReqInfoType;
1779
1780
1781/*---------------------------------------------------------------------------
1782 WDI_RateSet
1783
1784 12 Bytes long because this structure can be used to represent rate
1785 and extended rate set IEs
1786 The parser assume this to be at least 12
1787---------------------------------------------------------------------------*/
1788#define WDI_RATESET_EID_MAX 12
1789
1790typedef struct
1791{
1792 wpt_uint8 ucNumRates;
1793 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1794} WDI_RateSet;
1795
1796/*---------------------------------------------------------------------------
1797 WDI_AciAifsnType
1798 access category record
1799---------------------------------------------------------------------------*/
1800typedef struct
1801{
1802 wpt_uint8 rsvd : 1;
1803 wpt_uint8 aci : 2;
1804 wpt_uint8 acm : 1;
1805 wpt_uint8 aifsn : 4;
1806} WDI_AciAifsnType;
1807
1808/*---------------------------------------------------------------------------
1809 WDI_CWType
1810 contention window size
1811---------------------------------------------------------------------------*/
1812typedef struct
1813{
1814 wpt_uint8 max : 4;
1815 wpt_uint8 min : 4;
1816} WDI_CWType;
1817
1818/*---------------------------------------------------------------------------
1819 WDI_EdcaParamRecord
1820---------------------------------------------------------------------------*/
1821typedef struct
1822{
1823 /*Access Category Record*/
1824 WDI_AciAifsnType wdiACI;
1825
1826 /*Contention WIndow Size*/
1827 WDI_CWType wdiCW;
1828
1829 /*TX Oportunity Limit*/
1830 wpt_uint16 usTXOPLimit;
1831} WDI_EdcaParamRecord;
1832
1833/*---------------------------------------------------------------------------
1834 WDI_EDCAParamsType
1835---------------------------------------------------------------------------*/
1836typedef struct
1837{
1838 /*BSS Index*/
1839 wpt_uint8 ucBSSIdx;
1840
1841 /*?*/
1842 wpt_boolean bHighPerformance;
1843
1844 /*Best Effort*/
1845 WDI_EdcaParamRecord wdiACBE;
1846
1847 /*Background*/
1848 WDI_EdcaParamRecord wdiACBK;
1849
1850 /*Video*/
1851 WDI_EdcaParamRecord wdiACVI;
1852
1853 /*Voice*/
1854 WDI_EdcaParamRecord acvo; // voice
1855} WDI_EDCAParamsType;
1856
1857/* operMode in ADD BSS message */
1858#define WDI_BSS_OPERATIONAL_MODE_AP 0
1859#define WDI_BSS_OPERATIONAL_MODE_STA 1
1860
1861/*---------------------------------------------------------------------------
1862 WDI_ConfigBSSRspParamsType
1863---------------------------------------------------------------------------*/
1864typedef struct
1865{
1866 /*Status of the response*/
1867 WDI_Status wdiStatus;
1868
1869 /*BSSID of the BSS*/
1870 wpt_macAddr macBSSID;
1871
1872 /*BSS Index*/
1873 wpt_uint8 ucBSSIdx;
1874
1875 /*Unicast DPU signature*/
1876 wpt_uint8 ucUcastSig;
1877
1878 /*Broadcast DPU Signature*/
1879 wpt_uint8 ucBcastSig;
1880
1881 /*MAC Address of STA*/
1882 wpt_macAddr macSTA;
1883
1884 /*BSS STA ID*/
1885 wpt_uint8 ucSTAIdx;
1886
1887#ifdef WLAN_FEATURE_VOWIFI
1888 /*HAL fills in the tx power used for mgmt frames in this field */
1889 wpt_int8 ucTxMgmtPower;
1890#endif
1891
1892}WDI_ConfigBSSRspParamsType;
1893
1894/*---------------------------------------------------------------------------
1895 WDI_DelBSSReqParamsType
1896---------------------------------------------------------------------------*/
1897typedef struct
1898{
1899 /*BSS Index of the BSS*/
1900 wpt_uint8 ucBssIdx;
1901
1902 /*Request status callback offered by UMAC - it is called if the current
1903 req has returned PENDING as status; it delivers the status of sending
1904 the message over the BUS */
1905 WDI_ReqStatusCb wdiReqStatusCB;
1906
1907 /*The user data passed in by UMAC, it will be sent back when the above
1908 function pointer will be called */
1909 void* pUserData;
1910}WDI_DelBSSReqParamsType;
1911
1912/*---------------------------------------------------------------------------
1913 WDI_DelBSSRspParamsType
1914---------------------------------------------------------------------------*/
1915typedef struct
1916{
1917 /*Status of the response*/
1918 WDI_Status wdiStatus;
1919
1920 /*BSSID of the BSS*/
1921 wpt_macAddr macBSSID;
1922
1923 wpt_uint8 ucBssIdx;
1924
1925}WDI_DelBSSRspParamsType;
1926
1927/*---------------------------------------------------------------------------
1928 WDI_ConfigSTARspParamsType
1929---------------------------------------------------------------------------*/
1930typedef struct
1931{
1932 /*Status of the response*/
1933 WDI_Status wdiStatus;
1934
1935 /*STA Idx allocated by HAL*/
1936 wpt_uint8 ucSTAIdx;
1937
1938 /*MAC Address of STA*/
1939 wpt_macAddr macSTA;
1940
1941 /* BSSID Index of BSS to which the station is associated */
1942 wpt_uint8 ucBssIdx;
1943
1944 /* DPU Index - PTK */
1945 wpt_uint8 ucDpuIndex;
1946
1947 /* Bcast DPU Index - GTK */
1948 wpt_uint8 ucBcastDpuIndex;
1949
1950 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1951 wpt_uint8 ucBcastMgmtDpuIdx;
1952
1953 /*Unicast DPU signature*/
1954 wpt_uint8 ucUcastSig;
1955
1956 /*Broadcast DPU Signature*/
1957 wpt_uint8 ucBcastSig;
1958
1959 /* IGTK DPU signature*/
1960 wpt_uint8 ucMgmtSig;
1961
1962}WDI_ConfigSTARspParamsType;
1963
1964/*---------------------------------------------------------------------------
1965 WDI_PostAssocRspParamsType
1966---------------------------------------------------------------------------*/
1967typedef struct
1968{
1969 /*Status of the response*/
1970 WDI_Status wdiStatus;
1971
1972 /*Parameters related to the BSS*/
1973 WDI_ConfigBSSRspParamsType bssParams;
1974
1975 /*Parameters related to the self STA*/
1976 WDI_ConfigSTARspParamsType staParams;
1977
1978}WDI_PostAssocRspParamsType;
1979
1980/*---------------------------------------------------------------------------
1981 WDI_DelSTAReqParamsType
1982---------------------------------------------------------------------------*/
1983typedef struct
1984{
1985 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1986 wpt_uint8 ucSTAIdx;
1987
1988 /*Request status callback offered by UMAC - it is called if the current
1989 req has returned PENDING as status; it delivers the status of sending
1990 the message over the BUS */
1991 WDI_ReqStatusCb wdiReqStatusCB;
1992
1993 /*The user data passed in by UMAC, it will be sent back when the above
1994 function pointer will be called */
1995 void* pUserData;
1996}WDI_DelSTAReqParamsType;
1997
1998/*---------------------------------------------------------------------------
1999 WDI_DelSTARspParamsType
2000---------------------------------------------------------------------------*/
2001typedef struct
2002{
2003 /*Status of the response*/
2004 WDI_Status wdiStatus;
2005
2006 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2007 wpt_uint8 ucSTAIdx;
2008}WDI_DelSTARspParamsType;
2009
2010/*---------------------------------------------------------------------------
2011 WDI_EncryptType
2012---------------------------------------------------------------------------*/
2013typedef enum
2014{
2015 WDI_ENCR_NONE,
2016 WDI_ENCR_WEP40,
2017 WDI_ENCR_WEP104,
2018 WDI_ENCR_TKIP,
2019 WDI_ENCR_CCMP,
2020#if defined(FEATURE_WLAN_WAPI)
2021 WDI_ENCR_WPI,
2022#endif
2023 WDI_ENCR_AES_128_CMAC
2024} WDI_EncryptType;
2025
2026/*---------------------------------------------------------------------------
2027 WDI_KeyDirectionType
2028---------------------------------------------------------------------------*/
2029typedef enum
2030{
2031 WDI_TX_ONLY,
2032 WDI_RX_ONLY,
2033 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002034 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002035 WDI_DONOT_USE_KEY_DIRECTION
2036} WDI_KeyDirectionType;
2037
2038#define WDI_MAX_ENCR_KEYS 4
2039#define WDI_MAX_KEY_LENGTH 32
2040#if defined(FEATURE_WLAN_WAPI)
2041#define WDI_MAX_KEY_RSC_LEN 16
2042#define WDI_WAPI_KEY_RSC_LEN 16
2043#else
2044#define WDI_MAX_KEY_RSC_LEN 8
2045#endif
2046
2047typedef struct
2048{
2049 /* Key ID */
2050 wpt_uint8 keyId;
2051 /* 0 for multicast */
2052 wpt_uint8 unicast;
2053 /* Key Direction */
2054 WDI_KeyDirectionType keyDirection;
2055 /* Usage is unknown */
2056 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2057 /* =1 for authenticator, =0 for supplicant */
2058 wpt_uint8 paeRole;
2059 wpt_uint16 keyLength;
2060 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2061
2062}WDI_KeysType;
2063
2064/*---------------------------------------------------------------------------
2065 WDI_SetBSSKeyReqInfoType
2066---------------------------------------------------------------------------*/
2067typedef struct
2068{
2069 /*BSS Index of the BSS*/
2070 wpt_uint8 ucBssIdx;
2071
2072 /*Encryption Type used with peer*/
2073 WDI_EncryptType wdiEncType;
2074
2075 /*Number of keys*/
2076 wpt_uint8 ucNumKeys;
2077
2078 /*Array of keys.*/
2079 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2080
2081 /*Control for Replay Count, 1= Single TID based replay count on Tx
2082 0 = Per TID based replay count on TX */
2083 wpt_uint8 ucSingleTidRc;
2084}WDI_SetBSSKeyReqInfoType;
2085
2086/*---------------------------------------------------------------------------
2087 WDI_SetBSSKeyReqParamsType
2088---------------------------------------------------------------------------*/
2089typedef struct
2090{
2091 /*Key Info */
2092 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2093
2094 /*Request status callback offered by UMAC - it is called if the current
2095 req has returned PENDING as status; it delivers the status of sending
2096 the message over the BUS */
2097 WDI_ReqStatusCb wdiReqStatusCB;
2098
2099 /*The user data passed in by UMAC, it will be sent back when the above
2100 function pointer will be called */
2101 void* pUserData;
2102}WDI_SetBSSKeyReqParamsType;
2103
2104/*---------------------------------------------------------------------------
2105 WDI_WepType
2106---------------------------------------------------------------------------*/
2107typedef enum
2108{
2109 WDI_WEP_STATIC,
2110 WDI_WEP_DYNAMIC
2111
2112} WDI_WepType;
2113
2114/*---------------------------------------------------------------------------
2115 WDI_RemoveBSSKeyReqInfoType
2116---------------------------------------------------------------------------*/
2117typedef struct
2118{
2119 /*BSS Index of the BSS*/
2120 wpt_uint8 ucBssIdx;
2121
2122 /*Encryption Type used with peer*/
2123 WDI_EncryptType wdiEncType;
2124
2125 /*Key Id*/
2126 wpt_uint8 ucKeyId;
2127
2128 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2129 keys*/
2130 WDI_WepType wdiWEPType;
2131}WDI_RemoveBSSKeyReqInfoType;
2132
2133/*---------------------------------------------------------------------------
2134 WDI_RemoveBSSKeyReqParamsType
2135---------------------------------------------------------------------------*/
2136typedef struct
2137{
2138 /*Key Info */
2139 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2140
2141 /*Request status callback offered by UMAC - it is called if the current
2142 req has returned PENDING as status; it delivers the status of sending
2143 the message over the BUS */
2144 WDI_ReqStatusCb wdiReqStatusCB;
2145
2146 /*The user data passed in by UMAC, it will be sent back when the above
2147 function pointer will be called */
2148 void* pUserData;
2149}WDI_RemoveBSSKeyReqParamsType;
2150
2151/*---------------------------------------------------------------------------
2152 WDI_SetSTAKeyReqInfoType
2153---------------------------------------------------------------------------*/
2154typedef struct
2155{
2156 /*STA Index*/
2157 wpt_uint8 ucSTAIdx;
2158
2159 /*Encryption Type used with peer*/
2160 WDI_EncryptType wdiEncType;
2161
2162 /*STATIC/DYNAMIC*/
2163 WDI_WepType wdiWEPType;
2164
2165 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2166 wpt_uint8 ucDefWEPIdx;
2167
2168 /*Number of keys*/
2169 wpt_uint8 ucNumKeys;
2170
2171 /*Array of keys.*/
2172 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2173
2174 /*Control for Replay Count, 1= Single TID based replay count on Tx
2175 0 = Per TID based replay count on TX */
2176 wpt_uint8 ucSingleTidRc;
2177}WDI_SetSTAKeyReqInfoType;
2178
2179/*---------------------------------------------------------------------------
2180 WDI_ConfigBSSReqInfoType
2181---------------------------------------------------------------------------*/
2182typedef struct
2183{
2184 /*Peer BSSID*/
2185 wpt_macAddr macBSSID;
2186
2187 /*Self MAC Address*/
2188 wpt_macAddr macSelfAddr;
2189
2190 /*BSS Type*/
2191 WDI_BssType wdiBSSType;
2192
2193 /*Operational Mode: AP =0, STA = 1*/
2194 wpt_uint8 ucOperMode;
2195
2196 /*Network Type*/
2197 WDI_NwType wdiNWType;
2198
2199 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2200 wpt_uint8 ucShortSlotTimeSupported;
2201
2202 /*Co-exist with 11a STA*/
2203 wpt_uint8 ucllaCoexist;
2204
2205 /*Co-exist with 11b STA*/
2206 wpt_uint8 ucllbCoexist;
2207
2208 /*Co-exist with 11g STA*/
2209 wpt_uint8 ucllgCoexist;
2210
2211 /*Coexistence with 11n STA*/
2212 wpt_uint8 ucHT20Coexist;
2213
2214 /*Non GF coexist flag*/
2215 wpt_uint8 ucllnNonGFCoexist;
2216
2217 /*TXOP protection support*/
2218 wpt_uint8 ucTXOPProtectionFullSupport;
2219
2220 /*RIFS mode*/
2221 wpt_uint8 ucRIFSMode;
2222
2223 /*Beacon Interval in TU*/
2224 wpt_uint16 usBeaconInterval;
2225
2226 /*DTIM period*/
2227 wpt_uint8 ucDTIMPeriod;
2228
2229 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2230 wpt_uint8 ucTXChannelWidthSet;
2231
2232 /*Operating channel*/
2233 wpt_uint8 ucCurrentOperChannel;
2234
2235 /*Extension channel for channel bonding*/
2236 wpt_uint8 ucCurrentExtChannel;
2237
2238 /*Context of the station being added in HW.*/
2239 WDI_ConfigStaReqInfoType wdiSTAContext;
2240
2241 /*SSID of the BSS*/
2242 WDI_MacSSid wdiSSID;
2243
2244 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2245 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2246 WDI_ConfigAction wdiAction;
2247
2248 /*Basic Rate Set*/
2249 WDI_RateSet wdiRateSet;
2250
2251 /*Enable/Disable HT capabilities of the BSS*/
2252 wpt_uint8 ucHTCapable;
2253
2254 /* Enable/Disable OBSS protection */
2255 wpt_uint8 ucObssProtEnabled;
2256
2257 /*RMF enabled/disabled*/
2258 wpt_uint8 ucRMFEnabled;
2259
2260 /*Determines the current HT Operating Mode operating mode of the
2261 802.11n STA*/
2262 WDI_HTOperatingMode wdiHTOperMod;
2263
2264 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2265 wpt_uint8 ucDualCTSProtection;
2266
2267 /* Probe Response Max retries */
2268 wpt_uint8 ucMaxProbeRespRetryLimit;
2269
2270 /* To Enable Hidden ssid */
2271 wpt_uint8 bHiddenSSIDEn;
2272
2273 /* To Enable Disable FW Proxy Probe Resp */
2274 wpt_uint8 bProxyProbeRespEn;
2275
2276 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2277 EDCA params or might not desire to apply EDCA params during config BSS.
2278 0 implies Not Valid ; Non-Zero implies valid*/
2279 wpt_uint8 ucEDCAParamsValid;
2280
2281 /*EDCA Parameters for BK*/
2282 WDI_EdcaParamRecord wdiBKEDCAParams;
2283
2284 /*EDCA Parameters for BE*/
2285 WDI_EdcaParamRecord wdiBEEDCAParams;
2286
2287 /*EDCA Parameters for VI*/
2288 WDI_EdcaParamRecord wdiVIEDCAParams;
2289
2290 /*EDCA Parameters for VO*/
2291 WDI_EdcaParamRecord wdiVOEDCAParams;
2292
2293#ifdef WLAN_FEATURE_VOWIFI
2294 /*max power to be used after applying the power constraint, if any */
2295 wpt_int8 cMaxTxPower;
2296#endif
2297
2298 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2299 wpt_uint8 ucPersona;
2300
2301 /* Spectrum Mangement Indicator */
2302 wpt_uint8 bSpectrumMgtEn;
2303
2304#ifdef WLAN_FEATURE_VOWIFI_11R
2305 wpt_uint8 bExtSetStaKeyParamValid;
2306 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2307#endif
2308
Jeff Johnsone7245742012-09-05 17:12:55 -07002309#ifdef WLAN_FEATURE_11AC
2310 wpt_uint8 ucVhtCapableSta;
2311 wpt_uint8 ucVhtTxChannelWidthSet;
2312#endif
2313
Jeff Johnson295189b2012-06-20 16:38:30 -07002314}WDI_ConfigBSSReqInfoType;
2315
2316/*---------------------------------------------------------------------------
2317 WDI_PostAssocReqParamsType
2318---------------------------------------------------------------------------*/
2319typedef struct
2320{
2321 /*Config STA arguments.*/
2322 WDI_ConfigStaReqInfoType wdiSTAParams;
2323
2324 /*Config BSS Arguments*/
2325 WDI_ConfigBSSReqInfoType wdiBSSParams;
2326
2327 /*Request status callback offered by UMAC - it is called if the current
2328 req has returned PENDING as status; it delivers the status of sending
2329 the message over the BUS */
2330 WDI_ReqStatusCb wdiReqStatusCB;
2331
2332 /*The user data passed in by UMAC, it will be sent back when the above
2333 function pointer will be called */
2334 void* pUserData;
2335}WDI_PostAssocReqParamsType;
2336
2337/*---------------------------------------------------------------------------
2338 WDI_ConfigBSSReqParamsType
2339---------------------------------------------------------------------------*/
2340typedef struct
2341{
2342 /*Info for the Join request that will be sent down to the device*/
2343 WDI_ConfigBSSReqInfoType wdiReqInfo;
2344
2345 /*Request status callback offered by UMAC - it is called if the current
2346 req has returned PENDING as status; it delivers the status of sending
2347 the message over the BUS */
2348 WDI_ReqStatusCb wdiReqStatusCB;
2349
2350 /*The user data passed in by UMAC, it will be sent back when the above
2351 function pointer will be called */
2352 void* pUserData;
2353}WDI_ConfigBSSReqParamsType;
2354
2355/*---------------------------------------------------------------------------
2356 WDI_SetSTAKeyReqParamsType
2357---------------------------------------------------------------------------*/
2358typedef struct
2359{
2360 /*Key Info*/
2361 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2362
2363 /*Request status callback offered by UMAC - it is called if the current
2364 req has returned PENDING as status; it delivers the status of sending
2365 the message over the BUS */
2366 WDI_ReqStatusCb wdiReqStatusCB;
2367
2368 /*The user data passed in by UMAC, it will be sent back when the above
2369 function pointer will be called */
2370 void* pUserData;
2371}WDI_SetSTAKeyReqParamsType;
2372
2373/*---------------------------------------------------------------------------
2374 WDI_RemoveSTAKeyReqInfoType
2375---------------------------------------------------------------------------*/
2376typedef struct
2377{
2378 /*STA Index*/
2379 wpt_uint8 ucSTAIdx;
2380
2381 /*Encryption Type used with peer*/
2382 WDI_EncryptType wdiEncType;
2383
2384 /*Key Id*/
2385 wpt_uint8 ucKeyId;
2386
2387 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2388 the same key is used for both broadcast and unicast.*/
2389 wpt_uint8 ucUnicast;
2390}WDI_RemoveSTAKeyReqInfoType;
2391
2392/*---------------------------------------------------------------------------
2393 WDI_RemoveSTAKeyReqParamsType
2394---------------------------------------------------------------------------*/
2395typedef struct
2396{
2397 /*Key Info */
2398 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2399
2400 /*Request status callback offered by UMAC - it is called if the current
2401 req has returned PENDING as status; it delivers the status of sending
2402 the message over the BUS */
2403 WDI_ReqStatusCb wdiReqStatusCB;
2404
2405 /*The user data passed in by UMAC, it will be sent back when the above
2406 function pointer will be called */
2407 void* pUserData;
2408}WDI_RemoveSTAKeyReqParamsType;
2409
2410/*---------------------------------------------------------------------------
2411 QOS Parameters
2412---------------------------------------------------------------------------*/
2413
2414/*---------------------------------------------------------------------------
2415 WDI_TSInfoTfc
2416---------------------------------------------------------------------------*/
2417typedef struct
2418{
2419 wpt_uint16 ackPolicy:2;
2420 wpt_uint16 userPrio:3;
2421 wpt_uint16 psb:1;
2422 wpt_uint16 aggregation : 1;
2423 wpt_uint16 accessPolicy : 2;
2424 wpt_uint16 direction : 2;
2425 wpt_uint16 tsid : 4;
2426 wpt_uint16 trafficType : 1;
2427} WDI_TSInfoTfc;
2428
2429/*---------------------------------------------------------------------------
2430 WDI_TSInfoSch
2431---------------------------------------------------------------------------*/
2432typedef struct
2433{
2434 wpt_uint8 rsvd : 7;
2435 wpt_uint8 schedule : 1;
2436} WDI_TSInfoSch;
2437
2438/*---------------------------------------------------------------------------
2439 WDI_TSInfoType
2440---------------------------------------------------------------------------*/
2441typedef struct
2442{
2443 WDI_TSInfoTfc wdiTraffic;
2444 WDI_TSInfoSch wdiSchedule;
2445} WDI_TSInfoType;
2446
2447/*---------------------------------------------------------------------------
2448 WDI_TspecIEType
2449---------------------------------------------------------------------------*/
2450typedef struct
2451{
2452 wpt_uint8 ucType;
2453 wpt_uint8 ucLength;
2454 WDI_TSInfoType wdiTSinfo;
2455 wpt_uint16 usNomMsduSz;
2456 wpt_uint16 usMaxMsduSz;
2457 wpt_uint32 uMinSvcInterval;
2458 wpt_uint32 uMaxSvcInterval;
2459 wpt_uint32 uInactInterval;
2460 wpt_uint32 uSuspendInterval;
2461 wpt_uint32 uSvcStartTime;
2462 wpt_uint32 uMinDataRate;
2463 wpt_uint32 uMeanDataRate;
2464 wpt_uint32 uPeakDataRate;
2465 wpt_uint32 uMaxBurstSz;
2466 wpt_uint32 uDelayBound;
2467 wpt_uint32 uMinPhyRate;
2468 wpt_uint16 usSurplusBw;
2469 wpt_uint16 usMediumTime;
2470}WDI_TspecIEType;
2471
2472/*---------------------------------------------------------------------------
2473 WDI_AddTSReqInfoType
2474---------------------------------------------------------------------------*/
2475typedef struct
2476{
2477 /*STA Index*/
2478 wpt_uint8 ucSTAIdx;
2479
2480 /*Identifier for TSpec*/
2481 wpt_uint16 ucTspecIdx;
2482
2483 /*Tspec IE negotiated OTA*/
2484 WDI_TspecIEType wdiTspecIE;
2485
2486 /*UAPSD delivery and trigger enabled flags */
2487 wpt_uint8 ucUapsdFlags;
2488
2489 /*SI for each AC*/
2490 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2491
2492 /*Suspend Interval for each AC*/
2493 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2494
2495 /*DI for each AC*/
2496 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2497
2498}WDI_AddTSReqInfoType;
2499
2500
2501/*---------------------------------------------------------------------------
2502 WDI_AddTSReqParamsType
2503---------------------------------------------------------------------------*/
2504typedef struct
2505{
2506 /*TSpec Info */
2507 WDI_AddTSReqInfoType wdiTsInfo;
2508
2509 /*Request status callback offered by UMAC - it is called if the current
2510 req has returned PENDING as status; it delivers the status of sending
2511 the message over the BUS */
2512 WDI_ReqStatusCb wdiReqStatusCB;
2513
2514 /*The user data passed in by UMAC, it will be sent back when the above
2515 function pointer will be called */
2516 void* pUserData;
2517}WDI_AddTSReqParamsType;
2518
2519/*---------------------------------------------------------------------------
2520 WDI_DelTSReqInfoType
2521---------------------------------------------------------------------------*/
2522typedef struct
2523{
2524 /*STA Index*/
2525 wpt_uint8 ucSTAIdx;
2526
2527 /*Identifier for TSpec*/
2528 wpt_uint16 ucTspecIdx;
2529
2530 /*BSSID of the BSS*/
2531 wpt_macAddr macBSSID;
2532}WDI_DelTSReqInfoType;
2533
2534/*---------------------------------------------------------------------------
2535 WDI_DelTSReqParamsType
2536---------------------------------------------------------------------------*/
2537typedef struct
2538{
2539 /*Del TSpec Info*/
2540 WDI_DelTSReqInfoType wdiDelTSInfo;
2541
2542 /*Request status callback offered by UMAC - it is called if the current
2543 req has returned PENDING as status; it delivers the status of sending
2544 the message over the BUS */
2545 WDI_ReqStatusCb wdiReqStatusCB;
2546
2547 /*The user data passed in by UMAC, it will be sent back when the above
2548 function pointer will be called */
2549 void* pUserData;
2550}WDI_DelTSReqParamsType;
2551
2552/*---------------------------------------------------------------------------
2553 WDI_UpdateEDCAInfoType
2554---------------------------------------------------------------------------*/
2555typedef struct
2556{
krunal soni0b366c02013-07-17 19:55:57 -07002557 /*BSS Index of the BSS*/
2558 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002559
Jeff Johnson295189b2012-06-20 16:38:30 -07002560 /*EDCA params for BE*/
2561 WDI_EdcaParamRecord wdiEdcaBEInfo;
2562
2563 /*EDCA params for BK*/
2564 WDI_EdcaParamRecord wdiEdcaBKInfo;
2565
2566 /*EDCA params for VI*/
2567 WDI_EdcaParamRecord wdiEdcaVIInfo;
2568
2569 /*EDCA params for VO*/
2570 WDI_EdcaParamRecord wdiEdcaVOInfo;
2571
2572}WDI_UpdateEDCAInfoType;
2573
2574/*---------------------------------------------------------------------------
2575 WDI_UpdateEDCAParamsType
2576---------------------------------------------------------------------------*/
2577typedef struct
2578{
2579 /*EDCA Info */
2580 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2581
2582 /*Request status callback offered by UMAC - it is called if the current
2583 req has returned PENDING as status; it delivers the status of sending
2584 the message over the BUS */
2585 WDI_ReqStatusCb wdiReqStatusCB;
2586
2587 /*The user data passed in by UMAC, it will be sent back when the above
2588 function pointer will be called */
2589 void* pUserData;
2590}WDI_UpdateEDCAParamsType;
2591
2592/*---------------------------------------------------------------------------
2593 WDI_AddBASessionReqinfoType
2594---------------------------------------------------------------------------*/
2595typedef struct
2596{
2597 /*Indicates the station for which BA is added..*/
2598 wpt_uint8 ucSTAIdx;
2599
2600 /*The peer mac address*/
2601 wpt_macAddr macPeerAddr;
2602
2603 /*TID for which BA was negotiated*/
2604 wpt_uint8 ucBaTID;
2605
2606 /*Delayed or imediate */
2607 wpt_uint8 ucBaPolicy;
2608
2609 /*The number of buffers for this TID (baTID)*/
2610 wpt_uint16 usBaBufferSize;
2611
2612 /*BA timeout in TU's*/
2613 wpt_uint16 usBaTimeout;
2614
2615 /*b0..b3 - Fragment Number - Always set to 0
2616 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2617 wpt_uint16 usBaSSN;
2618
2619 /*Originator/Recipient*/
2620 wpt_uint8 ucBaDirection;
2621
2622}WDI_AddBASessionReqinfoType;
2623
2624
2625/*---------------------------------------------------------------------------
2626 WDI_AddBASessionReqParamsType
2627---------------------------------------------------------------------------*/
2628typedef struct
2629{
2630 /*BA Session Info Type*/
2631 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2632
2633 /*Request status callback offered by UMAC - it is called if the current
2634 req has returned PENDING as status; it delivers the status of sending
2635 the message over the BUS */
2636 WDI_ReqStatusCb wdiReqStatusCB;
2637
2638 /*The user data passed in by UMAC, it will be sent back when the above
2639 function pointer will be called */
2640 void* pUserData;
2641}WDI_AddBASessionReqParamsType;
2642
2643/*---------------------------------------------------------------------------
2644 WDI_AddBASessionRspParamsType
2645---------------------------------------------------------------------------*/
2646typedef struct
2647{
2648 /*Status of the response*/
2649 WDI_Status wdiStatus;
2650
2651 /* Dialog token */
2652 wpt_uint8 ucBaDialogToken;
2653
2654 /* TID for which the BA session has been setup */
2655 wpt_uint8 ucBaTID;
2656
2657 /* BA Buffer Size allocated for the current BA session */
2658 wpt_uint8 ucBaBufferSize;
2659
2660 /* BA session ID */
2661 wpt_uint16 usBaSessionID;
2662
2663 /* Reordering Window buffer */
2664 wpt_uint8 ucWinSize;
2665
2666 /*Station Index to id the sta */
2667 wpt_uint8 ucSTAIdx;
2668
2669 /* Starting Sequence Number */
2670 wpt_uint16 usBaSSN;
2671
2672}WDI_AddBASessionRspParamsType;
2673
2674/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302675 WDI_SpoofMacAddrRspParamType
2676---------------------------------------------------------------------------*/
2677typedef struct
2678{
2679 /* wdi status */
2680 wpt_uint32 wdiStatus;
2681
2682 /* Reserved Field */
2683 wpt_uint32 reserved;
2684
2685}WDI_SpoofMacAddrRspParamType;
2686/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302687 WDI_GetFrameLogRspParamType
2688---------------------------------------------------------------------------*/
2689typedef struct
2690{
2691 /* wdi status */
2692 wpt_uint32 wdiStatus;
2693}WDI_GetFrameLogRspParamType;
2694/*---------------------------------------------------------------------------
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302695 WDI_FWLoggingInitRspParamType
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302696---------------------------------------------------------------------------*/
2697typedef struct
2698{
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302699 //FW mail box address
2700 wpt_uint64 logMailBoxAddr;
2701 wpt_uint32 status;
2702 //Logging mail box version
2703 wpt_uint8 logMailBoxVer;
2704 //Qshrink is enabled
2705 wpt_boolean logCompressEnabled;
2706 //Reserved for future purpose
2707 wpt_uint32 reserved0;
2708 wpt_uint32 reserved1;
2709 wpt_uint32 reserved2;
2710}WDI_FWLoggingInitRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302711
2712
2713/*---------------------------------------------------------------------------
2714 WDI_FatalEventLogsRspParamType
2715---------------------------------------------------------------------------*/
2716typedef struct
2717{
2718 /* wdi status */
2719 wpt_uint32 wdiStatus;
2720}WDI_FatalEventLogsRspParamType;
2721
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302722/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002723 WDI_AddBAReqinfoType
2724---------------------------------------------------------------------------*/
2725typedef struct
2726{
2727 /*Indicates the station for which BA is added..*/
2728 wpt_uint8 ucSTAIdx;
2729
2730 /* Session Id */
2731 wpt_uint8 ucBaSessionID;
2732
2733 /* Reorder Window Size */
2734 wpt_uint8 ucWinSize;
2735
2736#ifdef FEATURE_ON_CHIP_REORDERING
2737 wpt_boolean bIsReorderingDoneOnChip;
2738#endif
2739
2740}WDI_AddBAReqinfoType;
2741
2742
2743/*---------------------------------------------------------------------------
2744 WDI_AddBAReqParamsType
2745---------------------------------------------------------------------------*/
2746typedef struct
2747{
2748 /*BA Info Type*/
2749 WDI_AddBAReqinfoType wdiBAInfoType;
2750
2751 /*Request status callback offered by UMAC - it is called if the current
2752 req has returned PENDING as status; it delivers the status of sending
2753 the message over the BUS */
2754 WDI_ReqStatusCb wdiReqStatusCB;
2755
2756 /*The user data passed in by UMAC, it will be sent back when the above
2757 function pointer will be called */
2758 void* pUserData;
2759}WDI_AddBAReqParamsType;
2760
2761
2762/*---------------------------------------------------------------------------
2763 WDI_AddBARspinfoType
2764---------------------------------------------------------------------------*/
2765typedef struct
2766{
2767 /*Status of the response*/
2768 WDI_Status wdiStatus;
2769
2770 /* Dialog token */
2771 wpt_uint8 ucBaDialogToken;
2772
2773}WDI_AddBARspinfoType;
2774
2775/*---------------------------------------------------------------------------
2776 WDI_TriggerBAReqCandidateType
2777---------------------------------------------------------------------------*/
2778typedef struct
2779{
2780 /* STA index */
2781 wpt_uint8 ucSTAIdx;
2782
2783 /* TID bit map for the STA's*/
2784 wpt_uint8 ucTidBitmap;
2785
2786}WDI_TriggerBAReqCandidateType;
2787
2788
2789/*---------------------------------------------------------------------------
2790 WDI_TriggerBAReqinfoType
2791---------------------------------------------------------------------------*/
2792typedef struct
2793{
2794 /*Indicates the station for which BA is added..*/
2795 wpt_uint8 ucSTAIdx;
2796
2797 /* Session Id */
2798 wpt_uint8 ucBASessionID;
2799
2800 /* Trigger BA Request candidate count */
2801 wpt_uint16 usBACandidateCnt;
2802
2803 /* WDI_TriggerBAReqCandidateType followed by this*/
2804
2805}WDI_TriggerBAReqinfoType;
2806
2807
2808/*---------------------------------------------------------------------------
2809 WDI_TriggerBAReqParamsType
2810---------------------------------------------------------------------------*/
2811typedef struct
2812{
2813 /*BA Trigger Info Type*/
2814 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2815
2816 /*Request status callback offered by UMAC - it is called if the current
2817 req has returned PENDING as status; it delivers the status of sending
2818 the message over the BUS */
2819 WDI_ReqStatusCb wdiReqStatusCB;
2820
2821 /*The user data passed in by UMAC, it will be sent back when the above
2822 function pointer will be called */
2823 void* pUserData;
2824}WDI_TriggerBAReqParamsType;
2825
2826/*---------------------------------------------------------------------------
2827 WDI_AddBAInfoType
2828---------------------------------------------------------------------------*/
2829typedef struct
2830{
2831 wpt_uint16 fBaEnable : 1;
2832 wpt_uint16 startingSeqNum: 12;
2833 wpt_uint16 reserved : 3;
2834}WDI_AddBAInfoType;
2835
2836/*---------------------------------------------------------------------------
2837 WDI_TriggerBARspCandidateType
2838---------------------------------------------------------------------------*/
2839#define STA_MAX_TC 8
2840
2841typedef struct
2842{
2843 /* STA index */
2844 wpt_macAddr macSTA;
2845
2846 /* BA Info */
2847 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2848}WDI_TriggerBARspCandidateType;
2849
2850/*---------------------------------------------------------------------------
2851 WDI_TriggerBARspParamsType
2852---------------------------------------------------------------------------*/
2853typedef struct
2854{
2855 /*Status of the response*/
2856 WDI_Status wdiStatus;
2857
2858 /*BSSID of the BSS*/
2859 wpt_macAddr macBSSID;
2860
2861 /* Trigger BA response candidate count */
2862 wpt_uint16 usBaCandidateCnt;
2863
2864 /* WDI_TriggerBARspCandidateType followed by this*/
2865
2866}WDI_TriggerBARspParamsType;
2867
2868/*---------------------------------------------------------------------------
2869 WDI_DelBAReqinfoType
2870---------------------------------------------------------------------------*/
2871typedef struct
2872{
2873 /*Indicates the station for which BA is added..*/
2874 wpt_uint8 ucSTAIdx;
2875
2876 /*TID for which BA was negotiated*/
2877 wpt_uint8 ucBaTID;
2878
2879 /*Originator/Recipient*/
2880 wpt_uint8 ucBaDirection;
2881
2882}WDI_DelBAReqinfoType;
2883
2884/*---------------------------------------------------------------------------
2885 WDI_DelBAReqParamsType
2886---------------------------------------------------------------------------*/
2887typedef struct
2888{
2889 /*BA Info */
2890 WDI_DelBAReqinfoType wdiBAInfo;
2891
2892 /*Request status callback offered by UMAC - it is called if the current
2893 req has returned PENDING as status; it delivers the status of sending
2894 the message over the BUS */
2895 WDI_ReqStatusCb wdiReqStatusCB;
2896
2897 /*The user data passed in by UMAC, it will be sent back when the above
2898 function pointer will be called */
2899 void* pUserData;
2900}WDI_DelBAReqParamsType;
2901
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002902/*---------------------------------------------------------------------------
2903 WDI_UpdateChannelReqinfoType
2904---------------------------------------------------------------------------*/
2905typedef struct
2906{
2907 /** primary 20 MHz channel frequency in mhz */
2908 wpt_uint32 mhz;
2909 /** Center frequency 1 in MHz*/
2910 wpt_uint32 band_center_freq1;
2911 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2912 wpt_uint32 band_center_freq2;
2913 /* The first 26 bits are a bit mask to indicate any channel flags,
2914 (see WLAN_HAL_CHAN_FLAG*)
2915 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2916 wpt_uint32 channel_info;
2917 /** contains min power, max power, reg power and reg class id. */
2918 wpt_uint32 reg_info_1;
2919 /** contains antennamax */
2920 wpt_uint32 reg_info_2;
2921}WDI_UpdateChannelReqinfoType;
2922
2923typedef struct
2924{
2925 wpt_uint8 numchan;
2926 WDI_UpdateChannelReqinfoType *pchanParam;
2927}WDI_UpdateChannelReqType;
2928/*---------------------------------------------------------------------------
2929 WDI_UpdateChReqParamsType
2930---------------------------------------------------------------------------*/
2931typedef struct
2932{
2933 /*BA Info */
2934 WDI_UpdateChannelReqType wdiUpdateChanParams;
2935
2936 /*Request status callback offered by UMAC - it is called if the current
2937 req has returned PENDING as status; it delivers the status of sending
2938 the message over the BUS */
2939 WDI_ReqStatusCb wdiReqStatusCB;
2940
2941 /*The user data passed in by UMAC, it will be sent back when the above
2942 function pointer will be called */
2943 void* pUserData;
2944}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002945
2946/*---------------------------------------------------------------------------
2947 WDI_SwitchCHRspParamsType
2948---------------------------------------------------------------------------*/
2949typedef struct
2950{
2951 /*Status of the response*/
2952 WDI_Status wdiStatus;
2953
2954 /*Indicates the channel that WLAN is on*/
2955 wpt_uint8 ucChannel;
2956
2957#ifdef WLAN_FEATURE_VOWIFI
2958 /*HAL fills in the tx power used for mgmt frames in this field.*/
2959 wpt_int8 ucTxMgmtPower;
2960#endif
2961
2962}WDI_SwitchCHRspParamsType;
2963
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002964/*--------------------------------------------------------------------
2965 WDI_SwitchChRspParamsType_V1
2966--------------------------------------------------------------------*/
2967typedef struct
2968{
2969 /*Status of the response*/
2970 WDI_Status wdiStatus;
2971
2972 /*Indicates the channel that WLAN is on*/
2973 wpt_uint8 ucChannel;
2974
2975#ifdef WLAN_FEATURE_VOWIFI
2976 /*HAL fills in the tx power used for mgmt frames in this field.*/
2977 wpt_int8 ucTxMgmtPower;
2978#endif
2979
2980 /* Source of Channel Switch */
2981 WDI_ChanSwitchSource channelSwitchSrc;
2982}WDI_SwitchChRspParamsType_V1;
2983
Jeff Johnson295189b2012-06-20 16:38:30 -07002984/*---------------------------------------------------------------------------
2985 WDI_ConfigSTAReqParamsType
2986---------------------------------------------------------------------------*/
2987typedef struct
2988{
2989 /*Info for the Join request that will be sent down to the device*/
2990 WDI_ConfigStaReqInfoType wdiReqInfo;
2991
2992 /*Request status callback offered by UMAC - it is called if the current
2993 req has returned PENDING as status; it delivers the status of sending
2994 the message over the BUS */
2995 WDI_ReqStatusCb wdiReqStatusCB;
2996
2997 /*The user data passed in by UMAC, it will be sent back when the above
2998 function pointer will be called */
2999 void* pUserData;
3000}WDI_ConfigSTAReqParamsType;
3001
3002
3003/*---------------------------------------------------------------------------
3004 WDI_UpdateBeaconParamsInfoType
3005---------------------------------------------------------------------------*/
3006
3007typedef struct
3008{
3009 /*BSS Index of the BSS*/
3010 wpt_uint8 ucBssIdx;
3011
3012 /*shortPreamble mode. HAL should update all the STA rates when it
3013 receives this message*/
3014 wpt_uint8 ucfShortPreamble;
3015 /* short Slot time.*/
3016 wpt_uint8 ucfShortSlotTime;
3017 /* Beacon Interval */
3018 wpt_uint16 usBeaconInterval;
3019 /*Protection related */
3020 wpt_uint8 ucllaCoexist;
3021 wpt_uint8 ucllbCoexist;
3022 wpt_uint8 ucllgCoexist;
3023 wpt_uint8 ucHt20MhzCoexist;
3024 wpt_uint8 ucllnNonGFCoexist;
3025 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
3026 wpt_uint8 ucfRIFSMode;
3027
3028 wpt_uint16 usChangeBitmap;
3029}WDI_UpdateBeaconParamsInfoType;
3030
Mohit Khanna4a70d262012-09-11 16:30:12 -07003031#ifdef WLAN_FEATURE_11AC
3032typedef struct
3033{
3034 wpt_uint16 opMode;
3035 wpt_uint16 staId;
3036}WDI_UpdateVHTOpMode;
3037#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003038
3039/*---------------------------------------------------------------------------
3040 WDI_UpdateBeaconParamsType
3041---------------------------------------------------------------------------*/
3042typedef struct
3043{
3044 /*Update Beacon Params Info*/
3045 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3046
3047 /*Request status callback offered by UMAC - it is called if the current
3048 req has returned PENDING as status; it delivers the status of sending
3049 the message over the BUS */
3050 WDI_ReqStatusCb wdiReqStatusCB;
3051
3052 /*The user data passed in by UMAC, it will be sent back when the above
3053 function pointer will be called */
3054 void* pUserData;
3055}WDI_UpdateBeaconParamsType;
3056
3057/*---------------------------------------------------------------------------
3058 WDI_SendBeaconParamsInfoType
3059---------------------------------------------------------------------------*/
3060
3061typedef struct {
3062
3063 /*BSSID of the BSS*/
3064 wpt_macAddr macBSSID;
3065
3066 /* Beacon data */
3067 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3068
3069 /* length of the template */
3070 wpt_uint32 beaconLength;
3071
Jeff Johnson295189b2012-06-20 16:38:30 -07003072 /* TIM IE offset from the beginning of the template.*/
3073 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003074
Jeff Johnson295189b2012-06-20 16:38:30 -07003075 /* P2P IE offset from the beginning of the template */
3076 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003077} WDI_SendBeaconParamsInfoType;
3078
3079/*---------------------------------------------------------------------------
3080 WDI_SendBeaconParamsType
3081---------------------------------------------------------------------------*/
3082typedef struct
3083{
3084 /*Send Beacon Params Info*/
3085 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3086
3087 /*Request status callback offered by UMAC - it is called if the current
3088 req has returned PENDING as status; it delivers the status of sending
3089 the message over the BUS */
3090 WDI_ReqStatusCb wdiReqStatusCB;
3091
3092 /*The user data passed in by UMAC, it will be sent back when the above
3093 function pointer will be called */
3094 void* pUserData;
3095}WDI_SendBeaconParamsType;
3096
3097/*---------------------------------------------------------------------------
3098 WDI_LinkStateType
3099---------------------------------------------------------------------------*/
3100typedef enum
3101{
3102 WDI_LINK_IDLE_STATE = 0,
3103 WDI_LINK_PREASSOC_STATE = 1,
3104 WDI_LINK_POSTASSOC_STATE = 2,
3105 WDI_LINK_AP_STATE = 3,
3106 WDI_LINK_IBSS_STATE = 4,
3107
3108 // BT-AMP Case
3109 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3110 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3111 WDI_LINK_BTAMP_AP_STATE = 7,
3112 WDI_LINK_BTAMP_STA_STATE = 8,
3113
3114 // Reserved for HAL internal use
3115 WDI_LINK_LEARN_STATE = 9,
3116 WDI_LINK_SCAN_STATE = 10,
3117 WDI_LINK_FINISH_SCAN_STATE = 11,
3118 WDI_LINK_INIT_CAL_STATE = 12,
3119 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003120 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303121 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003122 WDI_LINK_MAX = 0x7FFFFFFF
3123} WDI_LinkStateType;
3124
3125/*---------------------------------------------------------------------------
3126 WDI_SetLinkReqInfoType
3127---------------------------------------------------------------------------*/
3128typedef struct
3129{
3130 /*BSSID of the BSS*/
3131 wpt_macAddr macBSSID;
3132
3133 /*Link state*/
3134 WDI_LinkStateType wdiLinkState;
3135
3136 /*BSSID of the BSS*/
3137 wpt_macAddr macSelfStaMacAddr;
3138}WDI_SetLinkReqInfoType;
3139
3140/*---------------------------------------------------------------------------
3141 WDI_SetLinkReqParamsType
3142---------------------------------------------------------------------------*/
3143typedef struct
3144{
3145 /*Link Info*/
3146 WDI_SetLinkReqInfoType wdiLinkInfo;
3147
3148 /*Request status callback offered by UMAC - it is called if the current
3149 req has returned PENDING as status; it delivers the status of sending
3150 the message over the BUS */
3151 WDI_ReqStatusCb wdiReqStatusCB;
3152
3153 /*The user data passed in by UMAC, it will be sent back when the above
3154 function pointer will be called */
3155 void* pUserData;
3156}WDI_SetLinkReqParamsType;
3157
3158/*---------------------------------------------------------------------------
3159 WDI_GetStatsParamsInfoType
3160---------------------------------------------------------------------------*/
3161typedef struct
3162{
3163 /*Indicates the station for which Get Stats are requested..*/
3164 wpt_uint8 ucSTAIdx;
3165
3166 /* categories of stats requested */
3167 wpt_uint32 uStatsMask;
3168}WDI_GetStatsParamsInfoType;
3169
3170/*---------------------------------------------------------------------------
3171 WDI_GetStatsReqParamsType
3172---------------------------------------------------------------------------*/
3173typedef struct
3174{
3175 /*Get Stats Params Info*/
3176 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3177
3178 /*Request status callback offered by UMAC - it is called if the current
3179 req has returned PENDING as status; it delivers the status of sending
3180 the message over the BUS */
3181 WDI_ReqStatusCb wdiReqStatusCB;
3182
3183 /*The user data passed in by UMAC, it will be sent back when the above
3184 function pointer will be called */
3185 void* pUserData;
3186}WDI_GetStatsReqParamsType;
3187
3188/*---------------------------------------------------------------------------
3189 WDI_GetStatsRspParamsType
3190---------------------------------------------------------------------------*/
3191typedef struct
3192{
3193 /*message type is same as the request type*/
3194 wpt_uint16 usMsgType;
3195
3196 /* length of the entire request, includes the pStatsBuf length too*/
3197 wpt_uint16 usMsgLen;
3198
3199 /*Result of the operation*/
3200 WDI_Status wdiStatus;
3201
3202 /*Indicates the station for which Get Stats are requested..*/
3203 wpt_uint8 ucSTAIdx;
3204
3205 /* categories of stats requested */
3206 wpt_uint32 uStatsMask;
3207
3208 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3209 * structure depending on statsMask.*/
3210}WDI_GetStatsRspParamsType;
3211
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003212#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003213/*---------------------------------------------------------------------------
3214 WDI_GetRoamRssiParamsInfoType
3215---------------------------------------------------------------------------*/
3216typedef struct
3217{
3218 /*Indicates the station for which Get Stats are requested..*/
3219 wpt_uint8 ucSTAIdx;
3220
3221 /* categories of stats requested */
3222 wpt_uint32 uStatsMask;
3223}WDI_GetRoamRssiParamsInfoType;
3224
3225/*---------------------------------------------------------------------------
3226 WDI_GetRoamRssiReqParamsType
3227---------------------------------------------------------------------------*/
3228typedef struct
3229{
3230 /*Get Roam Rssi Params Info*/
3231 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3232
3233 /*Request status callback offered by UMAC - it is called if the current
3234 req has returned PENDING as status; it delivers the status of sending
3235 the message over the BUS */
3236 WDI_ReqStatusCb wdiReqStatusCB;
3237
3238 /*The user data passed in by UMAC, it will be sent back when the above
3239 function pointer will be called */
3240 void* pUserData;
3241}WDI_GetRoamRssiReqParamsType;
3242
3243/*---------------------------------------------------------------------------
3244 WDI_GetRoamRssiRspParamsType
3245---------------------------------------------------------------------------*/
3246typedef struct
3247{
3248 /*Result of the operation*/
3249 WDI_Status wdiStatus;
3250
3251 /*Indicates the station for which Get Stats are requested..*/
3252 wpt_uint8 ucSTAIdx;
3253
3254 /* roam rssi requested */
3255 wpt_int8 rssi;
3256
3257 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3258 * structure depending on statsMask.*/
3259}WDI_GetRoamRssiRspParamsType;
3260#endif
3261
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003262#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003263/*---------------------------------------------------------------------------
3264 WDI_TSMStatsParamsInfoType
3265---------------------------------------------------------------------------*/
3266typedef struct
3267{
3268 /*Indicates the station for which Get Stats are requested..*/
3269 wpt_uint8 ucTid;
3270
3271 wpt_macAddr bssid;
3272}WDI_TSMStatsParamsInfoType;
3273
3274/*---------------------------------------------------------------------------
3275 WDI_TSMStatsReqParamsType
3276---------------------------------------------------------------------------*/
3277typedef struct
3278{
3279 /*Get TSM Stats Params Info*/
3280 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3281
3282 WDI_ReqStatusCb wdiReqStatusCB;
3283
3284 /*The user data passed in by UMAC, it will be sent back when the above
3285 function pointer will be called */
3286 void* pUserData;
3287
3288}WDI_TSMStatsReqParamsType;
3289
3290
3291/*---------------------------------------------------------------------------
3292 WDI_TSMStatsRspParamsType
3293---------------------------------------------------------------------------*/
3294typedef struct
3295{
3296 /*Indicates the status of the operation */
3297 WDI_Status wdiStatus;
3298
3299 wpt_uint16 UplinkPktQueueDly;
3300 wpt_uint16 UplinkPktQueueDlyHist[4];
3301 wpt_uint32 UplinkPktTxDly;
3302 wpt_uint16 UplinkPktLoss;
3303 wpt_uint16 UplinkPktCount;
3304 wpt_uint8 RoamingCount;
3305 wpt_uint16 RoamingDly;
3306}WDI_TSMStatsRspParamsType;
3307
3308
3309#endif
3310/*---------------------------------------------------------------------------
3311 WDI_UpdateCfgReqParamsType
3312---------------------------------------------------------------------------*/
3313typedef struct
3314{
3315 /*This is a TLV formatted buffer containing all config values that can
3316 be set through the DAL Interface
3317
3318 The TLV is expected to be formatted like this:
3319
3320 0 7 15 31 ....
3321 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3322
3323 Or from a C construct point of VU it would look like this:
3324
3325 typedef struct WPT_PACK_POST
3326 {
3327 #ifdef WPT_BIG_ENDIAN
3328 wpt_uint32 ucCfgId:8;
3329 wpt_uint32 ucCfgLen:8;
3330 wpt_uint32 usReserved:16;
3331 #else
3332 wpt_uint32 usReserved:16;
3333 wpt_uint32 ucCfgLen:8;
3334 wpt_uint32 ucCfgId:8;
3335 #endif
3336
3337 wpt_uint8 ucCfgBody[ucCfgLen];
3338 }WDI_ConfigType;
3339
3340 Multiple such tuplets are to be placed in the config buffer. One for
3341 each required configuration item:
3342
3343 | TLV 1 | TLV2 | ....
3344
3345 The buffer is expected to be a flat area of memory that can be manipulated
3346 with standard memory routines.
3347
3348 For more info please check paragraph 2.3.1 Config Structure from the
3349 HAL LLD.
3350
3351 For a list of accepted configuration list and IDs please look up
3352 wlan_qct_dal_cfg.h
3353 */
3354 void* pConfigBuffer;
3355
3356 /*Length of the config buffer above*/
3357 wpt_uint32 uConfigBufferLen;
3358
3359 /*Request status callback offered by UMAC - it is called if the current
3360 req has returned PENDING as status; it delivers the status of sending
3361 the message over the BUS */
3362 WDI_ReqStatusCb wdiReqStatusCB;
3363
3364 /*The user data passed in by UMAC, it will be sent back when the above
3365 function pointer will be called */
3366 void* pUserData;
3367}WDI_UpdateCfgReqParamsType;
3368
3369/*---------------------------------------------------------------------------
3370 WDI_UpdateProbeRspTemplateInfoType
3371---------------------------------------------------------------------------*/
3372//Default Beacon template size
3373#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3374
3375#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3376
3377typedef struct
3378{
3379 /*BSSID for which the Probe Template is to be used*/
3380 wpt_macAddr macBSSID;
3381
3382 /*Probe response template*/
3383 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3384
3385 /*Template Len*/
3386 wpt_uint32 uProbeRespTemplateLen;
3387
3388 /*Bitmap for the IEs that are to be handled at SLM level*/
3389 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3390
3391}WDI_UpdateProbeRspTemplateInfoType;
3392
3393/*---------------------------------------------------------------------------
3394 WDI_UpdateProbeRspParamsType
3395---------------------------------------------------------------------------*/
3396typedef struct
3397{
3398 /*Link Info*/
3399 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3400
3401 /*Request status callback offered by UMAC - it is called if the current
3402 req has returned PENDING as status; it delivers the status of sending
3403 the message over the BUS */
3404 WDI_ReqStatusCb wdiReqStatusCB;
3405
3406 /*The user data passed in by UMAC, it will be sent back when the above
3407 function pointer will be called */
3408 void* pUserData;
3409}WDI_UpdateProbeRspTemplateParamsType;
3410
3411/*---------------------------------------------------------------------------
3412 WDI_NvDownloadReqBlobInfo
3413---------------------------------------------------------------------------*/
3414
3415typedef struct
3416{
3417 /* Blob starting address*/
3418 void *pBlobAddress;
3419
3420 /* Blob size */
3421 wpt_uint32 uBlobSize;
3422
3423}WDI_NvDownloadReqBlobInfo;
3424
3425/*---------------------------------------------------------------------------
3426 WDI_NvDownloadReqParamsType
3427---------------------------------------------------------------------------*/
3428typedef struct
3429{
3430 /*NV Blob Info*/
3431 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3432
3433 /*Request status callback offered by UMAC - it is called if the current
3434 req has returned PENDING as status; it delivers the status of sending
3435 the message over the BUS */
3436 WDI_ReqStatusCb wdiReqStatusCB;
3437
3438 /*The user data passed in by UMAC, it will be sent back when the above
3439 function pointer will be called */
3440 void* pUserData;
3441
3442}WDI_NvDownloadReqParamsType;
3443
3444/*---------------------------------------------------------------------------
3445 WDI_NvDownloadRspInfoType
3446---------------------------------------------------------------------------*/
3447typedef struct
3448{
3449 /*Status of the response*/
3450 WDI_Status wdiStatus;
3451
3452}WDI_NvDownloadRspInfoType;
3453
3454/*---------------------------------------------------------------------------
3455 WDI_SetMaxTxPowerInfoType
3456---------------------------------------------------------------------------*/
3457
3458typedef struct
3459{
3460 /*BSSID is needed to identify which session issued this request. As the request has
3461 power constraints, this should be applied only to that session*/
3462 wpt_macAddr macBSSId;
3463
3464
3465 wpt_macAddr macSelfStaMacAddr;
3466
3467 /* In request power == MaxTxpower to be used.*/
3468 wpt_int8 ucPower;
3469
3470}WDI_SetMaxTxPowerInfoType;
3471
3472/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003473 WDI_SetTxPowerInfoType
3474---------------------------------------------------------------------------*/
3475
3476typedef struct
3477{
3478 wpt_uint8 bssIdx;
3479 /* In request power == MaxTxpower to be used.*/
3480 wpt_uint8 ucPower;
3481
3482}WDI_SetTxPowerInfoType;
3483
3484/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003485 WDI_SetMaxTxPowerParamsType
3486---------------------------------------------------------------------------*/
3487typedef struct
3488{
3489 /*Link Info*/
3490 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3491
3492 /*Request status callback offered by UMAC - it is called if the current
3493 req has returned PENDING as status; it delivers the status of sending
3494 the message over the BUS */
3495 WDI_ReqStatusCb wdiReqStatusCB;
3496
3497 /*The user data passed in by UMAC, it will be sent back when the above
3498 function pointer will be called */
3499 void* pUserData;
3500}WDI_SetMaxTxPowerParamsType;
3501
schang86c22c42013-03-13 18:41:24 -07003502/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003503 WDI_Band
3504---------------------------------------------------------------------------*/
3505typedef enum
3506{
3507 WDI_BAND_ALL,
3508 WDI_BAND_24,
3509 WDI_BAND_5G,
3510 WDI_BAND_MAX,
3511}eWDIBand;
3512
3513/*---------------------------------------------------------------------------
3514 WDI_MaxTxPowerPerBandInfoType
3515---------------------------------------------------------------------------*/
3516typedef struct
3517{
3518 eWDIBand bandInfo;
3519 /* In request power == MaxTxpower to be used.*/
3520 wpt_uint8 ucPower;
3521}WDI_MaxTxPowerPerBandInfoType;
3522
3523/*---------------------------------------------------------------------------
3524 WDI_SetMaxTxPowerPerBandParamsType
3525---------------------------------------------------------------------------*/
3526typedef struct
3527{
3528 /*Link Info*/
3529 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3530
3531 /*Request status callback offered by UMAC - it is called if the current
3532 req has returned PENDING as status; it delivers the status of sending
3533 the message over the BUS */
3534 WDI_ReqStatusCb wdiReqStatusCB;
3535
3536 /*The user data passed in by UMAC, it will be sent back when the above
3537 function pointer will be called */
3538 void* pUserData;
3539}WDI_SetMaxTxPowerPerBandParamsType;
3540
3541/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003542 WDI_SetTxPowerParamsType
3543---------------------------------------------------------------------------*/
3544typedef struct
3545{
3546 /*Link Info*/
3547 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3548
3549 /*Request status callback offered by UMAC - it is called if the current
3550 req has returned PENDING as status; it delivers the status of sending
3551 the message over the BUS */
3552 WDI_ReqStatusCb wdiReqStatusCB;
3553
3554 /*The user data passed in by UMAC, it will be sent back when the above
3555 function pointer will be called */
3556 void* pUserData;
3557}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003558
3559/*---------------------------------------------------------------------------
3560 WDI_SetMaxTxPowerRspMsg
3561---------------------------------------------------------------------------*/
3562
3563typedef struct
3564{
3565 /* In response, power==tx power used for management frames*/
3566 wpt_int8 ucPower;
3567
3568 /*Result of the operation*/
3569 WDI_Status wdiStatus;
3570
3571}WDI_SetMaxTxPowerRspMsg;
3572
schang86c22c42013-03-13 18:41:24 -07003573/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003574 WDI_SetMaxTxPowerPerBandRspMsg
3575---------------------------------------------------------------------------*/
3576typedef struct
3577{
3578 /* In response, power==tx power used for management frames*/
3579 wpt_int8 ucPower;
3580
3581 /*Result of the operation*/
3582 WDI_Status wdiStatus;
3583
3584}WDI_SetMaxTxPowerPerBandRspMsg;
3585
3586/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003587 WDI_SetTxPowerRspMsg
3588---------------------------------------------------------------------------*/
3589
3590typedef struct
3591{
3592 /* In response, power==tx power used for management frames*/
3593 wpt_int8 ucPower;
3594
3595 /*Result of the operation*/
3596 WDI_Status wdiStatus;
3597
3598}WDI_SetTxPowerRspMsg;
3599
Jeff Johnson295189b2012-06-20 16:38:30 -07003600typedef struct
3601{
3602 wpt_uint8 ucOpp_ps;
3603 wpt_uint32 uCtWindow;
3604 wpt_uint8 ucCount;
3605 wpt_uint32 uDuration;
3606 wpt_uint32 uInterval;
3607 wpt_uint32 uSingle_noa_duration;
3608 wpt_uint8 ucPsSelection;
3609}WDI_SetP2PGONOAReqInfoType;
3610
3611/*---------------------------------------------------------------------------
3612 WDI_SetP2PGONOAReqParamsType
3613---------------------------------------------------------------------------*/
3614typedef struct
3615{
3616 /*P2P GO NOA Req*/
3617 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3618
3619 /*Request status callback offered by UMAC - it is called if the current
3620 req has returned PENDING as status; it delivers the status of sending
3621 the message over the BUS */
3622 WDI_ReqStatusCb wdiReqStatusCB;
3623
3624 /*The user data passed in by UMAC, it will be sent back when the above
3625 function pointer will be called */
3626 void* pUserData;
3627}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003628
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303629#define WDI_MAX_SUPP_CHANNELS 128
3630#define WDI_MAX_SUPP_OPER_CLASSES 32
3631
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303632typedef struct
3633{
3634 wpt_uint16 uStaIdx;
3635 wpt_uint8 uIsResponder;
3636 wpt_uint8 uUapsdQueues;
3637 wpt_uint8 uMaxSp;
3638 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303639 wpt_uint8 uIsOffChannelSupported;
3640 wpt_uint8 peerCurrOperClass;
3641 wpt_uint8 selfCurrOperClass;
3642 wpt_uint8 validChannelsLen;
3643 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3644 wpt_uint8 validOperClassesLen;
3645 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303646}WDI_SetTDLSLinkEstablishReqInfoType;
3647/*---------------------------------------------------------------------------
3648 WDI_SetTDLSLinkEstablishReqParamsType
3649---------------------------------------------------------------------------*/
3650typedef struct
3651{
3652 /*TDLS Link Establish Req*/
3653 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3654
3655 /*Request status callback offered by UMAC - it is called if the current
3656 req has returned PENDING as status; it delivers the status of sending
3657 the message over the BUS */
3658 WDI_ReqStatusCb wdiReqStatusCB;
3659
3660 /*The user data passed in by UMAC, it will be sent back when the above
3661 function pointer will be called */
3662 void* pUserData;
3663}WDI_SetTDLSLinkEstablishReqParamsType;
3664
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303665typedef struct
3666{
3667 /*Result of the operation*/
3668 WDI_Status wdiStatus;
3669
3670 /*STA Idx*/
3671 wpt_uint16 uStaIdx;
3672}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003673
Atul Mittalc0f739f2014-07-31 13:47:47 +05303674
3675
3676typedef struct
3677{
3678 /*STA Index*/
3679 wpt_uint8 staIdx;
3680 /* if this is 1, self is initiator otherwise responder only*/
3681 wpt_uint8 isOffchannelInitiator;
3682 /*TDLS off channel related params */
3683 wpt_uint8 targetOperClass;
3684 wpt_uint8 targetChannel;
3685 wpt_uint8 secondaryChannelOffset;
3686 wpt_uint8 reserved[64];
3687}WDI_SetTDLSChanSwitchReqInfoType;
3688
3689typedef struct
3690{
3691 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3692 WDI_ReqStatusCb wdiReqStatusCB;
3693 void* pUserData;
3694}WDI_SetTDLSChanSwitchReqParamsType;
3695
3696
3697typedef struct
3698{
3699 /*Result of the operation*/
3700 WDI_Status wdiStatus;
3701
3702 /*STA Idx*/
3703 wpt_uint16 uStaIdx;
3704}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003705/*---------------------------------------------------------------------------
3706 WDI_SetAddSTASelfParamsType
3707---------------------------------------------------------------------------*/
3708typedef struct
3709{
3710 /*Self Station MAC address*/
3711 wpt_macAddr selfMacAddr;
3712
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003713 /*Self STA device mode*/
3714 wpt_uint32 currDeviceMode;
3715
Jeff Johnson295189b2012-06-20 16:38:30 -07003716 /*Status of the operation*/
3717 wpt_uint32 uStatus;
3718}WDI_AddSTASelfInfoType;
3719
3720/*---------------------------------------------------------------------------
3721 WDI_SetAddSTASelfParamsType
3722---------------------------------------------------------------------------*/
3723typedef struct
3724{
3725 /* Add Sta Self Req */
3726 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3727
3728 /*Request status callback offered by UMAC - it is called if the current
3729 req has returned PENDING as status; it delivers the status of sending
3730 the message over the BUS */
3731 WDI_ReqStatusCb wdiReqStatusCB;
3732
3733 /*The user data passed in by UMAC, it will be sent back when the above
3734 function pointer will be called */
3735 void* pUserData;
3736}WDI_AddSTASelfReqParamsType;
3737
3738
3739/*---------------------------------------------------------------------------
3740 WDI_AddSTASelfRspParamsType
3741---------------------------------------------------------------------------*/
3742typedef struct
3743{
3744 /*Status of the response*/
3745 WDI_Status wdiStatus;
3746
3747 /*STA Idx allocated by HAL*/
3748 wpt_uint8 ucSTASelfIdx;
3749
3750 /* DPU Index (IGTK, PTK, GTK all same) */
3751 wpt_uint8 dpuIdx;
3752
3753 /* DPU Signature */
3754 wpt_uint8 dpuSignature;
3755
3756 /*Self STA Mac*/
3757 wpt_macAddr macSelfSta;
3758
3759}WDI_AddSTASelfRspParamsType;
3760
3761/*---------------------------------------------------------------------------
3762 WDI_DelSTASelfReqParamsType
3763 Del Sta Self info passed to WDI form WDA
3764---------------------------------------------------------------------------*/
3765typedef struct
3766{
3767 wpt_macAddr selfMacAddr;
3768
3769}WDI_DelSTASelfInfoType;
3770
3771/*---------------------------------------------------------------------------
3772 WDI_DelSTASelfReqParamsType
3773 Del Sta Self info passed to WDI form WDA
3774---------------------------------------------------------------------------*/
3775typedef struct
3776{
3777 /*Del Sta Self Info Type */
3778 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3779 /*Request status callback offered by UMAC - it is called if the current req
3780 has returned PENDING as status; it delivers the status of sending the message
3781 over the BUS */
3782 WDI_ReqStatusCb wdiReqStatusCB;
3783 /*The user data passed in by UMAC, it will be sent back when the above
3784 function pointer will be called */
3785 void* pUserData;
3786}WDI_DelSTASelfReqParamsType;
3787
3788/*---------------------------------------------------------------------------
3789 WDI_DelSTASelfRspParamsType
3790---------------------------------------------------------------------------*/
3791typedef struct
3792{
3793 /*Status of the response*/
3794 WDI_Status wdiStatus;
3795
3796 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3797// wpt_uint8 ucSTAIdx;
3798}WDI_DelSTASelfRspParamsType;
3799
3800/*---------------------------------------------------------------------------
3801 WDI_UapsdInfoType
3802 UAPSD parameters passed per AC to WDA from UMAC
3803---------------------------------------------------------------------------*/
3804typedef struct
3805{
3806 wpt_uint8 ucSTAIdx; // STA index
3807 wpt_uint8 ucAc; // Access Category
3808 wpt_uint8 ucUp; // User Priority
3809 wpt_uint32 uSrvInterval; // Service Interval
3810 wpt_uint32 uSusInterval; // Suspend Interval
3811 wpt_uint32 uDelayInterval; // Delay Interval
3812} WDI_UapsdInfoType;
3813
3814/*---------------------------------------------------------------------------
3815 WDI_SetUapsdAcParamsReqParamsType
3816 UAPSD parameters passed per AC to WDI from WDA
3817---------------------------------------------------------------------------*/
3818typedef struct
3819{
3820 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3821 WDI_UapsdInfoType wdiUapsdInfo;
3822 /*Request status callback offered by UMAC - it is called if the current req
3823 has returned PENDING as status; it delivers the status of sending the message
3824 over the BUS */
3825 WDI_ReqStatusCb wdiReqStatusCB;
3826 /*The user data passed in by UMAC, it will be sent back when the above
3827 function pointer will be called */
3828 void* pUserData;
3829}WDI_SetUapsdAcParamsReqParamsType;
3830
3831/*---------------------------------------------------------------------------
3832 WDI_EnterBmpsReqinfoType
3833 Enter BMPS parameters passed to WDA from UMAC
3834---------------------------------------------------------------------------*/
3835typedef struct
3836{
3837 //TBTT value derived from the last beacon
3838 wpt_uint8 ucBssIdx;
3839 wpt_uint64 uTbtt;
3840 wpt_uint8 ucDtimCount;
3841 //DTIM period given to HAL during association may not be valid,
3842 //if association is based on ProbeRsp instead of beacon.
3843 wpt_uint8 ucDtimPeriod;
3844 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3845 DXE when DXE wakes up from power save*/
3846 unsigned int dxePhyAddr;
3847
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003848 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003849 wpt_uint32 rssiFilterPeriod;
3850 wpt_uint32 numBeaconPerRssiAverage;
3851 wpt_uint8 bRssiFilterEnable;
3852}WDI_EnterBmpsReqinfoType;
3853
3854/*---------------------------------------------------------------------------
3855 WDI_EnterBmpsReqParamsType
3856 Enter BMPS parameters passed to WDI from WDA
3857---------------------------------------------------------------------------*/
3858typedef struct
3859{
3860 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3861 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3862 /*Request status callback offered by UMAC - it is called if the current req
3863 has returned PENDING as status; it delivers the status of sending the message
3864 over the BUS */
3865 WDI_ReqStatusCb wdiReqStatusCB;
3866 /*The user data passed in by UMAC, it will be sent back when the above
3867 function pointer will be called */
3868 void* pUserData;
3869}WDI_EnterBmpsReqParamsType;
3870
3871/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303872 WDI_EnterImpsReqParamsType
3873 Enter IMPS parameters passed to WDI from WDA
3874---------------------------------------------------------------------------*/
3875typedef struct
3876{
3877 /*Request status callback offered by UMAC - it is called if the current req
3878 has returned PENDING as status; it delivers the status of sending the message
3879 over the BUS */
3880 WDI_ReqStatusCb wdiReqStatusCB;
3881 /*The user data passed in by UMAC, it will be sent back when the above
3882 function pointer will be called */
3883 void* pUserData;
3884}WDI_EnterImpsReqParamsType;
3885
3886/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303887 WDI_ExitImpsReqParamsType
3888 Exit IMPS parameters passed to WDI from WDA
3889----------------------------------------------------------------------------*/
3890typedef struct
3891{
3892 /*Request status callback offered by UMAC */
3893 WDI_ReqStatusCb wdiReqStatusCB;
3894 /*The user data passed in by UMAC, it will be sent back when the above
3895 function pointer will be called */
3896 void* pUserData;
3897
3898}WDI_ExitImpsReqParamsType;
3899
3900/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003901 WDI_EnterBmpsReqParamsType
3902 Enter BMPS parameters passed from WDI to WDA
3903---------------------------------------------------------------------------*/
3904typedef struct
3905{
3906 /*Status of the response*/
3907 WDI_Status wdiStatus;
3908
3909 /*BssIDX of the session*/
3910 wpt_uint8 bssIdx;
3911}WDI_EnterBmpsRspParamsType;
3912
3913/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003914 WDI_ExitBmpsReqinfoType
3915 Exit BMPS parameters passed to WDA from UMAC
3916---------------------------------------------------------------------------*/
3917typedef struct
3918{
3919 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003920 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003921}WDI_ExitBmpsReqinfoType;
3922
3923/*---------------------------------------------------------------------------
3924 WDI_ExitBmpsReqParamsType
3925 Exit BMPS parameters passed to WDI from WDA
3926---------------------------------------------------------------------------*/
3927typedef struct
3928{
3929 /*Exit BMPS Info Type, same as tExitBmpsParams */
3930 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3931 /*Request status callback offered by UMAC - it is called if the current req
3932 has returned PENDING as status; it delivers the status of sending the message
3933 over the BUS */
3934 WDI_ReqStatusCb wdiReqStatusCB;
3935 /*The user data passed in by UMAC, it will be sent back when the above
3936 function pointer will be called */
3937 void* pUserData;
3938}WDI_ExitBmpsReqParamsType;
3939
3940/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003941 WDI_ExitBmpsReqParamsType
3942 Exit BMPS parameters passed from WDI to WDA
3943---------------------------------------------------------------------------*/
3944typedef struct
3945{
3946 /*Status of the response*/
3947 WDI_Status wdiStatus;
3948
3949 /*BssIDX of the session*/
3950 wpt_uint8 bssIdx;
3951}WDI_ExitBmpsRspParamsType;
3952
3953/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003954 WDI_EnterUapsdReqinfoType
3955 Enter UAPSD parameters passed to WDA from UMAC
3956---------------------------------------------------------------------------*/
3957typedef struct
3958{
3959 wpt_uint8 ucBkDeliveryEnabled:1;
3960 wpt_uint8 ucBeDeliveryEnabled:1;
3961 wpt_uint8 ucViDeliveryEnabled:1;
3962 wpt_uint8 ucVoDeliveryEnabled:1;
3963 wpt_uint8 ucBkTriggerEnabled:1;
3964 wpt_uint8 ucBeTriggerEnabled:1;
3965 wpt_uint8 ucViTriggerEnabled:1;
3966 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003967 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003968}WDI_EnterUapsdReqinfoType;
3969
3970/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003971 WDI_EnterUapsdRspParamsType
3972 Enter UAPSD parameters passed from WDI to WDA
3973---------------------------------------------------------------------------*/
3974typedef struct
3975{
3976 /*Status of the response*/
3977 WDI_Status wdiStatus;
3978
3979 /*BssIDX of the session*/
3980 wpt_uint8 bssIdx;
3981}WDI_EnterUapsdRspParamsType;
3982
3983/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003984 WDI_EnterUapsdReqinfoType
3985 Enter UAPSD parameters passed to WDI from WDA
3986---------------------------------------------------------------------------*/
3987typedef struct
3988{
3989 /*Enter UAPSD Info Type, same as tUapsdParams */
3990 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3991 /*Request status callback offered by UMAC - it is called if the current req
3992 has returned PENDING as status; it delivers the status of sending the message
3993 over the BUS */
3994 WDI_ReqStatusCb wdiReqStatusCB;
3995 /*The user data passed in by UMAC, it will be sent back when the above
3996 function pointer will be called */
3997 void* pUserData;
3998}WDI_EnterUapsdReqParamsType;
3999
4000/*---------------------------------------------------------------------------
4001 WDI_UpdateUapsdReqinfoType
4002 Update UAPSD parameters passed to WDA from UMAC
4003---------------------------------------------------------------------------*/
4004typedef struct
4005{
4006 wpt_uint8 ucSTAIdx;
4007 wpt_uint8 ucUapsdACMask;
4008 wpt_uint32 uMaxSpLen;
4009}WDI_UpdateUapsdReqinfoType;
4010
4011/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004012 WDI_ExitUapsdReqinfoType
4013 Exit UAPSD parameters passed to WDA from UMAC
4014---------------------------------------------------------------------------*/
4015typedef struct
4016{
4017 wpt_uint8 bssIdx;
4018}WDI_ExitUapsdReqinfoType;
4019
4020/*---------------------------------------------------------------------------
4021 WDI_ExitUapsdReqParamsType
4022 Exit UAPSD parameters passed to WDI from WDA
4023---------------------------------------------------------------------------*/
4024typedef struct
4025{
4026 /*Exit UAPSD Info Type, same as tUapsdParams */
4027 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
4028 /*Request status callback offered by UMAC - it is called if the current req
4029 has returned PENDING as status; it delivers the status of sending the message
4030 over the BUS */
4031 WDI_ReqStatusCb wdiReqStatusCB;
4032 /*The user data passed in by UMAC, it will be sent back when the above
4033 function pointer will be called */
4034 void* pUserData;
4035}WDI_ExitUapsdReqParamsType;
4036
4037/*---------------------------------------------------------------------------
4038 WDI_ExitUapsdRspParamsType
4039 Exit UAPSD parameters passed from WDI to WDA
4040---------------------------------------------------------------------------*/
4041typedef struct
4042{
4043 /*Status of the response*/
4044 WDI_Status wdiStatus;
4045
4046 /*BssIDX of the session*/
4047 wpt_uint8 bssIdx;
4048}WDI_ExitUapsdRspParamsType;
4049
4050/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004051 WDI_UpdateUapsdReqParamsType
4052 Update UAPSD parameters passed to WDI form WDA
4053---------------------------------------------------------------------------*/
4054typedef struct
4055{
4056 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4057 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4058 /*Request status callback offered by UMAC - it is called if the current req
4059 has returned PENDING as status; it delivers the status of sending the message
4060 over the BUS */
4061 WDI_ReqStatusCb wdiReqStatusCB;
4062 /*The user data passed in by UMAC, it will be sent back when the above
4063 function pointer will be called */
4064 void* pUserData;
4065}WDI_UpdateUapsdReqParamsType;
4066
4067/*---------------------------------------------------------------------------
4068 WDI_ConfigureRxpFilterReqParamsType
4069 RXP filter parameters passed to WDI form WDA
4070---------------------------------------------------------------------------*/
4071typedef struct
4072{
4073 /* Mode of Mcast and Bcast filters configured */
4074 wpt_uint8 ucSetMcstBcstFilterSetting;
4075
4076 /* Mcast Bcast Filters enable/disable*/
4077 wpt_uint8 ucSetMcstBcstFilter;
4078}WDI_RxpFilterReqParamsType;
4079
4080typedef struct
4081{
4082 /* Rxp Filter */
4083 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4084
4085 /*Request status callback offered by UMAC - it is called if the current req
4086 has returned PENDING as status; it delivers the status of sending the message
4087 over the BUS */
4088 WDI_ReqStatusCb wdiReqStatusCB;
4089 /*The user data passed in by UMAC, it will be sent back when the above
4090 function pointer will be called */
4091 void* pUserData;
4092}WDI_ConfigureRxpFilterReqParamsType;
4093
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304094typedef struct
4095{
4096 wpt_uint8 enableFlag;
4097 wpt_uint8 frameType;
4098 wpt_uint8 frameSize;
4099 wpt_uint8 bufferMode;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304100 wpt_uint8 continuousFrameLogging;
4101 wpt_uint8 minLogBufferSize;
4102 wpt_uint8 maxLogBufferSize;
4103}WDI_FWLoggingInitReqInfoType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304104
Siddharth Bhal64246172015-02-27 01:04:37 +05304105typedef struct
4106{
Sachin Ahuja715aafc2015-07-21 23:35:10 +05304107 wpt_uint32 reason_code;
4108}WDI_FatalEventLogsReqInfoType;
4109
4110
4111typedef struct
4112{
Siddharth Bhal64246172015-02-27 01:04:37 +05304113 wpt_uint8 flags;
4114}WDI_GetFrameLogReqInfoType;
4115
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304116typedef struct
4117{
4118 wpt_uint64 logBuffAddress[MAX_NUM_OF_BUFFER];
4119 wpt_uint32 status;
4120 wpt_uint32 logBuffLength[MAX_NUM_OF_BUFFER];
4121}WDI_FWLoggingDXEdoneIndInfoType;
4122
Jeff Johnson295189b2012-06-20 16:38:30 -07004123/*---------------------------------------------------------------------------
4124 WDI_BeaconFilterInfoType
4125 Beacon Filtering data structures passed to WDA form UMAC
4126---------------------------------------------------------------------------*/
4127typedef struct
4128{
4129 wpt_uint16 usCapabilityInfo;
4130 wpt_uint16 usCapabilityMask;
4131 wpt_uint16 usBeaconInterval;
4132 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004133 wpt_uint8 bssIdx;
4134 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004135}WDI_BeaconFilterInfoType;
4136
4137/*---------------------------------------------------------------------------
4138 WDI_BeaconFilterReqParamsType
4139 Beacon Filtering parameters passed to WDI form WDA
4140---------------------------------------------------------------------------*/
4141typedef struct
4142{
4143 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4144 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4145 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4146 copy of params from WDA to WDI */
4147 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4148 /*Request status callback offered by UMAC - it is called if the current req
4149 has returned PENDING as status; it delivers the status of sending the message
4150 over the BUS */
4151 WDI_ReqStatusCb wdiReqStatusCB;
4152 /*The user data passed in by UMAC, it will be sent back when the above
4153 function pointer will be called */
4154 void* pUserData;
4155}WDI_BeaconFilterReqParamsType;
4156
4157/*---------------------------------------------------------------------------
4158 WDI_RemBeaconFilterInfoType
4159 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4160---------------------------------------------------------------------------*/
4161typedef struct
4162{
4163 wpt_uint8 ucIeCount;
4164 wpt_uint8 ucRemIeId[1];
4165}WDI_RemBeaconFilterInfoType;
4166
4167/*---------------------------------------------------------------------------
4168 WDI_RemBeaconFilterReqParamsType
4169 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4170---------------------------------------------------------------------------*/
4171typedef struct
4172{
4173 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4174 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4175 /*Request status callback offered by UMAC - it is called if the current req
4176 has returned PENDING as status; it delivers the status of sending the message
4177 over the BUS */
4178 WDI_ReqStatusCb wdiReqStatusCB;
4179 /*The user data passed in by UMAC, it will be sent back when the above
4180 function pointer will be called */
4181 void* pUserData;
4182}WDI_RemBeaconFilterReqParamsType;
4183
4184/*---------------------------------------------------------------------------
4185 WDI_RSSIThresholdsType
4186 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4187---------------------------------------------------------------------------*/
4188typedef struct
4189{
4190 wpt_int8 ucRssiThreshold1 : 8;
4191 wpt_int8 ucRssiThreshold2 : 8;
4192 wpt_int8 ucRssiThreshold3 : 8;
4193 wpt_uint8 bRssiThres1PosNotify : 1;
4194 wpt_uint8 bRssiThres1NegNotify : 1;
4195 wpt_uint8 bRssiThres2PosNotify : 1;
4196 wpt_uint8 bRssiThres2NegNotify : 1;
4197 wpt_uint8 bRssiThres3PosNotify : 1;
4198 wpt_uint8 bRssiThres3NegNotify : 1;
4199 wpt_uint8 bReserved10 : 2;
4200} WDI_RSSIThresholdsType;
4201
4202/*---------------------------------------------------------------------------
4203 WDI_SetRSSIThresholdsReqParamsType
4204 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4205---------------------------------------------------------------------------*/
4206typedef struct
4207{
4208 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4209 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4210 /*Request status callback offered by UMAC - it is called if the current req
4211 has returned PENDING as status; it delivers the status of sending the message
4212 over the BUS */
4213 WDI_ReqStatusCb wdiReqStatusCB;
4214 /*The user data passed in by UMAC, it will be sent back when the above
4215 function pointer will be called */
4216 void* pUserData;
4217}WDI_SetRSSIThresholdsReqParamsType;
4218
4219/*---------------------------------------------------------------------------
4220 WDI_HostOffloadReqType
4221 host offload info passed to WDA form UMAC
4222---------------------------------------------------------------------------*/
4223#ifdef WLAN_NS_OFFLOAD
4224typedef struct
4225{
4226 wpt_uint8 srcIPv6Addr[16];
4227 wpt_uint8 selfIPv6Addr[16];
4228 //Only support 2 possible Network Advertisement IPv6 address
4229 wpt_uint8 targetIPv6Addr1[16];
4230 wpt_uint8 targetIPv6Addr2[16];
4231 wpt_uint8 selfMacAddr[6];
4232 wpt_uint8 srcIPv6AddrValid : 1;
4233 wpt_uint8 targetIPv6Addr1Valid : 1;
4234 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304235 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004236} WDI_NSOffloadParams;
4237#endif //WLAN_NS_OFFLOAD
4238
4239typedef struct
4240{
4241 wpt_uint8 ucOffloadType;
4242 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004243 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004244 union
4245 {
4246 wpt_uint8 aHostIpv4Addr [4];
4247 wpt_uint8 aHostIpv6Addr [16];
4248 } params;
4249} WDI_HostOffloadReqType;
4250
4251/*---------------------------------------------------------------------------
4252 WDI_HostOffloadReqParamsType
4253 host offload info passed to WDI form WDA
4254---------------------------------------------------------------------------*/
4255typedef struct
4256{
4257 /*Host offload Info Type, same as tHalHostOffloadReq */
4258 WDI_HostOffloadReqType wdiHostOffloadInfo;
4259#ifdef WLAN_NS_OFFLOAD
4260 WDI_NSOffloadParams wdiNsOffloadParams;
4261#endif //WLAN_NS_OFFLOAD
4262 /*Request status callback offered by UMAC - it is called if the current req
4263 has returned PENDING as status; it delivers the status of sending the message
4264 over the BUS */
4265 WDI_ReqStatusCb wdiReqStatusCB;
4266 /*The user data passed in by UMAC, it will be sent back when the above
4267 function pointer will be called */
4268 void* pUserData;
4269}WDI_HostOffloadReqParamsType;
4270
4271/*---------------------------------------------------------------------------
4272 WDI_KeepAliveReqType
4273 Keep Alive info passed to WDA form UMAC
4274---------------------------------------------------------------------------*/
4275typedef struct
4276{
4277 wpt_uint8 ucPacketType;
4278 wpt_uint32 ucTimePeriod;
4279 wpt_uint8 aHostIpv4Addr[4];
4280 wpt_uint8 aDestIpv4Addr[4];
4281 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004282 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004283} WDI_KeepAliveReqType;
4284
4285/*---------------------------------------------------------------------------
4286 WDI_KeepAliveReqParamsType
4287 Keep Alive passed to WDI form WDA
4288---------------------------------------------------------------------------*/
4289typedef struct
4290{
4291 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4292 WDI_KeepAliveReqType wdiKeepAliveInfo;
4293 /*Request status callback offered by UMAC - it is called if the current req
4294 has returned PENDING as status; it delivers the status of sending the message
4295 over the BUS */
4296 WDI_ReqStatusCb wdiReqStatusCB;
4297 /*The user data passed in by UMAC, it will be sent back when the above
4298 function pointer will be called */
4299 void* pUserData;
4300}WDI_KeepAliveReqParamsType;
4301
4302/*---------------------------------------------------------------------------
4303 WDI_WowlAddBcPtrnInfoType
4304 Wowl add ptrn info passed to WDA form UMAC
4305---------------------------------------------------------------------------*/
4306typedef struct
4307{
4308 wpt_uint8 ucPatternId; // Pattern ID
4309 // Pattern byte offset from beginning of the 802.11 packet to start of the
4310 // wake-up pattern
4311 wpt_uint8 ucPatternByteOffset;
4312 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4313 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4314 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4315 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4316 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4317 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004318 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004319} WDI_WowlAddBcPtrnInfoType;
4320
4321/*---------------------------------------------------------------------------
4322 WDI_WowlAddBcPtrnReqParamsType
4323 Wowl add ptrn info passed to WDI form WDA
4324---------------------------------------------------------------------------*/
4325typedef struct
4326{
4327 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4328 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4329 /*Request status callback offered by UMAC - it is called if the current req
4330 has returned PENDING as status; it delivers the status of sending the message
4331 over the BUS */
4332 WDI_ReqStatusCb wdiReqStatusCB;
4333 /*The user data passed in by UMAC, it will be sent back when the above
4334 function pointer will be called */
4335 void* pUserData;
4336}WDI_WowlAddBcPtrnReqParamsType;
4337
4338/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004339 WDI_WowlAddBcPtrnRspParamsType
4340 Wowl add ptrn info passed from WDI to WDA
4341---------------------------------------------------------------------------*/
4342typedef struct
4343{
4344 /*Status of the response*/
4345 WDI_Status wdiStatus;
4346 /*BssIDX of the session*/
4347 wpt_uint8 bssIdx;
4348}WDI_WowlAddBcPtrnRspParamsType;
4349
4350/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004351 WDI_WowlDelBcPtrnInfoType
4352 Wowl add ptrn info passed to WDA form UMAC
4353---------------------------------------------------------------------------*/
4354typedef struct
4355{
4356 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004357 wpt_uint8 ucPatternId;
4358 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004359} WDI_WowlDelBcPtrnInfoType;
4360
4361/*---------------------------------------------------------------------------
4362 WDI_WowlDelBcPtrnReqParamsType
4363 Wowl add ptrn info passed to WDI form WDA
4364---------------------------------------------------------------------------*/
4365typedef struct
4366{
4367 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4368 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4369 /*Request status callback offered by UMAC - it is called if the current req
4370 has returned PENDING as status; it delivers the status of sending the message
4371 over the BUS */
4372 WDI_ReqStatusCb wdiReqStatusCB;
4373 /*The user data passed in by UMAC, it will be sent back when the above
4374 function pointer will be called */
4375 void* pUserData;
4376}WDI_WowlDelBcPtrnReqParamsType;
4377
4378/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004379 WDI_WowlDelBcPtrnRspParamsType
4380 Wowl Del ptrn info passed from WDI to WDA
4381---------------------------------------------------------------------------*/
4382typedef struct
4383{
4384 /*Status of the response*/
4385 WDI_Status wdiStatus;
4386 /*BssIDX of the session*/
4387 wpt_uint8 bssIdx;
4388}WDI_WowlDelBcPtrnRspParamsType;
4389
4390/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004391 WDI_WowlEnterInfoType
4392 Wowl enter info passed to WDA form UMAC
4393---------------------------------------------------------------------------*/
4394typedef struct
4395{
4396 /* Enables/disables magic packet filtering */
4397 wpt_uint8 ucMagicPktEnable;
4398
4399 /* Magic pattern */
4400 wpt_macAddr magicPtrn;
4401
4402 /* Enables/disables packet pattern filtering in firmware.
4403 Enabling this flag enables broadcast pattern matching
4404 in Firmware. If unicast pattern matching is also desired,
4405 ucUcastPatternFilteringEnable flag must be set tot true
4406 as well
4407 */
4408 wpt_uint8 ucPatternFilteringEnable;
4409
4410 /* Enables/disables unicast packet pattern filtering.
4411 This flag specifies whether we want to do pattern match
4412 on unicast packets as well and not just broadcast packets.
4413 This flag has no effect if the ucPatternFilteringEnable
4414 (main controlling flag) is set to false
4415 */
4416 wpt_uint8 ucUcastPatternFilteringEnable;
4417
4418 /* This configuration is valid only when magicPktEnable=1.
4419 * It requests hardware to wake up when it receives the
4420 * Channel Switch Action Frame.
4421 */
4422 wpt_uint8 ucWowChnlSwitchRcv;
4423
4424 /* This configuration is valid only when magicPktEnable=1.
4425 * It requests hardware to wake up when it receives the
4426 * Deauthentication Frame.
4427 */
4428 wpt_uint8 ucWowDeauthRcv;
4429
4430 /* This configuration is valid only when magicPktEnable=1.
4431 * It requests hardware to wake up when it receives the
4432 * Disassociation Frame.
4433 */
4434 wpt_uint8 ucWowDisassocRcv;
4435
4436 /* This configuration is valid only when magicPktEnable=1.
4437 * It requests hardware to wake up when it has missed
4438 * consecutive beacons. This is a hardware register
4439 * configuration (NOT a firmware configuration).
4440 */
4441 wpt_uint8 ucWowMaxMissedBeacons;
4442
4443 /* This configuration is valid only when magicPktEnable=1.
4444 * This is a timeout value in units of microsec. It requests
4445 * hardware to unconditionally wake up after it has stayed
4446 * in WoWLAN mode for some time. Set 0 to disable this feature.
4447 */
4448 wpt_uint8 ucWowMaxSleepUsec;
4449
4450#ifdef WLAN_WAKEUP_EVENTS
4451 /* This configuration directs the WoW packet filtering to look for EAP-ID
4452 * requests embedded in EAPOL frames and use this as a wake source.
4453 */
4454 wpt_uint8 ucWoWEAPIDRequestEnable;
4455
4456 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4457 * requests and use this as a wake source.
4458 */
4459 wpt_uint8 ucWoWEAPOL4WayEnable;
4460
4461 /* This configuration allows a host wakeup on an network scan offload match.
4462 */
4463 wpt_uint8 ucWowNetScanOffloadMatch;
4464
4465 /* This configuration allows a host wakeup on any GTK rekeying error.
4466 */
4467 wpt_uint8 ucWowGTKRekeyError;
4468
4469 /* This configuration allows a host wakeup on BSS connection loss.
4470 */
4471 wpt_uint8 ucWoWBSSConnLoss;
4472#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004473
4474 /* BSSIDX used to find the current session
4475 */
4476 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004477} WDI_WowlEnterInfoType;
4478
4479/*---------------------------------------------------------------------------
4480 WDI_WowlEnterReqParamsType
4481 Wowl enter info passed to WDI form WDA
4482---------------------------------------------------------------------------*/
4483typedef struct
4484{
4485 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4486 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4487 /*Request status callback offered by UMAC - it is called if the current req
4488 has returned PENDING as status; it delivers the status of sending the message
4489 over the BUS */
4490 WDI_ReqStatusCb wdiReqStatusCB;
4491 /*The user data passed in by UMAC, it will be sent back when the above
4492 function pointer will be called */
4493 void* pUserData;
4494}WDI_WowlEnterReqParamsType;
4495
4496/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004497 WDI_WowlEnterRsqParamsType
4498 Wowl enter info passed from WDI to WDA
4499---------------------------------------------------------------------------*/
4500typedef struct
4501{
4502 /*Status of the response message*/
4503 WDI_Status status;
4504
4505 /* BSSIDX used to find the current session
4506 */
4507 wpt_uint8 bssIdx;
4508}WDI_WowlEnterRspParamsType;
4509
4510/*---------------------------------------------------------------------------
4511 WDI_WowlExitInfoType
4512 Wowl exit info passed to WDA form UMAC
4513 ---------------------------------------------------------------------------*/
4514typedef struct
4515{
4516 /* BSSIDX used to find the current session
4517 */
4518 wpt_uint8 bssIdx;
4519} WDI_WowlExitInfoType;
4520
4521/*---------------------------------------------------------------------------
4522 WDI_WowlExitReqParamsType
4523 Wowl exit info passed to WDI form WDA
4524---------------------------------------------------------------------------*/
4525typedef struct
4526{
4527 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4528 WDI_WowlExitInfoType wdiWowlExitInfo;
4529 /*Request status callback offered by UMAC - it is called if the current req
4530 has returned PENDING as status; it delivers the status of sending the message
4531 over the BUS */
4532 WDI_ReqStatusCb wdiReqStatusCB;
4533 /*The user data passed in by UMAC, it will be sent back when the above
4534 function pointer will be called */
4535 void* pUserData;
4536}WDI_WowlExitReqParamsType;
4537
4538/*---------------------------------------------------------------------------
4539 WDI_WowlExitRspParamsType
4540 Wowl exit info passed from WDI to WDA
4541---------------------------------------------------------------------------*/
4542typedef struct
4543{
4544 /*Status of the response message*/
4545 WDI_Status status;
4546
4547 /* BSSIDX used to find the current session
4548 */
4549 wpt_uint8 bssIdx;
4550}WDI_WowlExitRspParamsType;
4551
4552/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004553 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4554 Apps Cpu Wakeup State parameters passed to WDI form WDA
4555---------------------------------------------------------------------------*/
4556typedef struct
4557{
4558 /*Depicts the state of the Apps CPU */
4559 wpt_boolean bIsAppsAwake;
4560 /*Request status callback offered by UMAC - it is called if the current req
4561 has returned PENDING as status; it delivers the status of sending the message
4562 over the BUS */
4563 WDI_ReqStatusCb wdiReqStatusCB;
4564 /*The user data passed in by UMAC, it will be sent back when the above
4565 function pointer will be called */
4566 void* pUserData;
4567}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4568/*---------------------------------------------------------------------------
4569 WDI_FlushAcReqinfoType
4570---------------------------------------------------------------------------*/
4571typedef struct
4572{
4573 // Message Type
4574 wpt_uint16 usMesgType;
4575
4576 // Message Length
4577 wpt_uint16 usMesgLen;
4578
4579 // Station Index. originates from HAL
4580 wpt_uint8 ucSTAId;
4581
4582 // TID for which the transmit queue is being flushed
4583 wpt_uint8 ucTid;
4584
4585}WDI_FlushAcReqinfoType;
4586
4587/*---------------------------------------------------------------------------
4588 WDI_FlushAcReqParamsType
4589---------------------------------------------------------------------------*/
4590typedef struct
4591{
4592 /*AC Info */
4593 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4594
4595 /*Request status callback offered by UMAC - it is called if the current
4596 req has returned PENDING as status; it delivers the status of sending
4597 the message over the BUS */
4598 WDI_ReqStatusCb wdiReqStatusCB;
4599
4600 /*The user data passed in by UMAC, it will be sent back when the above
4601 function pointer will be called */
4602 void* pUserData;
4603}WDI_FlushAcReqParamsType;
4604
4605/*---------------------------------------------------------------------------
4606 WDI_BtAmpEventinfoType
4607 BT-AMP Event Structure
4608---------------------------------------------------------------------------*/
4609typedef struct
4610{
4611 wpt_uint8 ucBtAmpEventType;
4612
4613} WDI_BtAmpEventinfoType;
4614
4615/*---------------------------------------------------------------------------
4616 WDI_BtAmpEventParamsType
4617---------------------------------------------------------------------------*/
4618typedef struct
4619{
4620 /*BT AMP event Info */
4621 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4622
4623 /*Request status callback offered by UMAC - it is called if the current
4624 req has returned PENDING as status; it delivers the status of sending
4625 the message over the BUS */
4626 WDI_ReqStatusCb wdiReqStatusCB;
4627
4628 /*The user data passed in by UMAC, it will be sent back when the above
4629 function pointer will be called */
4630 void* pUserData;
4631}WDI_BtAmpEventParamsType;
4632
Jeff Johnsone7245742012-09-05 17:12:55 -07004633#ifdef FEATURE_OEM_DATA_SUPPORT
4634
4635#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004636#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004637#endif
4638#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004639#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004640#endif
4641
4642/*----------------------------------------------------------------------------
4643 WDI_oemDataReqInfoType
4644----------------------------------------------------------------------------*/
4645typedef struct
4646{
4647 wpt_macAddr selfMacAddr;
4648 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4649}WDI_oemDataReqInfoType;
4650
4651/*----------------------------------------------------------------------------
4652 WDI_oemDataReqParamsType
4653----------------------------------------------------------------------------*/
4654typedef struct
4655{
4656 /*Request status callback offered by UMAC - it is called if the current
4657 req has returned PENDING as status; it delivers the status of sending
4658 the message over the BUS */
4659 WDI_ReqStatusCb wdiReqStatusCB;
4660
4661 /*The user data passed in by UMAC, it will be sent back when the above
4662 function pointer will be called */
4663 void* pUserData;
4664
4665 /*OEM DATA REQ Info */
4666 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4667
4668}WDI_oemDataReqParamsType;
4669
4670/*----------------------------------------------------------------------------
4671 WDI_oemDataRspParamsType
4672----------------------------------------------------------------------------*/
4673typedef struct
4674{
4675 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4676}WDI_oemDataRspParamsType;
4677
4678#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004679
4680#ifdef WLAN_FEATURE_VOWIFI_11R
4681/*---------------------------------------------------------------------------
4682 WDI_AggrAddTSReqInfoType
4683---------------------------------------------------------------------------*/
4684typedef struct
4685{
4686 /*STA Index*/
4687 wpt_uint8 ucSTAIdx;
4688
4689 /*Identifier for TSpec*/
4690 wpt_uint8 ucTspecIdx;
4691
4692 /*Tspec IE negotiated OTA*/
4693 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4694
4695 /*UAPSD delivery and trigger enabled flags */
4696 wpt_uint8 ucUapsdFlags;
4697
4698 /*SI for each AC*/
4699 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4700
4701 /*Suspend Interval for each AC*/
4702 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4703
4704 /*DI for each AC*/
4705 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4706
4707}WDI_AggrAddTSReqInfoType;
4708
4709
4710/*---------------------------------------------------------------------------
4711 WDI_AggrAddTSReqParamsType
4712---------------------------------------------------------------------------*/
4713typedef struct
4714{
4715 /*TSpec Info */
4716 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4717
4718 /*Request status callback offered by UMAC - it is called if the current
4719 req has returned PENDING as status; it delivers the status of sending
4720 the message over the BUS */
4721 WDI_ReqStatusCb wdiReqStatusCB;
4722
4723 /*The user data passed in by UMAC, it will be sent back when the above
4724 function pointer will be called */
4725 void* pUserData;
4726}WDI_AggrAddTSReqParamsType;
4727
4728#endif /* WLAN_FEATURE_VOWIFI_11R */
4729
Jeff Johnson295189b2012-06-20 16:38:30 -07004730/*---------------------------------------------------------------------------
4731 WDI_FTMCommandReqType
4732---------------------------------------------------------------------------*/
4733typedef struct
4734{
4735 /* FTM Command Body length */
4736 wpt_uint32 bodyLength;
4737 /* Actual FTM Command body */
4738 void *FTMCommandBody;
4739}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004740
4741/*---------------------------------------------------------------------------
4742 WDI_WlanSuspendInfoType
4743---------------------------------------------------------------------------*/
4744typedef struct
4745{
4746 /* Mode of Mcast and Bcast filters configured */
4747 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4748}WDI_WlanSuspendInfoType;
4749
4750/*---------------------------------------------------------------------------
4751 WDI_SuspendParamsType
4752---------------------------------------------------------------------------*/
4753typedef struct
4754{
4755 WDI_WlanSuspendInfoType wdiSuspendParams;
4756
4757 /*Request status callback offered by UMAC - it is called if the current
4758 req has returned PENDING as status; it delivers the status of sending
4759 the message over the BUS */
4760 WDI_ReqStatusCb wdiReqStatusCB;
4761
4762 /*The user data passed in by UMAC, it will be sent back when the above
4763 function pointer will be called */
4764 void* pUserData;
4765
4766}WDI_SuspendParamsType;
4767
4768/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004769 WDI_TrafficStatsType - This is collected for each STA
4770---------------------------------------------------------------------------*/
4771
4772typedef struct
4773{
4774 /* TX stats */
4775 wpt_uint32 txBytesPushed;
4776 wpt_uint32 txPacketsPushed;
4777
4778 /* RX stats */
4779 wpt_uint32 rxBytesRcvd;
4780 wpt_uint32 rxPacketsRcvd;
4781 wpt_uint32 rxTimeTotal;
4782}WDI_TrafficStatsType;
4783
4784typedef struct
4785{
4786 WDI_TrafficStatsType *pTrafficStats;
4787 wpt_uint32 length;
4788 wpt_uint32 duration;
4789
4790 /*Request status callback offered by UMAC - it is called if the current
4791 req has returned PENDING as status; it delivers the status of sending
4792 the message over the BUS */
4793 WDI_ReqStatusCb wdiReqStatusCB;
4794
4795 /*The user data passed in by UMAC, it will be sent back when the above
4796 function pointer will be called */
4797 void* pUserData;
4798}WDI_TrafficStatsIndType;
4799
Chet Lanctot186b5732013-03-18 10:26:30 -07004800#ifdef WLAN_FEATURE_11W
4801typedef struct
4802{
4803
4804 wpt_boolean bExcludeUnencrypt;
4805 wpt_macAddr bssid;
4806 /*Request status callback offered by UMAC - it is called if the current
4807 req has returned PENDING as status; it delivers the status of sending
4808 the message over the BUS */
4809 WDI_ReqStatusCb wdiReqStatusCB;
4810
4811 /*The user data passed in by UMAC, it will be sent back when the above
4812 function pointer will be called */
4813 void* pUserData;
4814}WDI_ExcludeUnencryptIndType;
4815#endif
4816
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004817/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004818 WDI_WlanResumeInfoType
4819---------------------------------------------------------------------------*/
4820typedef struct
4821{
4822 /* Mode of Mcast and Bcast filters configured */
4823 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4824}WDI_WlanResumeInfoType;
4825
4826/*---------------------------------------------------------------------------
4827 WDI_ResumeParamsType
4828---------------------------------------------------------------------------*/
4829typedef struct
4830{
4831 WDI_WlanResumeInfoType wdiResumeParams;
4832
4833 /*Request status callback offered by UMAC - it is called if the current
4834 req has returned PENDING as status; it delivers the status of sending
4835 the message over the BUS */
4836 WDI_ReqStatusCb wdiReqStatusCB;
4837
4838 /*The user data passed in by UMAC, it will be sent back when the above
4839 function pointer will be called */
4840 void* pUserData;
4841
4842}WDI_ResumeParamsType;
4843
4844#ifdef WLAN_FEATURE_GTK_OFFLOAD
4845/*---------------------------------------------------------------------------
4846 * WDI_GTK_OFFLOAD_REQ
4847 *--------------------------------------------------------------------------*/
4848
4849typedef struct
4850{
4851 wpt_uint32 ulFlags; /* optional flags */
4852 wpt_uint8 aKCK[16]; /* Key confirmation key */
4853 wpt_uint8 aKEK[16]; /* key encryption key */
4854 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004855 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004856} WDI_GtkOffloadReqParams;
4857
4858typedef struct
4859{
4860 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4861
4862 /*Request status callback offered by UMAC - it is called if the current
4863 req has returned PENDING as status; it delivers the status of sending
4864 the message over the BUS */
4865 WDI_ReqStatusCb wdiReqStatusCB;
4866
4867 /*The user data passed in by UMAC, it will be sent back when the above
4868 function pointer will be called */
4869 void* pUserData;
4870} WDI_GtkOffloadReqMsg;
4871
4872/*---------------------------------------------------------------------------
4873 * WDI_GTK_OFFLOAD_RSP
4874 *--------------------------------------------------------------------------*/
4875typedef struct
4876{
4877 /* success or failure */
4878 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004879 /*BssIdx of the response */
4880 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004881} WDI_GtkOffloadRspParams;
4882
4883typedef struct
4884{
4885 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4886
4887 /*Request status callback offered by UMAC - it is called if the current
4888 req has returned PENDING as status; it delivers the status of sending
4889 the message over the BUS */
4890 WDI_ReqStatusCb wdiReqStatusCB;
4891
4892 /*The user data passed in by UMAC, it will be sent back when the above
4893 function pointer will be called */
4894 void* pUserData;
4895} WDI_GtkOffloadRspMsg;
4896
4897
4898/*---------------------------------------------------------------------------
4899* WDI_GTK_OFFLOAD_GETINFO_REQ
4900*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004901typedef struct
4902{
4903 /*BssIdx of the response */
4904 wpt_macAddr bssId;
4905} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004906
4907typedef struct
4908{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004909
4910 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004911 /*Request status callback offered by UMAC - it is called if the current
4912 req has returned PENDING as status; it delivers the status of sending
4913 the message over the BUS */
4914 WDI_ReqStatusCb wdiReqStatusCB;
4915
4916 /*The user data passed in by UMAC, it will be sent back when the above
4917 function pointer will be called */
4918 void* pUserData;
4919} WDI_GtkOffloadGetInfoReqMsg;
4920
4921/*---------------------------------------------------------------------------
4922* WDI_GTK_OFFLOAD_GETINFO_RSP
4923*--------------------------------------------------------------------------*/
4924typedef struct
4925{
4926 wpt_uint32 ulStatus; /* success or failure */
4927 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4928 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4929 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4930 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304931 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004932} WDI_GtkOffloadGetInfoRspParams;
4933
4934typedef struct
4935{
4936 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4937
4938 /*Request status callback offered by UMAC - it is called if the current
4939 req has returned PENDING as status; it delivers the status of sending
4940 the message over the BUS */
4941 WDI_ReqStatusCb wdiReqStatusCB;
4942
4943 /*The user data passed in by UMAC, it will be sent back when the above
4944 function pointer will be called */
4945 void* pUserData;
4946} WDI_GtkOffloadGetInfoRspMsg;
4947#endif // WLAN_FEATURE_GTK_OFFLOAD
4948
4949/*---------------------------------------------------------------------------
4950 WDI_SuspendResumeRspParamsType
4951---------------------------------------------------------------------------*/
4952typedef struct
4953{
4954 /*Status of the response*/
4955 WDI_Status wdiStatus;
4956}WDI_SuspendResumeRspParamsType;
4957
Leo Chang9056f462013-08-01 19:21:11 -07004958#ifdef FEATURE_WLAN_LPHB
4959/*---------------------------------------------------------------------------
4960 WDI Low Power Heart Beat Config request
4961 Copy from sirApi.h to avoid compile error
4962---------------------------------------------------------------------------*/
4963#define WDI_LPHB_FILTER_LEN 64
4964
4965typedef enum
4966{
4967 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4968 WDI_LPHB_SET_TCP_PARAMS_INDID,
4969 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4970 WDI_LPHB_SET_UDP_PARAMS_INDID,
4971 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4972 WDI_LPHB_SET_NETWORK_INFO_INDID,
4973} WDI_LPHBIndType;
4974
4975typedef struct
4976{
4977 wpt_uint8 enable;
4978 wpt_uint8 item;
4979 wpt_uint8 session;
4980} WDI_LPHBEnableStruct;
4981
4982typedef struct
4983{
4984 wpt_uint32 srv_ip;
4985 wpt_uint32 dev_ip;
4986 wpt_uint16 src_port;
4987 wpt_uint16 dst_port;
4988 wpt_uint16 timeout;
4989 wpt_uint8 session;
4990 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004991 wpt_uint16 timePeriodSec; // in seconds
4992 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004993} WDI_LPHBTcpParamStruct;
4994
4995typedef struct
4996{
4997 wpt_uint16 length;
4998 wpt_uint8 offset;
4999 wpt_uint8 session;
5000 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5001} WDI_LPHBTcpFilterStruct;
5002
5003typedef struct
5004{
5005 wpt_uint32 srv_ip;
5006 wpt_uint32 dev_ip;
5007 wpt_uint16 src_port;
5008 wpt_uint16 dst_port;
5009 wpt_uint16 interval;
5010 wpt_uint16 timeout;
5011 wpt_uint8 session;
5012 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
5013} WDI_LPHBUdpParamStruct;
5014
5015typedef struct
5016{
5017 wpt_uint16 length;
5018 wpt_uint8 offset;
5019 wpt_uint8 session;
5020 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5021} WDI_LPHBUdpFilterStruct;
5022
5023typedef struct
5024{
5025 wpt_uint16 cmd;
5026 wpt_uint16 dummy;
5027 union
5028 {
5029 WDI_LPHBEnableStruct lphbEnableReq;
5030 WDI_LPHBTcpParamStruct lphbTcpParamReq;
5031 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
5032 WDI_LPHBUdpParamStruct lphbUdpParamReq;
5033 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
5034 } params;
5035} WDI_LPHBReq;
5036#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07005037
Jeff Johnson295189b2012-06-20 16:38:30 -07005038/*---------------------------------------------------------------------------
5039 WDI_AuthType
5040---------------------------------------------------------------------------*/
5041typedef enum
5042{
5043 WDI_AUTH_TYPE_ANY = 0,
5044
5045 WDI_AUTH_TYPE_NONE,
5046 WDI_AUTH_TYPE_OPEN_SYSTEM,
5047 WDI_AUTH_TYPE_SHARED_KEY,
5048
5049 WDI_AUTH_TYPE_WPA,
5050 WDI_AUTH_TYPE_WPA_PSK,
5051 WDI_AUTH_TYPE_WPA_NONE,
5052
5053 WDI_AUTH_TYPE_RSN,
5054 WDI_AUTH_TYPE_RSN_PSK,
5055 WDI_AUTH_TYPE_FT_RSN,
5056 WDI_AUTH_TYPE_FT_RSN_PSK,
5057 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5058 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5059 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5060
5061}WDI_AuthType;
5062
5063/*---------------------------------------------------------------------------
5064 WDI_EdType
5065---------------------------------------------------------------------------*/
5066typedef enum
5067{
5068 WDI_ED_ANY = 0,
5069 WDI_ED_NONE,
5070 WDI_ED_WEP40,
5071 WDI_ED_WEP104,
5072 WDI_ED_TKIP,
5073 WDI_ED_CCMP,
5074 WDI_ED_WPI,
5075 WDI_ED_AES_128_CMAC,
5076 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5077} WDI_EdType;
5078
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005079#ifdef FEATURE_WLAN_SCAN_PNO
5080
5081/*Max number of channels for a given network supported by PNO*/
5082#define WDI_PNO_MAX_NETW_CHANNELS 26
5083
5084/*Max number of channels for a given network supported by PNO*/
5085#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5086
5087/*The max number of programable networks for PNO*/
5088#define WDI_PNO_MAX_SUPP_NETWORKS 16
5089
5090/*The max number of scan timers programable in Riva*/
5091#define WDI_PNO_MAX_SCAN_TIMERS 10
5092
5093#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005094
5095/*---------------------------------------------------------------------------
5096 WDI_PNOMode
5097---------------------------------------------------------------------------*/
5098typedef enum
5099{
5100 /*Network offload is to start immediately*/
5101 WDI_PNO_MODE_IMMEDIATE,
5102
5103 /*Network offload is to start on host suspend*/
5104 WDI_PNO_MODE_ON_SUSPEND,
5105
5106 /*Network offload is to start on host resume*/
5107 WDI_PNO_MODE_ON_RESUME,
5108 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5109} WDI_PNOMode;
5110
5111/* SSID broadcast type */
5112typedef enum
5113{
5114 WDI_BCAST_UNKNOWN = 0,
5115 WDI_BCAST_NORMAL = 1,
5116 WDI_BCAST_HIDDEN = 2,
5117
5118 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5119} WDI_SSIDBcastType;
5120
5121/*---------------------------------------------------------------------------
5122 WDI_NetworkType
5123---------------------------------------------------------------------------*/
5124typedef struct
5125{
5126 /*The SSID of the preferred network*/
5127 WDI_MacSSid ssId;
5128
5129 /*The authentication method of the preferred network*/
5130 WDI_AuthType wdiAuth;
5131
5132 /*The encryption method of the preferred network*/
5133 WDI_EdType wdiEncryption;
5134
5135 /*SSID broadcast type, normal, hidden or unknown*/
5136 WDI_SSIDBcastType wdiBcastNetworkType;
5137
5138 /*channel count - 0 for all channels*/
5139 wpt_uint8 ucChannelCount;
5140
5141 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305142 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005143
5144 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5145 wpt_uint8 rssiThreshold;
5146} WDI_NetworkType;
5147
5148
5149/*---------------------------------------------------------------------------
5150 WDI_ScanTimer
5151---------------------------------------------------------------------------*/
5152typedef struct
5153{
5154 /*The timer value*/
5155 wpt_uint32 uTimerValue;
5156
5157 /*The amount of time we should be repeating the interval*/
5158 wpt_uint32 uTimerRepeat;
5159} WDI_ScanTimer;
5160
5161/*---------------------------------------------------------------------------
5162 WDI_ScanTimersType
5163---------------------------------------------------------------------------*/
5164typedef struct
5165{
5166 /*The number of value pair intervals present in the array*/
5167 wpt_uint8 ucScanTimersCount;
5168
5169 /*The time-repeat value pairs*/
5170 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5171} WDI_ScanTimersType;
5172
5173/*---------------------------------------------------------------------------
5174 WDI_PNOScanReqType
5175---------------------------------------------------------------------------*/
5176typedef struct
5177{
5178 /*Enable or disable PNO feature*/
5179 wpt_uint8 bEnable;
5180
5181 /*PNO mode requested*/
5182 WDI_PNOMode wdiModePNO;
5183
5184 /*Network count*/
5185 wpt_uint8 ucNetworksCount;
5186
5187 /*The networks to look for*/
5188 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5189
5190 /*Scan timer intervals*/
5191 WDI_ScanTimersType scanTimers;
5192
5193 /*Probe template for 2.4GHz band*/
5194 wpt_uint16 us24GProbeSize;
5195 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5196
5197 /*Probe template for 5GHz band*/
5198 wpt_uint16 us5GProbeSize;
5199 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5200} WDI_PNOScanReqType;
5201
5202/*---------------------------------------------------------------------------
5203 WDI_PNOScanReqParamsType
5204 PNO info passed to WDI form WDA
5205---------------------------------------------------------------------------*/
5206typedef struct
5207{
5208 /* PNO Info Type, same as tPrefNetwListParams */
5209 WDI_PNOScanReqType wdiPNOScanInfo;
5210 /* Request status callback offered by UMAC - it is called if the current req
5211 has returned PENDING as status; it delivers the status of sending the message
5212 over the BUS */
5213 WDI_ReqStatusCb wdiReqStatusCB;
5214 /* The user data passed in by UMAC, it will be sent back when the above
5215 function pointer will be called */
5216 void* pUserData;
5217} WDI_PNOScanReqParamsType;
5218
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005219/*---------------------------------------------------------------------------
5220 WDI_SetRssiFilterReqParamsType
5221 PNO info passed to WDI form WDA
5222---------------------------------------------------------------------------*/
5223typedef struct
5224{
5225 /* RSSI Threshold */
5226 wpt_uint8 rssiThreshold;
5227 /* Request status callback offered by UMAC - it is called if the current req
5228 has returned PENDING as status; it delivers the status of sending the message
5229 over the BUS */
5230 WDI_ReqStatusCb wdiReqStatusCB;
5231 /* The user data passed in by UMAC, it will be sent back when the above
5232 function pointer will be called */
5233 void* pUserData;
5234} WDI_SetRssiFilterReqParamsType;
5235
5236/*---------------------------------------------------------------------------
5237 WDI_UpdateScanParamsInfo
5238---------------------------------------------------------------------------*/
5239typedef struct
5240{
5241 /*Is 11d enabled*/
5242 wpt_uint8 b11dEnabled;
5243
5244 /*Was UMAc able to find the regulatory domain*/
5245 wpt_uint8 b11dResolved;
5246
5247 /*Number of channel allowed in the regulatory domain*/
5248 wpt_uint8 ucChannelCount;
5249
5250 /*The actual channels allowed in the regulatory domain*/
5251 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5252
5253 /*Passive min channel time*/
5254 wpt_uint16 usPassiveMinChTime;
5255
5256 /*Passive max channel time*/
5257 wpt_uint16 usPassiveMaxChTime;
5258
5259 /*Active min channel time*/
5260 wpt_uint16 usActiveMinChTime;
5261
5262 /*Active max channel time*/
5263 wpt_uint16 usActiveMaxChTime;
5264
5265 /*channel bonding info*/
5266 wpt_uint8 cbState;
5267} WDI_UpdateScanParamsInfo;
5268
5269/*---------------------------------------------------------------------------
5270 WDI_UpdateScanParamsInfoType
5271 UpdateScanParams info passed to WDI form WDA
5272---------------------------------------------------------------------------*/
5273typedef struct
5274{
5275 /* PNO Info Type, same as tUpdateScanParams */
5276 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5277 /* Request status callback offered by UMAC - it is called if the current req
5278 has returned PENDING as status; it delivers the status of sending the message
5279 over the BUS */
5280 WDI_ReqStatusCb wdiReqStatusCB;
5281 /* The user data passed in by UMAC, it will be sent back when the above
5282 function pointer will be called */
5283 void* pUserData;
5284} WDI_UpdateScanParamsInfoType;
5285#endif //FEATURE_WLAN_SCAN_PNO
5286
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005287#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5288
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005289#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005290#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005291
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005292typedef struct
5293{
5294 /*The SSID of the preferred network*/
5295 WDI_MacSSid ssId;
5296 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5297
5298 /*The authentication method of the preferred network*/
5299 WDI_AuthType authentication;
5300
5301 /*The encryption method of the preferred network*/
5302 WDI_EdType encryption;
5303 WDI_EdType mcencryption;
5304
5305 /*SSID broadcast type, normal, hidden or unknown*/
5306 //WDI_SSIDBcastType wdiBcastNetworkType;
5307
5308 /*channel count - 0 for all channels*/
5309 wpt_uint8 ChannelCount;
5310
5311 /*the actual channels*/
5312 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5313
5314} WDI_RoamNetworkType;
5315
5316typedef struct WDIMobilityDomainInfo
5317{
5318 wpt_uint8 mdiePresent;
5319 wpt_uint16 mobilityDomain;
5320} WDI_MobilityDomainInfo;
5321
5322/*---------------------------------------------------------------------------
5323 WDI_RoamOffloadScanInfo
5324---------------------------------------------------------------------------*/
5325typedef struct
5326{
5327 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005328 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005329 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005330 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005331 wpt_uint8 RoamRssiDiff;
5332 wpt_uint8 ChannelCacheType;
5333 wpt_uint8 Command;
5334 wpt_uint8 StartScanReason;
5335 wpt_uint16 NeighborScanTimerPeriod;
5336 wpt_uint16 NeighborRoamScanRefreshPeriod;
5337 wpt_uint16 NeighborScanChannelMinTime;
5338 wpt_uint16 NeighborScanChannelMaxTime;
5339 wpt_uint16 EmptyRefreshScanPeriod;
5340 wpt_uint8 ValidChannelCount;
5341 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005342 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005343 /*Probe template for 2.4GHz band*/
5344 wpt_uint16 us24GProbeSize;
5345 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5346
5347 /*Probe template for 5GHz band*/
5348 wpt_uint16 us5GProbeSize;
5349 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005350 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005351 * As per requirement, later, the following structure can be used as an array of networks.*/
5352 WDI_RoamNetworkType ConnectedNetwork;
5353 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005354 wpt_uint8 nProbes;
5355 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005356} WDI_RoamOffloadScanInfo;
5357
5358typedef struct
5359{
5360 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5361 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5362 /* Request status callback offered by UMAC - it is called if the current req
5363 has returned PENDING as status; it delivers the status of sending the message
5364 over the BUS */
5365 WDI_ReqStatusCb wdiReqStatusCB;
5366 /* The user data passed in by UMAC, it will be sent back when the above
5367 function pointer will be called */
5368 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005369} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005370#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005371
5372/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305373 WDI_HT40ObssScanIndType
5374---------------------------------------------------------------------------*/
5375typedef struct
5376{
5377 wpt_uint8 cmdType;
5378 wpt_uint8 scanType;
5379 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5380 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5381 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5382 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5383 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5384 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5385 wpt_uint16 OBSSScanActivityThreshold;
5386 wpt_uint8 selfStaIdx;
5387 wpt_uint8 bssIdx;
5388 wpt_uint8 fortyMHZIntolerent;
5389 wpt_uint8 channelCount;
5390 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5391 wpt_uint8 currentOperatingClass;
5392 wpt_uint16 ieFieldLen;
5393 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5394} WDI_HT40ObssScanIndType;
5395
5396
5397/*---------------------------------------------------------------------------
5398 WDI_OBSSScanIndParamsType
5399---------------------------------------------------------------------------*/
5400typedef struct
5401{
5402 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5403
5404 /*Request status callback offered by UMAC - it is called if the current
5405 req has returned PENDING as status; it delivers the status of sending
5406 the message over the BUS */
5407 WDI_ReqStatusCb wdiReqStatusCB;
5408
5409 /*The user data passed in by UMAC, it will be sent back when the above
5410 function pointer will be called */
5411 void* pUserData;
5412
5413}WDI_HT40ObssScanParamsType;
5414
5415/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005416 WDI_UpdateScanParamsInfo
5417---------------------------------------------------------------------------*/
5418typedef struct
5419{
5420 /* Ignore DTIM */
5421 wpt_uint32 uIgnoreDTIM;
5422
5423 /*DTIM Period*/
5424 wpt_uint32 uDTIMPeriod;
5425
5426 /* Listen Interval */
5427 wpt_uint32 uListenInterval;
5428
5429 /* Broadcast Multicas Filter */
5430 wpt_uint32 uBcastMcastFilter;
5431
5432 /* Beacon Early Termination */
5433 wpt_uint32 uEnableBET;
5434
5435 /* Beacon Early Termination Interval */
5436 wpt_uint32 uBETInterval;
5437
Yue Mac24062f2013-05-13 17:01:29 -07005438 /* MAX LI for modulated DTIM */
5439 wpt_uint32 uMaxLIModulatedDTIM;
5440
Jeff Johnson295189b2012-06-20 16:38:30 -07005441} WDI_SetPowerParamsInfo;
5442
5443/*---------------------------------------------------------------------------
5444 WDI_UpdateScanParamsInfoType
5445 UpdateScanParams info passed to WDI form WDA
5446---------------------------------------------------------------------------*/
5447typedef struct
5448{
5449 /* Power params Info Type, same as tSetPowerParamsReq */
5450 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5451 /* Request status callback offered by UMAC - it is called if the current req
5452 has returned PENDING as status; it delivers the status of sending the message
5453 over the BUS */
5454 WDI_ReqStatusCb wdiReqStatusCB;
5455 /* The user data passed in by UMAC, it will be sent back when the above
5456 function pointer will be called */
5457 void* pUserData;
5458}WDI_SetPowerParamsReqParamsType;
5459
5460/*---------------------------------------------------------------------------
5461 WDI_SetTxPerTrackingConfType
5462 Wowl add ptrn info passed to WDA form UMAC
5463---------------------------------------------------------------------------*/
5464typedef struct
5465{
5466 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5467 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5468 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5469 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5470} WDI_TxPerTrackingParamType;
5471
5472/*---------------------------------------------------------------------------
5473 WDI_SetTxPerTrackingReqParamsType
5474 Tx PER Tracking parameters passed to WDI from WDA
5475---------------------------------------------------------------------------*/
5476typedef struct
5477{
5478 /* Configurations for Tx PER Tracking */
5479 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5480 /*Request status callback offered by UMAC - it is called if the current req
5481 has returned PENDING as status; it delivers the status of sending the message
5482 over the BUS */
5483 WDI_ReqStatusCb wdiReqStatusCB;
5484 /*The user data passed in by UMAC, it will be sent back when the above
5485 function pointer will be called */
5486 void* pUserData;
5487}WDI_SetTxPerTrackingReqParamsType;
5488
5489#ifdef WLAN_FEATURE_PACKET_FILTERING
5490/*---------------------------------------------------------------------------
5491 Packet Filtering Parameters
5492---------------------------------------------------------------------------*/
5493
5494#define WDI_IPV4_ADDR_LEN 4
5495#define WDI_MAC_ADDR_LEN 6
5496#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5497#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5498#define WDI_MAX_NUM_FILTERS 20
5499#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5500
5501//
5502// Receive Filter Parameters
5503//
5504typedef enum
5505{
5506 WDI_RCV_FILTER_TYPE_INVALID,
5507 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5508 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5509 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5510}WDI_ReceivePacketFilterType;
5511
5512typedef enum
5513{
5514 WDI_FILTER_HDR_TYPE_INVALID,
5515 WDI_FILTER_HDR_TYPE_MAC,
5516 WDI_FILTER_HDR_TYPE_ARP,
5517 WDI_FILTER_HDR_TYPE_IPV4,
5518 WDI_FILTER_HDR_TYPE_IPV6,
5519 WDI_FILTER_HDR_TYPE_UDP,
5520 WDI_FILTER_HDR_TYPE_MAX
5521}WDI_RcvPktFltProtocolType;
5522
5523typedef enum
5524{
5525 WDI_FILTER_CMP_TYPE_INVALID,
5526 WDI_FILTER_CMP_TYPE_EQUAL,
5527 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5528 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5529 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5530 WDI_FILTER_CMP_TYPE_MAX
5531}WDI_RcvPktFltCmpFlagType;
5532
5533typedef struct
5534{
5535 WDI_RcvPktFltProtocolType protocolLayer;
5536 WDI_RcvPktFltCmpFlagType cmpFlag;
5537/* Length of the data to compare */
5538 wpt_uint16 dataLength;
5539/* from start of the respective frame header */
5540 wpt_uint8 dataOffset;
5541 wpt_uint8 reserved; /* Reserved field */
5542/* Data to compare */
5543 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5544/* Mask to be applied on the received packet data before compare */
5545 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5546}WDI_RcvPktFilterFieldParams;
5547
5548typedef struct
5549{
5550 wpt_uint8 filterId;
5551 wpt_uint8 filterType;
5552 wpt_uint32 numFieldParams;
5553 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005554 wpt_macAddr selfMacAddr;
5555 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005556 WDI_RcvPktFilterFieldParams paramsData[1];
5557
Jeff Johnson295189b2012-06-20 16:38:30 -07005558}WDI_RcvPktFilterCfgType;
5559
5560typedef struct
5561{
5562 /*Request status callback offered by UMAC - it is called if the current
5563 req has returned PENDING as status; it delivers the status of sending
5564 the message over the BUS */
5565 WDI_ReqStatusCb wdiReqStatusCB;
5566
5567 /*The user data passed in by UMAC, it will be sent back when the above
5568 function pointer will be called */
5569 void* pUserData;
5570
5571 // Variable length packet filter field params
5572 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5573} WDI_SetRcvPktFilterReqParamsType;
5574
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005575typedef struct
5576{
5577 /*Result of the operation*/
5578 WDI_Status wdiStatus;
5579 /* BSSIDX of the Set Receive Filter
5580 */
5581 wpt_uint8 bssIdx;
5582} WDI_SetRcvPktFilterRspParamsType;
5583
Jeff Johnson295189b2012-06-20 16:38:30 -07005584//
5585// Filter Packet Match Count Parameters
5586//
5587typedef struct
5588{
5589 /*Request status callback offered by UMAC - it is called if the current
5590 req has returned PENDING as status; it delivers the status of sending
5591 the message over the BUS */
5592 WDI_ReqStatusCb wdiReqStatusCB;
5593
5594 /*The user data passed in by UMAC, it will be sent back when the above
5595 function pointer will be called */
5596 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005597
5598 /* BSSID of the Match count
5599 */
5600 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005601} WDI_RcvFltPktMatchCntReqParamsType;
5602
5603typedef struct
5604{
5605 wpt_uint8 filterId;
5606 wpt_uint32 matchCnt;
5607} WDI_RcvFltPktMatchCnt;
5608
5609typedef struct
5610{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005611 /*Result of the operation*/
5612 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005613
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005614 /* BSSIDX of the Match count response
5615 */
5616 wpt_uint8 bssIdx;
5617
Jeff Johnson295189b2012-06-20 16:38:30 -07005618} WDI_RcvFltPktMatchCntRspParamsType;
5619
Jeff Johnson295189b2012-06-20 16:38:30 -07005620//
5621// Receive Filter Clear Parameters
5622//
5623typedef struct
5624{
5625 wpt_uint32 status; /* only valid for response message */
5626 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005627 wpt_macAddr selfMacAddr;
5628 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005629}WDI_RcvFltPktClearParam;
5630
5631typedef struct
5632{
5633 WDI_RcvFltPktClearParam filterClearParam;
5634 /*Request status callback offered by UMAC - it is called if the current
5635 req has returned PENDING as status; it delivers the status of sending
5636 the message over the BUS */
5637 WDI_ReqStatusCb wdiReqStatusCB;
5638
5639 /*The user data passed in by UMAC, it will be sent back when the above
5640 function pointer will be called */
5641 void* pUserData;
5642} WDI_RcvFltPktClearReqParamsType;
5643
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005644typedef struct
5645{
5646 /*Result of the operation*/
5647 WDI_Status wdiStatus;
5648 /* BSSIDX of the Match count response
5649 */
5650 wpt_uint8 bssIdx;
5651
5652} WDI_RcvFltPktClearRspParamsType;
5653
Jeff Johnson295189b2012-06-20 16:38:30 -07005654//
5655// Multicast Address List Parameters
5656//
5657typedef struct
5658{
5659 wpt_uint32 ulMulticastAddrCnt;
5660 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005661 wpt_macAddr selfMacAddr;
5662 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005663} WDI_RcvFltMcAddrListType;
5664
5665typedef struct
5666{
5667 WDI_RcvFltMcAddrListType mcAddrList;
5668 /*Request status callback offered by UMAC - it is called if the current
5669 req has returned PENDING as status; it delivers the status of sending
5670 the message over the BUS */
5671 WDI_ReqStatusCb wdiReqStatusCB;
5672
5673 /*The user data passed in by UMAC, it will be sent back when the above
5674 function pointer will be called */
5675 void* pUserData;
5676} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005677
5678typedef struct
5679{
5680 /*Result of the operation*/
5681 WDI_Status wdiStatus;
5682 /* BSSIDX of the Match count response
5683 */
5684 wpt_uint8 bssIdx;
5685} WDI_RcvFltPktSetMcListRspParamsType;
5686
Jeff Johnson295189b2012-06-20 16:38:30 -07005687#endif // WLAN_FEATURE_PACKET_FILTERING
5688
5689/*---------------------------------------------------------------------------
5690 WDI_HALDumpCmdReqInfoType
5691---------------------------------------------------------------------------*/
5692typedef struct
5693{
5694 /*command*/
5695 wpt_uint32 command;
5696
5697 /*Arguments*/
5698 wpt_uint32 argument1;
5699 wpt_uint32 argument2;
5700 wpt_uint32 argument3;
5701 wpt_uint32 argument4;
5702
5703}WDI_HALDumpCmdReqInfoType;
5704
5705/*---------------------------------------------------------------------------
5706 WDI_HALDumpCmdReqParamsType
5707---------------------------------------------------------------------------*/
5708typedef struct
5709{
5710 /*NV Blob Info*/
5711 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5712
5713 /*Request status callback offered by UMAC - it is called if the current
5714 req has returned PENDING as status; it delivers the status of sending
5715 the message over the BUS */
5716 WDI_ReqStatusCb wdiReqStatusCB;
5717
5718 /*The user data passed in by UMAC, it will be sent back when the above
5719 function pointer will be called */
5720 void* pUserData;
5721
5722}WDI_HALDumpCmdReqParamsType;
5723
5724
5725/*---------------------------------------------------------------------------
5726 WDI_HALDumpCmdRspParamsType
5727---------------------------------------------------------------------------*/
5728typedef struct
5729{
5730 /*Result of the operation*/
5731 WDI_Status wdiStatus;
5732
5733 /* length of the buffer */
5734 wpt_uint16 usBufferLen;
5735
5736 /* Buffer */
5737 wpt_uint8 *pBuffer;
5738}WDI_HALDumpCmdRspParamsType;
5739
5740
5741/*---------------------------------------------------------------------------
5742 WDI_SetTmLevelReqType
5743---------------------------------------------------------------------------*/
5744typedef struct
5745{
5746 wpt_uint16 tmMode;
5747 wpt_uint16 tmLevel;
5748 void* pUserData;
5749}WDI_SetTmLevelReqType;
5750
5751/*---------------------------------------------------------------------------
5752 WDI_SetTmLevelRspType
5753---------------------------------------------------------------------------*/
5754typedef struct
5755{
5756 WDI_Status wdiStatus;
5757 void* pUserData;
5758}WDI_SetTmLevelRspType;
5759
Leo Chang9056f462013-08-01 19:21:11 -07005760#ifdef FEATURE_WLAN_LPHB
5761/*---------------------------------------------------------------------------
5762 WDI_LPHBConfigParamsType
5763---------------------------------------------------------------------------*/
5764typedef struct
5765{
5766 void* pLphsConfIndData;
5767}WDI_LPHBConfigParamsType;
5768#endif /* FEATURE_WLAN_LPHB */
5769
Yue Mab9c86f42013-08-14 15:59:08 -07005770/*---------------------------------------------------------------------------
5771 WDI_AddPeriodicTxPtrnInfoType
5772---------------------------------------------------------------------------*/
5773typedef struct
5774{
5775 /* MAC Address for the adapter */
5776 wpt_macAddr macAddr;
5777
5778 wpt_uint8 ucPtrnId; // Pattern ID
5779 wpt_uint16 ucPtrnSize; // Pattern size
5780 wpt_uint32 usPtrnIntervalMs; // In msec
5781 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5782} WDI_AddPeriodicTxPtrnInfoType;
5783
5784/*---------------------------------------------------------------------------
5785 WDI_DelPeriodicTxPtrnInfoType
5786---------------------------------------------------------------------------*/
5787typedef struct
5788{
5789 /* MAC Address for the adapter */
5790 wpt_macAddr macAddr;
5791
5792 /* Bitmap of pattern IDs that needs to be deleted */
5793 wpt_uint32 ucPatternIdBitmap;
5794} WDI_DelPeriodicTxPtrnInfoType;
5795
5796/*---------------------------------------------------------------------------
5797 WDI_AddPeriodicTxPtrnParamsType
5798---------------------------------------------------------------------------*/
5799typedef struct
5800{
5801 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5802
5803 /*Request status callback offered by UMAC - it is called if the current
5804 req has returned PENDING as status; it delivers the status of sending
5805 the message over the BUS */
5806 WDI_ReqStatusCb wdiReqStatusCB;
5807
5808 /*The user data passed in by UMAC, it will be sent back when the above
5809 function pointer will be called */
5810 void* pUserData;
5811} WDI_AddPeriodicTxPtrnParamsType;
5812
5813/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305814 WDI_NanRequestType
5815---------------------------------------------------------------------------*/
5816typedef struct
5817{
5818 wpt_uint16 request_data_len;
5819 wpt_uint8 request_data[1];
5820} WDI_NanRequestType;
5821
5822
5823/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005824 WDI_DelPeriodicTxPtrnParamsType
5825---------------------------------------------------------------------------*/
5826typedef struct
5827{
5828 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5829
5830 /*Request status callback offered by UMAC - it is called if the current
5831 req has returned PENDING as status; it delivers the status of sending
5832 the message over the BUS */
5833 WDI_ReqStatusCb wdiReqStatusCB;
5834
5835 /*The user data passed in by UMAC, it will be sent back when the above
5836 function pointer will be called */
5837 void* pUserData;
5838} WDI_DelPeriodicTxPtrnParamsType;
5839
Dino Mycle41bdc942014-06-10 11:30:24 +05305840#ifdef WLAN_FEATURE_EXTSCAN
5841
5842#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5843#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5844#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5845#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5846
5847typedef enum
5848{
5849 WDI_WIFI_BAND_UNSPECIFIED,
5850 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5851 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5852 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5853 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5854 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5855 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5856
5857 /* Keep it last */
5858 WDI_WIFI_BAND_MAX
5859} WDI_WifiBand;
5860
5861typedef struct
5862{
5863 wpt_uint32 channel; // frequency
5864 wpt_uint32 dwellTimeMs; // dwell time hint
5865 wpt_uint8 passive; // 0 => active,
5866 // 1 => passive scan; ignored for DFS
5867 wpt_uint8 chnlClass;
5868} WDI_WifiScanChannelSpec;
5869
5870typedef struct
5871{
5872 wpt_uint8 bucket; // bucket index, 0 based
5873 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5874
5875 /*
5876 * desired period, in millisecond; if this is too
5877 * low, the firmware should choose to generate results as fast as
5878 * it can instead of failing the command byte
5879 */
5880 wpt_uint32 period;
5881
5882 /*
5883 * 0 => normal reporting (reporting rssi history
5884 * only, when rssi history buffer is % full)
5885 * 1 => same as 0 + report a scan completion event after scanning
5886 * this bucket
5887 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5888 * in real time to HAL
5889 */
5890 wpt_uint8 reportEvents;
5891
5892 wpt_uint8 numChannels;
5893
5894 /*
5895 * channels to scan; these may include DFS channels
5896 */
5897 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5898} WDI_WifiScanBucketSpec;
5899
5900typedef struct
5901{
5902 wpt_uint32 requestId;
5903 wpt_uint8 sessionId;
5904 wpt_uint32 basePeriod; // base timer period
5905 wpt_uint32 maxAPperScan;
5906
5907 /* in %, when buffer is this much full, wake up host */
5908 wpt_uint32 reportThreshold;
5909
5910 wpt_uint8 numBuckets;
5911 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5912} WDI_EXTScanStartReqParams;
5913
5914typedef struct
5915{
5916 wpt_uint32 requestId;
5917 wpt_uint8 sessionId;
5918} WDI_EXTScanStopReqParams;
5919
5920typedef struct
5921{
5922 wpt_uint32 requestId;
5923 wpt_uint8 sessionId;
5924
5925 /*
5926 * 1 return cached results and flush it
5927 * 0 return cached results and do not flush
5928 */
5929 wpt_boolean flush;
5930} WDI_EXTScanGetCachedResultsReqParams;
5931
5932typedef struct
5933{
5934 wpt_uint32 requestId;
5935 wpt_uint8 sessionId;
5936} WDI_EXTScanGetCapabilitiesReqParams;
5937
5938typedef struct
5939{
5940 wpt_uint8 bssid[6]; /* BSSID */
5941 wpt_int32 low; // low threshold
5942 wpt_int32 high; // high threshold
5943 wpt_uint32 channel; // channel hint
5944} WDI_APThresholdParam;
5945
5946typedef struct
5947{
5948 wpt_int32 requestId;
5949 wpt_int8 sessionId; // session Id mapped to vdev_id
5950
5951 wpt_int32 numAp; // number of hotlist APs
5952 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5953} WDI_EXTScanSetBSSIDHotlistReqParams;
5954
5955typedef struct
5956{
5957 wpt_uint32 requestId;
5958 wpt_uint8 sessionId;
5959} WDI_EXTScanResetBSSIDHotlistReqParams;
5960
5961
5962typedef struct
5963{
5964 wpt_int32 requestId;
5965 wpt_int8 sessionId; // session Id mapped to vdev_id
5966
5967 /* number of samples for averaging RSSI */
5968 wpt_int32 rssiSampleSize;
5969
5970 /* number of missed samples to confirm AP loss */
5971 wpt_int32 lostApSampleSize;
5972
5973 /* number of APs breaching threshold required for firmware
5974 * to generate event
5975 */
5976 wpt_int32 minBreaching;
5977
5978 wpt_int32 numAp; // number of hotlist APs
5979 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5980} WDI_EXTScanSetSignfRSSIChangeReqParams;
5981
5982typedef struct
5983{
5984 wpt_uint32 requestId;
5985 wpt_uint8 sessionId;
5986} WDI_EXTScanResetSignfRSSIChangeReqParams;
5987#endif /* WLAN_FEATURE_EXTSCAN */
5988
Sunil Duttbd736ed2014-05-26 21:19:41 +05305989#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5990typedef struct
5991{
5992 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305993 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305994 wpt_uint32 mpduSizeThreshold;
5995 wpt_uint32 aggressiveStatisticsGathering;
5996}WDI_LLStatsSetReqType;
5997
5998typedef struct
5999{
6000 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306001 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306002 wpt_uint32 paramIdMask;
6003}WDI_LLStatsGetReqType;
6004
6005typedef struct
6006{
6007 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306008 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306009 wpt_uint32 statsClearReqMask;
6010 wpt_uint8 stopReq;
6011}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05306012
Sunil Duttbd736ed2014-05-26 21:19:41 +05306013#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
6014
Siddharth Bhal171788a2014-09-29 21:02:40 +05306015/*---------------------------------------------------------------------------
6016 WDI_SPOOF_MAC_ADDR_REQ
6017---------------------------------------------------------------------------*/
6018typedef struct
6019{
6020 /* Spoof MAC Address for FW */
6021 wpt_macAddr macAddr;
6022
6023 /* Reserved Params/fields */
6024 wpt_uint32 params;
6025 wpt_uint32 reserved;
6026} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306027
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05306028//This is to force compiler to use the maximum of an int for enum
6029#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
6030// Enum to specify whether key is used
6031// for TX only, RX only or both
6032typedef enum
6033{
6034 eWDI_TX_ONLY,
6035 eWDI_RX_ONLY,
6036 eWDI_TX_RX,
6037 eWDI_TX_DEFAULT,
6038 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
6039} tWDIKeyDirection;
6040
6041// MAX key length when ULA is used
6042#define SIR_MAC_MAX_KEY_LENGTH 32
6043/* Max key size including the WAPI and TKIP */
6044#define WLAN_MAX_KEY_RSC_LEN 16
6045// Definition for Encryption Keys
6046//typedef struct sSirKeys
6047typedef struct
6048{
6049 wpt_uint8 keyId;
6050 wpt_uint8 unicast; // 0 for multicast
6051 tWDIKeyDirection keyDirection;
6052 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6053 wpt_uint8 paeRole; // =1 for authenticator,
6054 // =0 for supplicant
6055 wpt_uint16 keyLength;
6056 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6057} tWDIKeys, *tpWDIKeys;
6058
6059typedef enum
6060{
6061 eWDI_WEP_STATIC,
6062 eWDI_WEP_DYNAMIC,
6063} tWDIWepType;
6064
6065// Encryption type enum used with peer
6066typedef enum
6067{
6068 eWDI_ED_NONE,
6069 eWDI_ED_WEP40,
6070 eWDI_ED_WEP104,
6071 eWDI_ED_TKIP,
6072 eWDI_ED_CCMP,
6073#if defined(FEATURE_WLAN_WAPI)
6074 eWDI_ED_WPI,
6075#endif
6076 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6077 * Thus while setting BIP encryption mode in corresponding DPU Desc
6078 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6079 */
6080 eWDI_ED_AES_128_CMAC,
6081 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6082} tWDIEdType;
6083#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6084/*
6085 * This is used by PE to configure the key information on a given station.
6086 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6087 * a preconfigured key from a BSS the station assoicated with; otherwise
6088 * a new key descriptor is created based on the key field.
6089 */
6090typedef struct
6091{
6092 wpt_uint16 staIdx;
6093 tWDIEdType encType; // Encryption/Decryption type
6094 tWDIWepType wepType; // valid only for WEP
6095 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6096 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6097 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6098 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6099} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6100
6101typedef struct
6102{
6103 tWDISetStaKeyParams keyParams;
6104 wpt_uint8 pn[6];
6105}wpt_encConfigParams;
6106
6107typedef struct
6108{
6109 wpt_uint16 length;
6110 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6111}wpt_payload;
6112
6113typedef struct
6114{
6115 wpt_80211Header macHeader;
6116 wpt_encConfigParams encParams;
6117 wpt_payload data;
6118}wpt_pkt80211;
6119
Katya Nigamf0511f62015-05-05 16:40:57 +05306120#define NUM_FILTERS_SUPPORTED 1
6121typedef struct
6122{
6123 wpt_macAddr macAddr;
6124 wpt_uint8 isA1filter;
6125 wpt_uint8 isA2filter;
6126 wpt_uint8 isA3filter;
6127}WDI_filter;
6128
6129typedef struct
6130{
6131 /* start or stop */
6132 wpt_uint8 state;
6133 /*Conversion of packet required or not*/
6134 wpt_uint8 is80211to803ConReq;
6135 wpt_uint32 ChannelNo;
6136 wpt_uint32 ChannelBW;
6137 wpt_uint8 crcCheckEnabled;
6138 wpt_uint8 numOfMacFilters;
6139 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6140 wpt_uint64 typeSubtypeBitmap;
6141 wpt_uint64 rsvd;
6142
6143}WDI_MonStartReqType;
6144
Jeff Johnson295189b2012-06-20 16:38:30 -07006145/*----------------------------------------------------------------------------
6146 * WDI callback types
6147 *--------------------------------------------------------------------------*/
6148
6149/*---------------------------------------------------------------------------
6150 WDI_StartRspCb
6151
6152 DESCRIPTION
6153
6154 This callback is invoked by DAL when it has received a Start response from
6155 the underlying device.
6156
6157 PARAMETERS
6158
6159 IN
6160 wdiRspParams: response parameters received from HAL
6161 pUserData: user data
6162
6163
6164 RETURN VALUE
6165 The result code associated with performing the operation
6166---------------------------------------------------------------------------*/
6167typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6168 void* pUserData);
6169
6170/*---------------------------------------------------------------------------
6171 WDI_StartRspCb
6172
6173 DESCRIPTION
6174
6175 This callback is invoked by DAL when it has received a Stop response from
6176 the underlying device.
6177
6178 PARAMETERS
6179
6180 IN
6181 wdiStatus: response status received from HAL
6182 pUserData: user data
6183
6184
6185
6186 RETURN VALUE
6187 The result code associated with performing the operation
6188---------------------------------------------------------------------------*/
6189typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6190 void* pUserData);
6191
6192/*---------------------------------------------------------------------------
6193 WDI_StartRspCb
6194
6195 DESCRIPTION
6196
6197 This callback is invoked by DAL when it has received an Init Scan response
6198 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_InitScanRspCb)(WDI_Status wdiStatus,
6212 void* pUserData);
6213
6214
6215/*---------------------------------------------------------------------------
6216 WDI_StartRspCb
6217
6218 DESCRIPTION
6219
6220 This callback is invoked by DAL when it has received a StartScan response
6221 from the underlying device.
6222
6223 PARAMETERS
6224
6225 IN
6226 wdiParams: response params received from HAL
6227 pUserData: user data
6228
6229
6230
6231 RETURN VALUE
6232 The result code associated with performing the operation
6233---------------------------------------------------------------------------*/
6234typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6235 void* pUserData);
6236
6237
6238/*---------------------------------------------------------------------------
6239 WDI_StartRspCb
6240
6241 DESCRIPTION
6242
6243 This callback is invoked by DAL when it has received a End Scan response
6244 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---------------------------------------------------------------------------*/
6257typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6258 void* pUserData);
6259
6260
6261/*---------------------------------------------------------------------------
6262 WDI_StartRspCb
6263
6264 DESCRIPTION
6265
6266 This callback is invoked by DAL when it has received a Finish Scan response
6267 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---------------------------------------------------------------------------*/
6280typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6281 void* pUserData);
6282
6283
6284/*---------------------------------------------------------------------------
6285 WDI_StartRspCb
6286
6287 DESCRIPTION
6288
6289 This callback is invoked by DAL when it has received a Join response from
6290 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---------------------------------------------------------------------------*/
6303typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6304 void* pUserData);
6305
6306
6307/*---------------------------------------------------------------------------
6308 WDI_StartRspCb
6309
6310 DESCRIPTION
6311
6312 This callback is invoked by DAL when it has received a Config BSS response
6313 from the underlying device.
6314
6315 PARAMETERS
6316
6317 IN
6318 wdiConfigBSSRsp: response parameters received from HAL
6319 pUserData: user data
6320
6321
6322 RETURN VALUE
6323 The result code associated with performing the operation
6324---------------------------------------------------------------------------*/
6325typedef void (*WDI_ConfigBSSRspCb)(
6326 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6327 void* pUserData);
6328
6329
6330/*---------------------------------------------------------------------------
6331 WDI_StartRspCb
6332
6333 DESCRIPTION
6334
6335 This callback is invoked by DAL when it has received a Del BSS response from
6336 the underlying device.
6337
6338 PARAMETERS
6339
6340 IN
6341 wdiDelBSSRsp: response parameters received from HAL
6342 pUserData: user data
6343
6344
6345 RETURN VALUE
6346 The result code associated with performing the operation
6347---------------------------------------------------------------------------*/
6348typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6349 void* pUserData);
6350
6351
6352/*---------------------------------------------------------------------------
6353 WDI_StartRspCb
6354
6355 DESCRIPTION
6356
6357 This callback is invoked by DAL when it has received a Post Assoc response
6358 from the underlying device.
6359
6360 PARAMETERS
6361
6362 IN
6363 wdiRspParams: response parameters received from HAL
6364 pUserData: user data
6365
6366
6367 RETURN VALUE
6368 The result code associated with performing the operation
6369---------------------------------------------------------------------------*/
6370typedef void (*WDI_PostAssocRspCb)(
6371 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6372 void* pUserData);
6373
6374
6375/*---------------------------------------------------------------------------
6376 WDI_StartRspCb
6377
6378 DESCRIPTION
6379
6380 This callback is invoked by DAL when it has received a Del STA response from
6381 the underlying device.
6382
6383 PARAMETERS
6384
6385 IN
6386 wdiDelSTARsp: response parameters received from HAL
6387 pUserData: user data
6388
6389
6390 RETURN VALUE
6391 The result code associated with performing the operation
6392---------------------------------------------------------------------------*/
6393typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6394 void* pUserData);
6395
6396
6397
6398/*---------------------------------------------------------------------------
6399 WDI_StartRspCb
6400
6401 DESCRIPTION
6402
6403 This callback is invoked by DAL when it has received a Set BSS Key response
6404 from the underlying device.
6405
6406 PARAMETERS
6407
6408 IN
6409 wdiStatus: response status received from HAL
6410 pUserData: user data
6411
6412
6413
6414 RETURN VALUE
6415 The result code associated with performing the operation
6416---------------------------------------------------------------------------*/
6417typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6418 void* pUserData);
6419
6420/*---------------------------------------------------------------------------
6421 WDI_StartRspCb
6422
6423 DESCRIPTION
6424
6425 This callback is invoked by DAL when it has received a Remove BSS Key
6426 response from the underlying device.
6427
6428 PARAMETERS
6429
6430 IN
6431 wdiStatus: response status received from HAL
6432 pUserData: user data
6433
6434
6435
6436 RETURN VALUE
6437 The result code associated with performing the operation
6438---------------------------------------------------------------------------*/
6439typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6440 void* pUserData);
6441
6442/*---------------------------------------------------------------------------
6443 WDI_StartRspCb
6444
6445 DESCRIPTION
6446
6447 This callback is invoked by DAL when it has received a Set STA Key response
6448 from the underlying device.
6449
6450 PARAMETERS
6451
6452 IN
6453 wdiStatus: response status received from HAL
6454 pUserData: user data
6455
6456
Jeff Johnson295189b2012-06-20 16:38:30 -07006457 RETURN VALUE
6458 The result code associated with performing the operation
6459---------------------------------------------------------------------------*/
6460typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6461 void* pUserData);
6462
Jeff Johnson295189b2012-06-20 16:38:30 -07006463/*---------------------------------------------------------------------------
6464 WDI_StartRspCb
6465
6466 DESCRIPTION
6467
6468 This callback is invoked by DAL when it has received a Remove STA Key
6469 response from the underlying device.
6470
6471 PARAMETERS
6472
6473 IN
6474 wdiStatus: response status received from HAL
6475 pUserData: user data
6476
Siddharth Bhal171788a2014-09-29 21:02:40 +05306477
Jeff Johnson295189b2012-06-20 16:38:30 -07006478 RETURN VALUE
6479 The result code associated with performing the operation
6480---------------------------------------------------------------------------*/
6481typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6482 void* pUserData);
6483
6484
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006485#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006486/*---------------------------------------------------------------------------
6487 WDI_TsmRspCb
6488
6489 DESCRIPTION
6490
6491 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6492
6493 PARAMETERS
6494
6495 IN
6496 pTSMStats: response status received from HAL
6497 pUserData: user data
6498
6499
6500
6501 RETURN VALUE
6502 The result code associated with performing the operation
6503---------------------------------------------------------------------------*/
6504typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6505 void* pUserData);
6506#endif
6507
6508/*---------------------------------------------------------------------------
6509 WDI_StartRspCb
6510
6511 DESCRIPTION
6512
6513 This callback is invoked by DAL when it has received a Add TS response from
6514 the underlying device.
6515
6516 PARAMETERS
6517
6518 IN
6519 wdiStatus: response status received from HAL
6520 pUserData: user data
6521
6522
6523
6524 RETURN VALUE
6525 The result code associated with performing the operation
6526---------------------------------------------------------------------------*/
6527typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6528 void* pUserData);
6529
6530/*---------------------------------------------------------------------------
6531 WDI_StartRspCb
6532
6533 DESCRIPTION
6534
6535 This callback is invoked by DAL when it has received a Del TS response from
6536 the underlying device.
6537
6538 PARAMETERS
6539
6540 IN
6541 wdiStatus: response status received from HAL
6542 pUserData: user data
6543
6544
6545
6546 RETURN VALUE
6547 The result code associated with performing the operation
6548---------------------------------------------------------------------------*/
6549typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6550 void* pUserData);
6551
6552/*---------------------------------------------------------------------------
6553 WDI_StartRspCb
6554
6555 DESCRIPTION
6556
6557 This callback is invoked by DAL when it has received an Update EDCA Params
6558 response from the underlying device.
6559
6560 PARAMETERS
6561
6562 IN
6563 wdiStatus: response status received from HAL
6564 pUserData: user data
6565
6566
6567
6568 RETURN VALUE
6569 The result code associated with performing the operation
6570---------------------------------------------------------------------------*/
6571typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6572 void* pUserData);
6573
6574/*---------------------------------------------------------------------------
6575 WDI_StartRspCb
6576
6577 DESCRIPTION
6578
6579 This callback is invoked by DAL when it has received a Add BA response from
6580 the underlying device.
6581
6582 PARAMETERS
6583
6584 IN
6585 wdiStatus: response status received from HAL
6586 pUserData: user data
6587
6588
6589
6590 RETURN VALUE
6591 The result code associated with performing the operation
6592---------------------------------------------------------------------------*/
6593typedef void (*WDI_AddBASessionRspCb)(
6594 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6595 void* pUserData);
6596
6597
6598/*---------------------------------------------------------------------------
6599 WDI_StartRspCb
6600
6601 DESCRIPTION
6602
6603 This callback is invoked by DAL when it has received a Del BA response from
6604 the underlying device.
6605
6606 PARAMETERS
6607
6608 IN
6609 wdiStatus: response status received from HAL
6610 pUserData: user data
6611
6612
6613
6614 RETURN VALUE
6615 The result code associated with performing the operation
6616---------------------------------------------------------------------------*/
6617typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6618 void* pUserData);
6619
6620
6621/*---------------------------------------------------------------------------
6622 WDI_StartRspCb
6623
6624 DESCRIPTION
6625
6626 This callback is invoked by DAL when it has received a Switch Ch response
6627 from the underlying device.
6628
6629 PARAMETERS
6630
6631 IN
6632 wdiRspParams: response parameters received from HAL
6633 pUserData: user data
6634
6635
6636 RETURN VALUE
6637 The result code associated with performing the operation
6638---------------------------------------------------------------------------*/
6639typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6640 void* pUserData);
6641
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006642typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6643 void* pUserData);
6644
Jeff Johnson295189b2012-06-20 16:38:30 -07006645
6646/*---------------------------------------------------------------------------
6647 WDI_StartRspCb
6648
6649 DESCRIPTION
6650
6651 This callback is invoked by DAL when it has received a Config STA response
6652 from the underlying device.
6653
6654 PARAMETERS
6655
6656 IN
6657 wdiRspParams: response parameters received from HAL
6658 pUserData: user data
6659
6660
6661 RETURN VALUE
6662 The result code associated with performing the operation
6663---------------------------------------------------------------------------*/
6664typedef void (*WDI_ConfigSTARspCb)(
6665 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6666 void* pUserData);
6667
6668
6669/*---------------------------------------------------------------------------
6670 WDI_StartRspCb
6671
6672 DESCRIPTION
6673
6674 This callback is invoked by DAL when it has received a Set Link State
6675 response from the underlying device.
6676
6677 PARAMETERS
6678
6679 IN
6680 wdiRspParams: response parameters received from HAL
6681 pUserData: user data
6682
6683
6684 RETURN VALUE
6685 The result code associated with performing the operation
6686---------------------------------------------------------------------------*/
6687typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6688 void* pUserData);
6689
6690
6691/*---------------------------------------------------------------------------
6692 WDI_StartRspCb
6693
6694 DESCRIPTION
6695
6696 This callback is invoked by DAL when it has received a Get Stats response
6697 from the underlying device.
6698
6699 PARAMETERS
6700
6701 IN
6702 wdiRspParams: response parameters received from HAL
6703 pUserData: user data
6704
6705
6706 RETURN VALUE
6707 The result code associated with performing the operation
6708---------------------------------------------------------------------------*/
6709typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6710 void* pUserData);
6711
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006712#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006713/*---------------------------------------------------------------------------
6714 WDI_GetRoamRssiRspCb
6715
6716 DESCRIPTION
6717
6718 This callback is invoked by DAL when it has received a Get Roam Rssi response
6719 from the underlying device.
6720
6721 PARAMETERS
6722
6723 IN
6724 wdiRspParams: response parameters received from HAL
6725 pUserData: user data
6726
6727
6728 RETURN VALUE
6729 The result code associated with performing the operation
6730---------------------------------------------------------------------------*/
6731typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6732 void* pUserData);
6733#endif
6734
Jeff Johnson295189b2012-06-20 16:38:30 -07006735
6736/*---------------------------------------------------------------------------
6737 WDI_StartRspCb
6738
6739 DESCRIPTION
6740
6741 This callback is invoked by DAL when it has received a Update Cfg response
6742 from the underlying device.
6743
6744 PARAMETERS
6745
6746 IN
6747 wdiStatus: response status received from HAL
6748 pUserData: user data
6749
6750
6751 RETURN VALUE
6752 The result code associated with performing the operation
6753---------------------------------------------------------------------------*/
6754typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6755 void* pUserData);
6756
6757/*---------------------------------------------------------------------------
6758 WDI_AddBARspCb
6759
6760 DESCRIPTION
6761
6762 This callback is invoked by DAL when it has received a ADD BA response
6763 from the underlying device.
6764
6765 PARAMETERS
6766
6767 IN
6768 wdiStatus: response status received from HAL
6769 pUserData: user data
6770
6771
6772 RETURN VALUE
6773 The result code associated with performing the operation
6774---------------------------------------------------------------------------*/
6775typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6776 void* pUserData);
6777
6778/*---------------------------------------------------------------------------
6779 WDI_TriggerBARspCb
6780
6781 DESCRIPTION
6782
6783 This callback is invoked by DAL when it has received a ADD BA response
6784 from the underlying device.
6785
6786 PARAMETERS
6787
6788 IN
6789 wdiStatus: response status received from HAL
6790 pUserData: user data
6791
6792
6793 RETURN VALUE
6794 The result code associated with performing the operation
6795---------------------------------------------------------------------------*/
6796typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6797 void* pUserData);
6798
6799
6800/*---------------------------------------------------------------------------
6801 WDI_UpdateBeaconParamsRspCb
6802
6803 DESCRIPTION
6804
6805 This callback is invoked by DAL when it has received a Update Beacon Params response from
6806 the underlying device.
6807
6808 PARAMETERS
6809
6810 IN
6811 wdiStatus: response status received from HAL
6812 pUserData: user data
6813
6814
6815
6816 RETURN VALUE
6817 The result code associated with performing the operation
6818---------------------------------------------------------------------------*/
6819typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6820 void* pUserData);
6821
6822/*---------------------------------------------------------------------------
6823 WDI_SendBeaconParamsRspCb
6824
6825 DESCRIPTION
6826
6827 This callback is invoked by DAL when it has received a Send Beacon Params response from
6828 the underlying device.
6829
6830 PARAMETERS
6831
6832 IN
6833 wdiStatus: response status received from HAL
6834 pUserData: user data
6835
6836
6837
6838 RETURN VALUE
6839 The result code associated with performing the operation
6840---------------------------------------------------------------------------*/
6841typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6842 void* pUserData);
6843
6844/*---------------------------------------------------------------------------
6845 WDA_SetMaxTxPowerRspCb
6846
6847 DESCRIPTION
6848
6849 This callback is invoked by DAL when it has received a set max Tx Power response from
6850 the underlying device.
6851
6852 PARAMETERS
6853
6854 IN
6855 wdiStatus: response status received from HAL
6856 pUserData: user data
6857
6858
6859
6860 RETURN VALUE
6861 The result code associated with performing the operation
6862---------------------------------------------------------------------------*/
6863typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6864 void* pUserData);
6865
6866/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006867 WDA_SetMaxTxPowerPerBandRspCb
6868
6869 DESCRIPTION
6870
6871 This callback is invoked by DAL when it has received a
6872 set max Tx Power Per Band response from the underlying device.
6873
6874 PARAMETERS
6875
6876 IN
6877 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6878 pUserData: user data
6879
6880 RETURN VALUE
6881 The result code associated with performing the operation
6882---------------------------------------------------------------------------*/
6883typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6884 *wdiSetMaxTxPowerPerBandRsp,
6885 void* pUserData);
6886
6887/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006888 WDA_SetTxPowerRspCb
6889
6890 DESCRIPTION
6891
6892 This callback is invoked by DAL when it has received a set max Tx Power response from
6893 the underlying device.
6894
6895 PARAMETERS
6896
6897 IN
6898 wdiStatus: response status received from HAL
6899 pUserData: user data
6900
6901 RETURN VALUE
6902 The result code associated with performing the operation
6903---------------------------------------------------------------------------*/
6904typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6905 void* pUserData);
6906
6907/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006908 WDI_UpdateProbeRspTemplateRspCb
6909
6910 DESCRIPTION
6911
6912 This callback is invoked by DAL when it has received a Probe RSP Template
6913 Update response from the underlying device.
6914
6915 PARAMETERS
6916
6917 IN
6918 wdiStatus: response status received from HAL
6919 pUserData: user data
6920
6921
6922
6923 RETURN VALUE
6924 The result code associated with performing the operation
6925---------------------------------------------------------------------------*/
6926typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6927 void* pUserData);
6928
Jeff Johnson295189b2012-06-20 16:38:30 -07006929/*---------------------------------------------------------------------------
6930 WDI_SetP2PGONOAReqParamsRspCb
6931
6932 DESCRIPTION
6933
6934 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6935 the underlying device.
6936
6937 PARAMETERS
6938
6939 IN
6940 wdiStatus: response status received from HAL
6941 pUserData: user data
6942
6943
6944
6945 RETURN VALUE
6946 The result code associated with performing the operation
6947---------------------------------------------------------------------------*/
6948typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6949 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006950
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306951/*---------------------------------------------------------------------------
6952 WDI_SetTDLSLinkEstablishReqParamsRspCb
6953
6954 DESCRIPTION
6955
6956 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6957 the underlying device.
6958
6959 PARAMETERS
6960
6961 IN
6962 wdiStatus: response status received from HAL
6963 pUserData: user data
6964
6965
6966
6967 RETURN VALUE
6968 The result code associated with performing the operation
6969---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306970typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6971 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306972 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006973
6974/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306975 WDI_SetTDLSChanSwitchReqParamsRspCb
6976
6977 DESCRIPTION
6978
6979 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6980 the underlying device.
6981
6982 PARAMETERS
6983
6984 IN
6985 wdiStatus: response status received from HAL
6986 pUserData: user data
6987
6988
6989
6990 RETURN VALUE
6991 The result code associated with performing the operation
6992---------------------------------------------------------------------------*/
6993typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6994 wdiSetTdlsChanSwitchReqRsp,
6995 void* pUserData);
6996/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006997 WDI_SetPwrSaveCfgCb
6998
6999 DESCRIPTION
7000
7001 This callback is invoked by DAL when it has received a set Power Save CFG
7002 response from the underlying device.
7003
7004 PARAMETERS
7005
7006 IN
7007 wdiStatus: response status received from HAL
7008 pUserData: user data
7009
7010
7011
7012 RETURN VALUE
7013 The result code associated with performing the operation
7014---------------------------------------------------------------------------*/
7015typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
7016 void* pUserData);
7017
7018/*---------------------------------------------------------------------------
7019 WDI_SetUapsdAcParamsCb
7020
7021 DESCRIPTION
7022
7023 This callback is invoked by DAL when it has received a set UAPSD params
7024 response from the underlying device.
7025
7026 PARAMETERS
7027
7028 IN
7029 wdiStatus: response status received from HAL
7030 pUserData: user data
7031
7032
7033
7034 RETURN VALUE
7035 The result code associated with performing the operation
7036---------------------------------------------------------------------------*/
7037typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
7038 void* pUserData);
7039
7040/*---------------------------------------------------------------------------
7041 WDI_EnterImpsRspCb
7042
7043 DESCRIPTION
7044
7045 This callback is invoked by DAL when it has received a Enter IMPS response
7046 from the underlying device.
7047
7048 PARAMETERS
7049
7050 IN
7051 wdiStatus: response status received from HAL
7052 pUserData: user data
7053
7054
7055
7056 RETURN VALUE
7057 The result code associated with performing the operation
7058---------------------------------------------------------------------------*/
7059typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7060 void* pUserData);
7061
7062/*---------------------------------------------------------------------------
7063 WDI_ExitImpsRspCb
7064
7065 DESCRIPTION
7066
7067 This callback is invoked by DAL when it has received a Exit IMPS response
7068 from the underlying device.
7069
7070 PARAMETERS
7071
7072 IN
7073 wdiStatus: response status received from HAL
7074 pUserData: user data
7075
7076
7077
7078 RETURN VALUE
7079 The result code associated with performing the operation
7080---------------------------------------------------------------------------*/
7081typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7082 void* pUserData);
7083
7084/*---------------------------------------------------------------------------
7085 WDI_EnterBmpsRspCb
7086
7087 DESCRIPTION
7088
7089 This callback is invoked by DAL when it has received a enter BMPS response
7090 from the underlying device.
7091
7092 PARAMETERS
7093
7094 IN
7095 wdiStatus: response status received from HAL
7096 pUserData: user data
7097
7098
7099
7100 RETURN VALUE
7101 The result code associated with performing the operation
7102---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007103typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007104 void* pUserData);
7105
7106/*---------------------------------------------------------------------------
7107 WDI_ExitBmpsRspCb
7108
7109 DESCRIPTION
7110
7111 This callback is invoked by DAL when it has received a exit BMPS response
7112 from the underlying device.
7113
7114 PARAMETERS
7115
7116 IN
7117 wdiStatus: response status received from HAL
7118 pUserData: user data
7119
7120
7121
7122 RETURN VALUE
7123 The result code associated with performing the operation
7124---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007125typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007126 void* pUserData);
7127
7128/*---------------------------------------------------------------------------
7129 WDI_EnterUapsdRspCb
7130
7131 DESCRIPTION
7132
7133 This callback is invoked by DAL when it has received a enter UAPSD response
7134 from the underlying device.
7135
7136 PARAMETERS
7137
7138 IN
7139 wdiStatus: response status received from HAL
7140 pUserData: user data
7141
7142
7143
7144 RETURN VALUE
7145 The result code associated with performing the operation
7146---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007147typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007148 void* pUserData);
7149
7150/*---------------------------------------------------------------------------
7151 WDI_ExitUapsdRspCb
7152
7153 DESCRIPTION
7154
7155 This callback is invoked by DAL when it has received a exit UAPSD response
7156 from the underlying device.
7157
7158 PARAMETERS
7159
7160 IN
7161 wdiStatus: response status received from HAL
7162 pUserData: user data
7163
7164
7165
7166 RETURN VALUE
7167 The result code associated with performing the operation
7168---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007169typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007170 void* pUserData);
7171
7172/*---------------------------------------------------------------------------
7173 WDI_UpdateUapsdParamsCb
7174
7175 DESCRIPTION
7176
7177 This callback is invoked by DAL when it has received a update UAPSD params
7178 response from the underlying device.
7179
7180 PARAMETERS
7181
7182 IN
7183 wdiStatus: response status received from HAL
7184 pUserData: user data
7185
7186
7187
7188 RETURN VALUE
7189 The result code associated with performing the operation
7190---------------------------------------------------------------------------*/
7191typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7192 void* pUserData);
7193
7194/*---------------------------------------------------------------------------
7195 WDI_ConfigureRxpFilterCb
7196
7197 DESCRIPTION
7198
7199 This callback is invoked by DAL when it has received a config RXP filter
7200 response from the underlying device.
7201
7202 PARAMETERS
7203
7204 IN
7205 wdiStatus: response status received from HAL
7206 pUserData: user data
7207
7208
7209
7210 RETURN VALUE
7211 The result code associated with performing the operation
7212---------------------------------------------------------------------------*/
7213typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7214 void* pUserData);
7215
7216/*---------------------------------------------------------------------------
7217 WDI_SetBeaconFilterCb
7218
7219 DESCRIPTION
7220
7221 This callback is invoked by DAL when it has received a set beacon filter
7222 response from the underlying device.
7223
7224 PARAMETERS
7225
7226 IN
7227 wdiStatus: response status received from HAL
7228 pUserData: user data
7229
7230
7231
7232 RETURN VALUE
7233 The result code associated with performing the operation
7234---------------------------------------------------------------------------*/
7235typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7236 void* pUserData);
7237
7238/*---------------------------------------------------------------------------
7239 WDI_RemBeaconFilterCb
7240
7241 DESCRIPTION
7242
7243 This callback is invoked by DAL when it has received a remove beacon filter
7244 response from the underlying device.
7245
7246 PARAMETERS
7247
7248 IN
7249 wdiStatus: response status received from HAL
7250 pUserData: user data
7251
7252
7253
7254 RETURN VALUE
7255 The result code associated with performing the operation
7256---------------------------------------------------------------------------*/
7257typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7258 void* pUserData);
7259
7260/*---------------------------------------------------------------------------
7261 WDI_SetRSSIThresholdsCb
7262
7263 DESCRIPTION
7264
7265 This callback is invoked by DAL when it has received a set RSSI thresholds
7266 response from the underlying device.
7267
7268 PARAMETERS
7269
7270 IN
7271 wdiStatus: response status received from HAL
7272 pUserData: user data
7273
7274
7275
7276 RETURN VALUE
7277 The result code associated with performing the operation
7278---------------------------------------------------------------------------*/
7279typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7280 void* pUserData);
7281
7282/*---------------------------------------------------------------------------
7283 WDI_HostOffloadCb
7284
7285 DESCRIPTION
7286
7287 This callback is invoked by DAL when it has received a host offload
7288 response from the underlying device.
7289
7290 PARAMETERS
7291
7292 IN
7293 wdiStatus: response status received from HAL
7294 pUserData: user data
7295
7296
7297
7298 RETURN VALUE
7299 The result code associated with performing the operation
7300---------------------------------------------------------------------------*/
7301typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7302 void* pUserData);
7303
7304/*---------------------------------------------------------------------------
7305 WDI_KeepAliveCb
7306
7307 DESCRIPTION
7308
7309 This callback is invoked by DAL when it has received a Keep Alive
7310 response from the underlying device.
7311
7312 PARAMETERS
7313
7314 IN
7315 wdiStatus: response status received from HAL
7316 pUserData: user data
7317
7318
7319
7320 RETURN VALUE
7321 The result code associated with performing the operation
7322---------------------------------------------------------------------------*/
7323typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7324 void* pUserData);
7325
7326/*---------------------------------------------------------------------------
7327 WDI_WowlAddBcPtrnCb
7328
7329 DESCRIPTION
7330
7331 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7332 response from the underlying device.
7333
7334 PARAMETERS
7335
7336 IN
7337 wdiStatus: response status received from HAL
7338 pUserData: user data
7339
7340
7341
7342 RETURN VALUE
7343 The result code associated with performing the operation
7344---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007345typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007346 void* pUserData);
7347
7348/*---------------------------------------------------------------------------
7349 WDI_WowlDelBcPtrnCb
7350
7351 DESCRIPTION
7352
7353 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7354 response from the underlying device.
7355
7356 PARAMETERS
7357
7358 IN
7359 wdiStatus: response status received from HAL
7360 pUserData: user data
7361
7362
7363
7364 RETURN VALUE
7365 The result code associated with performing the operation
7366---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007367typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007368 void* pUserData);
7369
7370/*---------------------------------------------------------------------------
7371 WDI_WowlEnterReqCb
7372
7373 DESCRIPTION
7374
7375 This callback is invoked by DAL when it has received a Wowl enter
7376 response from the underlying device.
7377
7378 PARAMETERS
7379
7380 IN
7381 wdiStatus: response status received from HAL
7382 pUserData: user data
7383
7384
7385
7386 RETURN VALUE
7387 The result code associated with performing the operation
7388---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007389typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7390 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007391
7392/*---------------------------------------------------------------------------
7393 WDI_WowlExitReqCb
7394
7395 DESCRIPTION
7396
7397 This callback is invoked by DAL when it has received a Wowl exit
7398 response from the underlying device.
7399
7400 PARAMETERS
7401
7402 IN
7403 wdiStatus: response status received from HAL
7404 pUserData: user data
7405
7406
7407
7408 RETURN VALUE
7409 The result code associated with performing the operation
7410---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007411typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007412 void* pUserData);
7413
7414/*---------------------------------------------------------------------------
7415 WDI_ConfigureAppsCpuWakeupStateCb
7416
7417 DESCRIPTION
7418
7419 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7420 State response from the underlying device.
7421
7422 PARAMETERS
7423
7424 IN
7425 wdiStatus: response status received from HAL
7426 pUserData: user data
7427
7428
7429
7430 RETURN VALUE
7431 The result code associated with performing the operation
7432---------------------------------------------------------------------------*/
7433typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7434 void* pUserData);
7435/*---------------------------------------------------------------------------
7436 WDI_NvDownloadRspCb
7437
7438 DESCRIPTION
7439
7440 This callback is invoked by DAL when it has received a NV Download response
7441 from the underlying device.
7442
7443 PARAMETERS
7444
7445 IN
7446 wdiStatus:response status received from HAL
7447 pUserData:user data
7448
7449 RETURN VALUE
7450 The result code associated with performing the operation
7451---------------------------------------------------------------------------*/
7452typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7453 void* pUserData);
7454/*---------------------------------------------------------------------------
7455 WDI_FlushAcRspCb
7456
7457 DESCRIPTION
7458
7459 This callback is invoked by DAL when it has received a Flush AC response from
7460 the underlying device.
7461
7462 PARAMETERS
7463
7464 IN
7465 wdiStatus: response status received from HAL
7466 pUserData: user data
7467
7468
7469
7470 RETURN VALUE
7471 The result code associated with performing the operation
7472---------------------------------------------------------------------------*/
7473typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7474 void* pUserData);
7475
7476/*---------------------------------------------------------------------------
7477 WDI_BtAmpEventRspCb
7478
7479 DESCRIPTION
7480
7481 This callback is invoked by DAL when it has received a Bt AMP event response
7482 from the underlying device.
7483
7484 PARAMETERS
7485
7486 IN
7487 wdiStatus: response status received from HAL
7488 pUserData: user data
7489
7490
7491
7492 RETURN VALUE
7493 The result code associated with performing the operation
7494---------------------------------------------------------------------------*/
7495typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7496 void* pUserData);
7497
Jeff Johnsone7245742012-09-05 17:12:55 -07007498#ifdef FEATURE_OEM_DATA_SUPPORT
7499/*---------------------------------------------------------------------------
7500 WDI_oemDataRspCb
7501
7502 DESCRIPTION
7503
7504 This callback is invoked by DAL when it has received a Start oem data response from
7505 the underlying device.
7506
7507 PARAMETERS
7508
7509 IN
7510 wdiStatus: response status received from HAL
7511 pUserData: user data
7512
7513
7514
7515 RETURN VALUE
7516 The result code associated with performing the operation
7517---------------------------------------------------------------------------*/
7518typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7519 void* pUserData);
7520
7521#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007522
7523/*---------------------------------------------------------------------------
7524 WDI_HostResumeEventRspCb
7525
7526 DESCRIPTION
7527
7528 This callback is invoked by DAL when it has received a Bt AMP event response
7529 from the underlying device.
7530
7531 PARAMETERS
7532
7533 IN
7534 wdiStatus: response status received from HAL
7535 pUserData: user data
7536
7537
7538
7539 RETURN VALUE
7540 The result code associated with performing the operation
7541---------------------------------------------------------------------------*/
7542typedef void (*WDI_HostResumeEventRspCb)(
7543 WDI_SuspendResumeRspParamsType *resumeRspParams,
7544 void* pUserData);
7545
7546
7547#ifdef WLAN_FEATURE_VOWIFI_11R
7548/*---------------------------------------------------------------------------
7549 WDI_AggrAddTsRspCb
7550
7551 DESCRIPTION
7552
7553 This callback is invoked by DAL when it has received a Aggregated Add TS
7554 response from the underlying device.
7555
7556 PARAMETERS
7557
7558 IN
7559 wdiStatus: response status received from HAL
7560 pUserData: user data
7561
7562
7563
7564 RETURN VALUE
7565 The result code associated with performing the operation
7566---------------------------------------------------------------------------*/
7567typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7568 void* pUserData);
7569#endif /* WLAN_FEATURE_VOWIFI_11R */
7570
Jeff Johnson295189b2012-06-20 16:38:30 -07007571/*---------------------------------------------------------------------------
7572 WDI_FTMCommandRspCb
7573
7574 DESCRIPTION
7575
7576 FTM Command response CB
7577
7578 PARAMETERS
7579
7580 IN
7581 ftmCMDRspdata: FTM response data from HAL
7582 pUserData: user data
7583
7584
7585 RETURN VALUE
7586 NONE
7587---------------------------------------------------------------------------*/
7588typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7589 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007590
7591/*---------------------------------------------------------------------------
7592 WDI_AddSTASelfParamsRspCb
7593
7594 DESCRIPTION
7595
7596 This callback is invoked by DAL when it has received a Add Sta Self Params
7597 response from the underlying device.
7598
7599 PARAMETERS
7600
7601 IN
7602 wdiAddSelfSTARsp: response status received from HAL
7603 pUserData: user data
7604
7605
7606
7607 RETURN VALUE
7608 The result code associated with performing the operation
7609---------------------------------------------------------------------------*/
7610typedef void (*WDI_AddSTASelfParamsRspCb)(
7611 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7612 void* pUserData);
7613
7614
7615/*---------------------------------------------------------------------------
7616 WDI_DelSTASelfRspCb
7617
7618 DESCRIPTION
7619
7620 This callback is invoked by DAL when it has received a host offload
7621 response from the underlying device.
7622
7623 PARAMETERS
7624
7625 IN
7626 wdiStatus: response status received from HAL
7627 pUserData: user data
7628
7629
7630
7631 RETURN VALUE
7632 The result code associated with performing the operation
7633---------------------------------------------------------------------------*/
7634typedef void (*WDI_DelSTASelfRspCb)
7635(
7636WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7637void* pUserData
7638);
7639
7640#ifdef FEATURE_WLAN_SCAN_PNO
7641/*---------------------------------------------------------------------------
7642 WDI_PNOScanCb
7643
7644 DESCRIPTION
7645
7646 This callback is invoked by DAL when it has received a Set PNO
7647 response from the underlying device.
7648
7649 PARAMETERS
7650
7651 IN
7652 wdiStatus: response status received from HAL
7653 pUserData: user data
7654
7655
7656
7657 RETURN VALUE
7658 The result code associated with performing the operation
7659---------------------------------------------------------------------------*/
7660typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7661 void* pUserData);
7662
7663/*---------------------------------------------------------------------------
7664 WDI_PNOScanCb
7665
7666 DESCRIPTION
7667
7668 This callback is invoked by DAL when it has received a Set PNO
7669 response from the underlying device.
7670
7671 PARAMETERS
7672
7673 IN
7674 wdiStatus: response status received from HAL
7675 pUserData: user data
7676
7677
7678
7679 RETURN VALUE
7680 The result code associated with performing the operation
7681---------------------------------------------------------------------------*/
7682typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7683 void* pUserData);
7684
7685/*---------------------------------------------------------------------------
7686 WDI_UpdateScanParamsCb
7687
7688 DESCRIPTION
7689
7690 This callback is invoked by DAL when it has received a Update Scan Params
7691 response from the underlying device.
7692
7693 PARAMETERS
7694
7695 IN
7696 wdiStatus: response status received from HAL
7697 pUserData: user data
7698
7699
7700
7701 RETURN VALUE
7702 The result code associated with performing the operation
7703---------------------------------------------------------------------------*/
7704typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7705 void* pUserData);
7706#endif // FEATURE_WLAN_SCAN_PNO
7707
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007708typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7709 void* pUserData);
7710
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007711#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7712/*---------------------------------------------------------------------------
7713 WDI_RoamOffloadScanCb
7714
7715 DESCRIPTION
7716
7717 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7718 response from the underlying device.
7719
7720 PARAMETERS
7721
7722 IN
7723 wdiStatus: response status received from HAL
7724 pUserData: user data
7725
7726
7727
7728 RETURN VALUE
7729 The result code associated with performing the operation
7730---------------------------------------------------------------------------*/
7731typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7732 void* pUserData);
7733
7734#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007735/*---------------------------------------------------------------------------
7736 WDI_SetTxPerTrackingRspCb
7737
7738 DESCRIPTION
7739
7740 This callback is invoked by DAL when it has received a Tx PER Tracking
7741 response from the underlying device.
7742
7743 PARAMETERS
7744
7745 IN
7746 wdiStatus: response status received from HAL
7747 pUserData: user data
7748
7749
7750
7751 RETURN VALUE
7752 The result code associated with performing the operation
7753---------------------------------------------------------------------------*/
7754typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7755 void* pUserData);
7756
7757#ifdef WLAN_FEATURE_PACKET_FILTERING
7758/*---------------------------------------------------------------------------
7759 WDI_8023MulticastListCb
7760
7761 DESCRIPTION
7762
7763 This callback is invoked by DAL when it has received a 8023 Multicast List
7764 response from the underlying device.
7765
7766 PARAMETERS
7767
7768 IN
7769 wdiStatus: response status received from HAL
7770 pUserData: user data
7771
7772
7773
7774 RETURN VALUE
7775 The result code associated with performing the operation
7776---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007777typedef void (*WDI_8023MulticastListCb)(
7778 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7779 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007780
7781/*---------------------------------------------------------------------------
7782 WDI_ReceiveFilterSetFilterCb
7783
7784 DESCRIPTION
7785
7786 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7787 response from the underlying device.
7788
7789 PARAMETERS
7790
7791 IN
7792 wdiStatus: response status received from HAL
7793 pUserData: user data
7794
7795
7796
7797 RETURN VALUE
7798 The result code associated with performing the operation
7799---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007800typedef void (*WDI_ReceiveFilterSetFilterCb)(
7801 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7802 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007803
7804/*---------------------------------------------------------------------------
7805 WDI_FilterMatchCountCb
7806
7807 DESCRIPTION
7808
7809 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7810 response from the underlying device.
7811
7812 PARAMETERS
7813
7814 IN
7815 wdiStatus: response status received from HAL
7816 pUserData: user data
7817
7818
7819
7820 RETURN VALUE
7821 The result code associated with performing the operation
7822---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007823typedef void (*WDI_FilterMatchCountCb)(
7824 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7825 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007826
7827/*---------------------------------------------------------------------------
7828 WDI_ReceiveFilterClearFilterCb
7829
7830 DESCRIPTION
7831
7832 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7833 response from the underlying device.
7834
7835 PARAMETERS
7836
7837 IN
7838 wdiStatus: response status received from HAL
7839 pUserData: user data
7840
7841
7842
7843 RETURN VALUE
7844 The result code associated with performing the operation
7845---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007846typedef void (*WDI_ReceiveFilterClearFilterCb)(
7847 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7848 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007849#endif // WLAN_FEATURE_PACKET_FILTERING
7850
7851/*---------------------------------------------------------------------------
7852 WDI_HALDumpCmdRspCb
7853
7854 DESCRIPTION
7855
7856 This callback is invoked by DAL when it has received a HAL DUMP Command
7857response from
7858 the HAL layer.
7859
7860 PARAMETERS
7861
7862 IN
7863 wdiHalDumpCmdRsp: response status received from HAL
7864 pUserData: user data
7865
7866
7867
7868 RETURN VALUE
7869 The result code associated with performing the operation
7870---------------------------------------------------------------------------*/
7871typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7872 void* pUserData);
7873
7874/*---------------------------------------------------------------------------
7875 WDI_SetPowerParamsCb
7876
7877 DESCRIPTION
7878
7879 This callback is invoked by DAL when it has received a Set Power Param
7880 response from the underlying device.
7881
7882 PARAMETERS
7883
7884 IN
7885 wdiStatus: response status received from HAL
7886 pUserData: user data
7887
7888
7889
7890 RETURN VALUE
7891 The result code associated with performing the operation
7892---------------------------------------------------------------------------*/
7893typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7894 void* pUserData);
7895
7896#ifdef WLAN_FEATURE_GTK_OFFLOAD
7897/*---------------------------------------------------------------------------
7898 WDI_GtkOffloadCb
7899
7900 DESCRIPTION
7901
7902 This callback is invoked by DAL when it has received a GTK offload
7903 response from the underlying device.
7904
7905 PARAMETERS
7906
7907 IN
7908 wdiStatus: response status received from HAL
7909 pUserData: user data
7910
7911
7912
7913 RETURN VALUE
7914 The result code associated with performing the operation
7915---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007916typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007917 void* pUserData);
7918
7919/*---------------------------------------------------------------------------
7920 WDI_GtkOffloadGetInfoCb
7921
7922 DESCRIPTION
7923
7924 This callback is invoked by DAL when it has received a GTK offload
7925 information response from the underlying device.
7926
7927 PARAMETERS
7928
7929 IN
7930 wdiStatus: response status received from HAL
7931 pUserData: user data
7932
7933
7934
7935 RETURN VALUE
7936 The result code associated with performing the operation
7937---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007938typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007939 void* pUserData);
7940#endif // WLAN_FEATURE_GTK_OFFLOAD
7941
7942/*---------------------------------------------------------------------------
7943 WDI_SetTmLevelCb
7944
7945 DESCRIPTION
7946
7947 This callback is invoked by DAL when it has received a Set New TM Level
7948 done response from the underlying device.
7949
7950 PARAMETERS
7951
7952 IN
7953 wdiStatus: response status received from HAL
7954 pUserData: user data
7955
7956
7957
7958 RETURN VALUE
7959 The result code associated with performing the operation
7960---------------------------------------------------------------------------*/
7961typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7962 void* pUserData);
7963
7964/*---------------------------------------------------------------------------
7965 WDI_featureCapsExchangeCb
7966
7967 DESCRIPTION
7968
7969 This callback is invoked by DAL when it has received a HAL Feature Capbility
7970 Exchange Response the HAL layer. This callback is put to mantain code
7971 similarity and is not being used right now.
7972
7973 PARAMETERS
7974
7975 IN
7976 wdiFeatCapRspParams: response parameters received from HAL
7977 pUserData: user data
7978
7979 RETURN VALUE
7980 The result code associated with performing the operation
7981---------------------------------------------------------------------------*/
7982typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7983 void* pUserData);
7984
Mohit Khanna4a70d262012-09-11 16:30:12 -07007985#ifdef WLAN_FEATURE_11AC
7986typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7987 void* pUserData);
7988#endif
7989
Leo Chang9056f462013-08-01 19:21:11 -07007990#ifdef FEATURE_WLAN_LPHB
7991typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7992 void* pUserData);
7993#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007994
Rajeev79dbe4c2013-10-05 11:03:42 +05307995#ifdef FEATURE_WLAN_BATCH_SCAN
7996/*---------------------------------------------------------------------------
7997 WDI_SetBatchScanCb
7998
7999 DESCRIPTION
8000
8001 This callback is invoked by DAL when it has received a get batch scan
8002 response from the underlying device.
8003
8004 PARAMETERS
8005
8006 IN
8007 wdiStatus: response status received from HAL
8008 pUserData: user data
8009
8010
8011
8012 RETURN VALUE
8013 The result code associated with performing the operation
8014---------------------------------------------------------------------------*/
8015typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
8016
8017#endif
8018
c_hpothu92367912014-05-01 15:18:17 +05308019typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
8020 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05308021
Dino Mycle41bdc942014-06-10 11:30:24 +05308022#ifdef WLAN_FEATURE_EXTSCAN
8023typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
8024 void *pUserData);
8025typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
8026 void *pUserData);
8027typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
8028 void *pUserData);
8029typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
8030 void *pUserData);
8031typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
8032 void *pUserData);
8033typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
8034 void *pUserData);
8035typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
8036 void *pUserData);
8037typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
8038 void *pUserData);
8039#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05308040
8041#ifdef WLAN_FEATURE_LINK_LAYER_STATS
8042typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
8043 void *pUserData);
8044typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
8045 void *pUserData);
8046typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
8047 void *pUserData);
8048#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05308049
8050typedef void (*WDI_SetSpoofMacAddrRspCb)(
8051 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308052
Abhishek Singh85b74712014-10-08 11:38:19 +05308053typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8054 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308055
8056typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhald1be97f2015-05-27 22:39:59 +05308057typedef void (*WDI_FWLoggingInitRspCb)(
8058 WDI_FWLoggingInitRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308059typedef void (*WDI_GetFrameLogRspCb)(
8060 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05308061typedef void (*WDI_FatalEventLogsRspCb)(
8062 WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308063
Katya Nigamf0511f62015-05-05 16:40:57 +05308064typedef void (*WDI_MonStartRspCb)(void *pEventData,void *pUserData);
8065typedef void (*WDI_MonStopRspCb)(void *pUserData);
8066
Jeff Johnson295189b2012-06-20 16:38:30 -07008067/*========================================================================
8068 * Function Declarations and Documentation
8069 ==========================================================================*/
8070
8071/*========================================================================
8072
8073 INITIALIZATION APIs
8074
8075==========================================================================*/
8076
8077/**
8078 @brief WDI_Init is used to initialize the DAL.
8079
8080 DAL will allocate all the resources it needs. It will open PAL, it will also
8081 open both the data and the control transport which in their turn will open
8082 DXE/SMD or any other drivers that they need.
8083
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308084 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008085 ppWDIGlobalCtx: output pointer of Global Context
8086 pWdiDevCapability: output pointer of device capability
8087
8088 @return Result of the function call
8089*/
8090WDI_Status
8091WDI_Init
8092(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308093 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008094 void** ppWDIGlobalCtx,
8095 WDI_DeviceCapabilityType* pWdiDevCapability,
8096 unsigned int driverType
8097);
8098
8099/**
8100 @brief WDI_Start will be called when the upper MAC is ready to
8101 commence operation with the WLAN Device. Upon the call
8102 of this API the WLAN DAL will pack and send a HAL Start
8103 message to the lower RIVA sub-system if the SMD channel
8104 has been fully opened and the RIVA subsystem is up.
8105
8106 If the RIVA sub-system is not yet up and running DAL
8107 will queue the request for Open and will wait for the
8108 SMD notification before attempting to send down the
8109 message to HAL.
8110
8111 WDI_Init must have been called.
8112
8113 @param wdiStartParams: the start parameters as specified by
8114 the Device Interface
8115
8116 wdiStartRspCb: callback for passing back the response of
8117 the start operation received from the device
8118
8119 pUserData: user data will be passed back with the
8120 callback
8121
8122 @see WDI_Start
8123 @return Result of the function call
8124*/
8125WDI_Status
8126WDI_Start
8127(
8128 WDI_StartReqParamsType* pwdiStartParams,
8129 WDI_StartRspCb wdiStartRspCb,
8130 void* pUserData
8131);
8132
8133
8134/**
8135 @brief WDI_Stop will be called when the upper MAC is ready to
8136 stop any operation with the WLAN Device. Upon the call
8137 of this API the WLAN DAL will pack and send a HAL Stop
8138 message to the lower RIVA sub-system if the DAL Core is
8139 in started state.
8140
8141 In state BUSY this request will be queued.
8142
8143 Request will not be accepted in any other state.
8144
8145 WDI_Start must have been called.
8146
8147 @param wdiStopParams: the stop parameters as specified by
8148 the Device Interface
8149
8150 wdiStopRspCb: callback for passing back the response of
8151 the stop operation received from the device
8152
8153 pUserData: user data will be passed back with the
8154 callback
8155
8156 @see WDI_Start
8157 @return Result of the function call
8158*/
8159WDI_Status
8160WDI_Stop
8161(
8162 WDI_StopReqParamsType* pwdiStopParams,
8163 WDI_StopRspCb wdiStopRspCb,
8164 void* pUserData
8165);
8166
8167/**
8168 @brief WDI_Close will be called when the upper MAC no longer
8169 needs to interract with DAL. DAL will free its control
8170 block.
8171
8172 It is only accepted in state STOPPED.
8173
8174 WDI_Stop must have been called.
8175
8176 @param none
8177
8178 @see WDI_Stop
8179 @return Result of the function call
8180*/
8181WDI_Status
8182WDI_Close
8183(
8184 void
8185);
8186
8187
8188/**
8189 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8190 This will do most of the WDI stop & close
8191 operations without doing any handshake with Riva
8192
8193 This will also make sure that the control transport
8194 will NOT be closed.
8195
8196 This request will not be queued.
8197
8198
8199 WDI_Start must have been called.
8200
8201 @param closeTransport: Close control channel if this is set
8202
8203 @return Result of the function call
8204*/
8205WDI_Status
8206WDI_Shutdown
8207(
8208 wpt_boolean closeTransport
8209);
8210
8211/*========================================================================
8212
8213 SCAN APIs
8214
8215==========================================================================*/
8216
8217/**
8218 @brief WDI_InitScanReq will be called when the upper MAC wants
8219 the WLAN Device to get ready for a scan procedure. Upon
8220 the call of this API the WLAN DAL will pack and send a
8221 HAL Init Scan request message to the lower RIVA
8222 sub-system if DAL is in state STARTED.
8223
8224 In state BUSY this request will be queued. Request won't
8225 be allowed in any other state.
8226
8227 WDI_Start must have been called.
8228
8229 @param wdiInitScanParams: the init scan parameters as specified
8230 by the Device Interface
8231
8232 wdiInitScanRspCb: callback for passing back the response
8233 of the init scan operation received from the device
8234
8235 pUserData: user data will be passed back with the
8236 callback
8237
8238 @see WDI_Start
8239 @return Result of the function call
8240*/
8241WDI_Status
8242WDI_InitScanReq
8243(
8244 WDI_InitScanReqParamsType* pwdiInitScanParams,
8245 WDI_InitScanRspCb wdiInitScanRspCb,
8246 void* pUserData
8247);
8248
8249/**
8250 @brief WDI_StartScanReq will be called when the upper MAC
8251 wishes to change the Scan channel on the WLAN Device.
8252 Upon the call of this API the WLAN DAL will pack and
8253 send a HAL Start Scan request message to the lower RIVA
8254 sub-system if DAL is in state STARTED.
8255
8256 In state BUSY this request will be queued. Request won't
8257 be allowed in any other state.
8258
8259 WDI_InitScanReq must have been called.
8260
8261 @param wdiStartScanParams: the start scan parameters as
8262 specified by the Device Interface
8263
8264 wdiStartScanRspCb: callback for passing back the
8265 response of the start scan operation received from the
8266 device
8267
8268 pUserData: user data will be passed back with the
8269 callback
8270
8271 @see WDI_InitScanReq
8272 @return Result of the function call
8273*/
8274WDI_Status
8275WDI_StartScanReq
8276(
8277 WDI_StartScanReqParamsType* pwdiStartScanParams,
8278 WDI_StartScanRspCb wdiStartScanRspCb,
8279 void* pUserData
8280);
8281
8282
8283/**
8284 @brief WDI_EndScanReq will be called when the upper MAC is
8285 wants to end scanning for a particular channel that it
8286 had set before by calling Scan Start on the WLAN Device.
8287 Upon the call of this API the WLAN DAL will pack and
8288 send a HAL End Scan request message to the lower RIVA
8289 sub-system if DAL is in state STARTED.
8290
8291 In state BUSY this request will be queued. Request won't
8292 be allowed in any other state.
8293
8294 WDI_StartScanReq must have been called.
8295
8296 @param wdiEndScanParams: the end scan parameters as specified
8297 by the Device Interface
8298
8299 wdiEndScanRspCb: callback for passing back the response
8300 of the end scan operation received from the device
8301
8302 pUserData: user data will be passed back with the
8303 callback
8304
8305 @see WDI_StartScanReq
8306 @return Result of the function call
8307*/
8308WDI_Status
8309WDI_EndScanReq
8310(
8311 WDI_EndScanReqParamsType* pwdiEndScanParams,
8312 WDI_EndScanRspCb wdiEndScanRspCb,
8313 void* pUserData
8314);
8315
8316
8317/**
8318 @brief WDI_FinishScanReq will be called when the upper MAC has
8319 completed the scan process on the WLAN Device. Upon the
8320 call of this API the WLAN DAL will pack and send a HAL
8321 Finish Scan Request request message to the lower RIVA
8322 sub-system if DAL is in state STARTED.
8323
8324 In state BUSY this request will be queued. Request won't
8325 be allowed in any other state.
8326
8327 WDI_InitScanReq must have been called.
8328
8329 @param wdiFinishScanParams: the finish scan parameters as
8330 specified by the Device Interface
8331
8332 wdiFinishScanRspCb: callback for passing back the
8333 response of the finish scan operation received from the
8334 device
8335
8336 pUserData: user data will be passed back with the
8337 callback
8338
8339 @see WDI_InitScanReq
8340 @return Result of the function call
8341*/
8342WDI_Status
8343WDI_FinishScanReq
8344(
8345 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8346 WDI_FinishScanRspCb wdiFinishScanRspCb,
8347 void* pUserData
8348);
8349
8350/*========================================================================
8351
8352 ASSOCIATION APIs
8353
8354==========================================================================*/
8355
8356/**
8357 @brief WDI_JoinReq will be called when the upper MAC is ready
8358 to start an association procedure to a BSS. Upon the
8359 call of this API the WLAN DAL will pack and send a HAL
8360 Join request message to the lower RIVA sub-system if
8361 DAL is in state STARTED.
8362
8363 In state BUSY this request will be queued. Request won't
8364 be allowed in any other state.
8365
8366 WDI_Start must have been called.
8367
8368 @param wdiJoinParams: the join parameters as specified by
8369 the Device Interface
8370
8371 wdiJoinRspCb: callback for passing back the response of
8372 the join operation received from the device
8373
8374 pUserData: user data will be passed back with the
8375 callback
8376
8377 @see WDI_Start
8378 @return Result of the function call
8379*/
8380WDI_Status
8381WDI_JoinReq
8382(
8383 WDI_JoinReqParamsType* pwdiJoinParams,
8384 WDI_JoinRspCb wdiJoinRspCb,
8385 void* pUserData
8386);
8387
8388/**
8389 @brief WDI_ConfigBSSReq will be called when the upper MAC
8390 wishes to configure the newly acquired or in process of
8391 being acquired BSS to the HW . Upon the call of this API
8392 the WLAN DAL will pack and send a HAL Config BSS request
8393 message to the lower RIVA sub-system if DAL is in state
8394 STARTED.
8395
8396 In state BUSY this request will be queued. Request won't
8397 be allowed in any other state.
8398
8399 WDI_JoinReq must have been called.
8400
8401 @param wdiConfigBSSParams: the config BSS parameters as
8402 specified by the Device Interface
8403
8404 wdiConfigBSSRspCb: callback for passing back the
8405 response of the config BSS operation received from the
8406 device
8407
8408 pUserData: user data will be passed back with the
8409 callback
8410
8411 @see WDI_JoinReq
8412 @return Result of the function call
8413*/
8414WDI_Status
8415WDI_ConfigBSSReq
8416(
8417 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8418 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8419 void* pUserData
8420);
8421
8422/**
8423 @brief WDI_DelBSSReq will be called when the upper MAC is
8424 dissasociating from the BSS and wishes to notify HW.
8425 Upon the call of this API the WLAN DAL will pack and
8426 send a HAL Del BSS request message to the lower RIVA
8427 sub-system if DAL is in state STARTED.
8428
8429 In state BUSY this request will be queued. Request won't
8430 be allowed in any other state.
8431
8432 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8433
8434 @param wdiDelBSSParams: the del BSS parameters as specified by
8435 the Device Interface
8436
8437 wdiDelBSSRspCb: callback for passing back the response
8438 of the del bss operation received from the device
8439
8440 pUserData: user data will be passed back with the
8441 callback
8442
8443 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8444 @return Result of the function call
8445*/
8446WDI_Status
8447WDI_DelBSSReq
8448(
8449 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8450 WDI_DelBSSRspCb wdiDelBSSRspCb,
8451 void* pUserData
8452);
8453
8454/**
8455 @brief WDI_PostAssocReq will be called when the upper MAC has
8456 associated to a BSS and wishes to configure HW for
8457 associated state. Upon the call of this API the WLAN DAL
8458 will pack and send a HAL Post Assoc request message to
8459 the lower RIVA sub-system if DAL is in state STARTED.
8460
8461 In state BUSY this request will be queued. Request won't
8462 be allowed in any other state.
8463
8464 WDI_JoinReq must have been called.
8465
8466 @param wdiPostAssocReqParams: the assoc parameters as specified
8467 by the Device Interface
8468
8469 wdiPostAssocRspCb: callback for passing back the
8470 response of the post assoc operation received from the
8471 device
8472
8473 pUserData: user data will be passed back with the
8474 callback
8475
8476 @see WDI_JoinReq
8477 @return Result of the function call
8478*/
8479WDI_Status
8480WDI_PostAssocReq
8481(
8482 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8483 WDI_PostAssocRspCb wdiPostAssocRspCb,
8484 void* pUserData
8485);
8486
8487/**
8488 @brief WDI_DelSTAReq will be called when the upper MAC when an
8489 association with another STA has ended and the station
8490 must be deleted from HW. Upon the call of this API the
8491 WLAN DAL will pack and send a HAL Del STA request
8492 message to the lower RIVA sub-system if DAL is in state
8493 STARTED.
8494
8495 In state BUSY this request will be queued. Request won't
8496 be allowed in any other state.
8497
8498 WDI_PostAssocReq must have been called.
8499
8500 @param wdiDelSTAParams: the Del STA parameters as specified by
8501 the Device Interface
8502
8503 wdiDelSTARspCb: callback for passing back the response
8504 of the del STA operation received from the device
8505
8506 pUserData: user data will be passed back with the
8507 callback
8508
8509 @see WDI_PostAssocReq
8510 @return Result of the function call
8511*/
8512WDI_Status
8513WDI_DelSTAReq
8514(
8515 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8516 WDI_DelSTARspCb wdiDelSTARspCb,
8517 void* pUserData
8518);
8519
8520/*========================================================================
8521
8522 SECURITY APIs
8523
8524==========================================================================*/
8525
8526/**
8527 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8528 install a BSS encryption key on the HW. Upon the call of
8529 this API the WLAN DAL will pack and send a HAL Start
8530 request message to the lower RIVA sub-system if DAL is
8531 in state STARTED.
8532
8533 In state BUSY this request will be queued. Request won't
8534 be allowed in any other state.
8535
8536 WDI_PostAssocReq must have been called.
8537
8538 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8539 specified by the Device Interface
8540
8541 wdiSetBSSKeyRspCb: callback for passing back the
8542 response of the set BSS Key operation received from the
8543 device
8544
8545 pUserData: user data will be passed back with the
8546 callback
8547
8548 @see WDI_PostAssocReq
8549 @return Result of the function call
8550*/
8551WDI_Status
8552WDI_SetBSSKeyReq
8553(
8554 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8555 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8556 void* pUserData
8557);
8558
8559
8560/**
8561 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8562 uninstall a BSS key from HW. Upon the call of this API
8563 the WLAN DAL will pack and send a HAL Remove BSS Key
8564 request message to the lower RIVA sub-system if DAL is
8565 in state STARTED.
8566
8567 In state BUSY this request will be queued. Request won't
8568 be allowed in any other state.
8569
8570 WDI_SetBSSKeyReq must have been called.
8571
8572 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8573 specified by the Device Interface
8574
8575 wdiRemoveBSSKeyRspCb: callback for passing back the
8576 response of the remove BSS key operation received from
8577 the device
8578
8579 pUserData: user data will be passed back with the
8580 callback
8581
8582 @see WDI_SetBSSKeyReq
8583 @return Result of the function call
8584*/
8585WDI_Status
8586WDI_RemoveBSSKeyReq
8587(
8588 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8589 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8590 void* pUserData
8591);
8592
8593
8594/**
8595 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8596 ready to install a STA(ast) encryption key in HW. Upon
8597 the call of this API the WLAN DAL will pack and send a
8598 HAL Set STA Key request message to the lower RIVA
8599 sub-system if DAL is in state STARTED.
8600
8601 In state BUSY this request will be queued. Request won't
8602 be allowed in any other state.
8603
8604 WDI_PostAssocReq must have been called.
8605
8606 @param wdiSetSTAKeyParams: the set STA key parameters as
8607 specified by the Device Interface
8608
8609 wdiSetSTAKeyRspCb: callback for passing back the
8610 response of the set STA key operation received from the
8611 device
8612
8613 pUserData: user data will be passed back with the
8614 callback
8615
8616 @see WDI_PostAssocReq
8617 @return Result of the function call
8618*/
8619WDI_Status
8620WDI_SetSTAKeyReq
8621(
8622 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8623 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8624 void* pUserData
8625);
8626
8627
8628/**
8629 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8630 wants to unistall a previously set STA key in HW. Upon
8631 the call of this API the WLAN DAL will pack and send a
8632 HAL Remove STA Key request message to the lower RIVA
8633 sub-system if DAL is in state STARTED.
8634
8635 In state BUSY this request will be queued. Request won't
8636 be allowed in any other state.
8637
8638 WDI_SetSTAKeyReq must have been called.
8639
8640 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8641 specified by the Device Interface
8642
8643 wdiRemoveSTAKeyRspCb: callback for passing back the
8644 response of the remove STA key operation received from
8645 the device
8646
8647 pUserData: user data will be passed back with the
8648 callback
8649
8650 @see WDI_SetSTAKeyReq
8651 @return Result of the function call
8652*/
8653WDI_Status
8654WDI_RemoveSTAKeyReq
8655(
8656 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8657 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8658 void* pUserData
8659);
8660
8661/**
8662 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8663 wants to install a STA Bcast encryption key on the HW.
8664 Upon the call of this API the WLAN DAL will pack and
8665 send a HAL Start request message to the lower RIVA
8666 sub-system if DAL is in state STARTED.
8667
8668 In state BUSY this request will be queued. Request won't
8669 be allowed in any other state.
8670
8671 WDI_PostAssocReq must have been called.
8672
8673 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8674 specified by the Device Interface
8675
8676 wdiSetSTABcastKeyRspCb: callback for passing back the
8677 response of the set BSS Key operation received from the
8678 device
8679
8680 pUserData: user data will be passed back with the
8681 callback
8682
8683 @see WDI_PostAssocReq
8684 @return Result of the function call
8685*/
8686WDI_Status
8687WDI_SetSTABcastKeyReq
8688(
8689 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8690 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8691 void* pUserData
8692);
8693
8694
8695/**
8696 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8697 MAC to uninstall a STA Bcast key from HW. Upon the call
8698 of this API the WLAN DAL will pack and send a HAL Remove
8699 STA Bcast Key request message to the lower RIVA
8700 sub-system if DAL is in state STARTED.
8701
8702 In state BUSY this request will be queued. Request won't
8703 be allowed in any other state.
8704
8705 WDI_SetSTABcastKeyReq must have been called.
8706
8707 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8708 parameters as specified by the Device
8709 Interface
8710
8711 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8712 response of the remove STA Bcast key operation received
8713 from the device
8714
8715 pUserData: user data will be passed back with the
8716 callback
8717
8718 @see WDI_SetSTABcastKeyReq
8719 @return Result of the function call
8720*/
8721WDI_Status
8722WDI_RemoveSTABcastKeyReq
8723(
8724 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8725 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8726 void* pUserData
8727);
8728
schang86c22c42013-03-13 18:41:24 -07008729
8730/**
8731 @brief WDI_SetTxPowerReq will be called when the upper
8732 MAC wants to set Tx Power to HW.
8733 In state BUSY this request will be queued. Request won't
8734 be allowed in any other state.
8735
8736
8737 @param pwdiSetTxPowerParams: set TS Power parameters
8738 BSSID and target TX Power with dbm included
8739
8740 wdiReqStatusCb: callback for passing back the response
8741
8742 pUserData: user data will be passed back with the
8743 callback
8744
8745 @return Result of the function call
8746*/
8747WDI_Status
8748WDI_SetTxPowerReq
8749(
8750 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8751 WDA_SetTxPowerRspCb wdiReqStatusCb,
8752 void* pUserData
8753);
8754
Jeff Johnson295189b2012-06-20 16:38:30 -07008755/**
8756 @brief WDI_SetMaxTxPowerReq will be called when the upper
8757 MAC wants to set Max Tx Power to HW. Upon the
8758 call of this API the WLAN DAL will pack and send a HAL
8759 Remove STA Bcast Key request message to the lower RIVA
8760 sub-system if DAL is in state STARTED.
8761
8762 In state BUSY this request will be queued. Request won't
8763 be allowed in any other state.
8764
8765 WDI_SetSTABcastKeyReq must have been called.
8766
8767 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8768 parameters as specified by the Device
8769 Interface
8770
8771 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8772 response of the remove STA Bcast key operation received
8773 from the device
8774
8775 pUserData: user data will be passed back with the
8776 callback
8777
8778 @see WDI_SetMaxTxPowerReq
8779 @return Result of the function call
8780*/
8781WDI_Status
8782WDI_SetMaxTxPowerReq
8783(
8784 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8785 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8786 void* pUserData
8787);
8788
Arif Hussaina5ebce02013-08-09 15:09:58 -07008789/**
8790 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8791 MAC wants to set Max Tx Power to HW for specific band. Upon the
8792 call of this API the WLAN DAL will pack and send a HAL
8793 Set Max Tx Power Per Band request message to the lower RIVA
8794 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
8800 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8801
8802 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8803 when it has received a set max Tx Power Per Band response from
8804 the underlying device.
8805
8806 pUserData: user data will be passed back with the
8807 callback
8808
8809 @see WDI_SetMaxTxPowerPerBandReq
8810 @return Result of the function call
8811*/
8812WDI_Status
8813WDI_SetMaxTxPowerPerBandReq
8814(
8815 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8816 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8817 void* pUserData
8818);
8819
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008820#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008821/**
8822 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8823 Traffic Stream metrics.
8824 In state BUSY this request will be queued. Request won't
8825 be allowed in any other state.
8826
8827 @param wdiAddTsReqParams: the add TS parameters as specified by
8828 the Device Interface
8829
8830 wdiAddTsRspCb: callback for passing back the response of
8831 the add TS operation received from the device
8832
8833 pUserData: user data will be passed back with the
8834 callback
8835
8836 @see WDI_PostAssocReq
8837 @return Result of the function call
8838*/
8839WDI_Status
8840WDI_TSMStatsReq
8841(
8842 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8843 WDI_TsmRspCb wdiTsmStatsRspCb,
8844 void* pUserData
8845);
8846
8847
8848#endif
8849
8850/*========================================================================
8851
8852 QoS and BA APIs
8853
8854==========================================================================*/
8855
8856/**
8857 @brief WDI_AddTSReq will be called when the upper MAC to inform
8858 the device of a successful add TSpec negotiation. HW
8859 needs to receive the TSpec Info from the UMAC in order
8860 to configure properly the QoS data traffic. Upon the
8861 call of this API the WLAN DAL will pack and send a HAL
8862 Add TS request message to the lower RIVA sub-system if
8863 DAL is in state STARTED.
8864
8865 In state BUSY this request will be queued. Request won't
8866 be allowed in any other state.
8867
8868 WDI_PostAssocReq must have been called.
8869
8870 @param wdiAddTsReqParams: the add TS parameters as specified by
8871 the Device Interface
8872
8873 wdiAddTsRspCb: callback for passing back the response of
8874 the add TS 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_AddTSReq
8884(
8885 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8886 WDI_AddTsRspCb wdiAddTsRspCb,
8887 void* pUserData
8888);
8889
8890
8891
8892/**
8893 @brief WDI_DelTSReq will be called when the upper MAC has ended
8894 admission on a specific AC. This is to inform HW that
8895 QoS traffic parameters must be rest. Upon the call of
8896 this API the WLAN DAL will pack and send a HAL Del TS
8897 request message to the lower RIVA sub-system if DAL is
8898 in state STARTED.
8899
8900 In state BUSY this request will be queued. Request won't
8901 be allowed in any other state.
8902
8903 WDI_AddTSReq must have been called.
8904
8905 @param wdiDelTsReqParams: the del TS parameters as specified by
8906 the Device Interface
8907
8908 wdiDelTsRspCb: callback for passing back the response of
8909 the del TS operation received from the device
8910
8911 pUserData: user data will be passed back with the
8912 callback
8913
8914 @see WDI_AddTSReq
8915 @return Result of the function call
8916*/
8917WDI_Status
8918WDI_DelTSReq
8919(
8920 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8921 WDI_DelTsRspCb wdiDelTsRspCb,
8922 void* pUserData
8923);
8924
8925
8926
8927/**
8928 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8929 wishes to update the EDCA parameters used by HW for QoS
8930 data traffic. Upon the call of this API the WLAN DAL
8931 will pack and send a HAL Update EDCA Params request
8932 message to the lower RIVA sub-system if DAL is in state
8933 STARTED.
8934
8935 In state BUSY this request will be queued. Request won't
8936 be allowed in any other state.
8937
8938 WDI_PostAssocReq must have been called.
8939
8940 @param wdiUpdateEDCAParams: the start parameters as specified
8941 by the Device Interface
8942
8943 wdiUpdateEDCAParamsRspCb: callback for passing back the
8944 response of the start operation received from the device
8945
8946 pUserData: user data will be passed back with the
8947 callback
8948
8949 @see WDI_PostAssocReq
8950 @return Result of the function call
8951*/
8952WDI_Status
8953WDI_UpdateEDCAParams
8954(
8955 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8956 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8957 void* pUserData
8958);
8959
8960
8961
8962/**
8963 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8964 successfully a BA session and needs to notify the HW for
8965 the appropriate settings to take place. Upon the call of
8966 this API the WLAN DAL will pack and send a HAL Add BA
8967 request message to the lower RIVA sub-system if DAL is
8968 in state STARTED.
8969
8970 In state BUSY this request will be queued. Request won't
8971 be allowed in any other state.
8972
8973 WDI_PostAssocReq must have been called.
8974
8975 @param wdiAddBAReqParams: the add BA parameters as specified by
8976 the Device Interface
8977
8978 wdiAddBARspCb: callback for passing back the response of
8979 the add BA operation received from the device
8980
8981 pUserData: user data will be passed back with the
8982 callback
8983
8984 @see WDI_PostAssocReq
8985 @return Result of the function call
8986*/
8987WDI_Status
8988WDI_AddBASessionReq
8989(
8990 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8991 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8992 void* pUserData
8993);
8994
8995
8996/**
8997 @brief WDI_DelBAReq will be called when the upper MAC wants to
8998 inform HW that it has deleted a previously created BA
8999 session. Upon the call of this API the WLAN DAL will
9000 pack and send a HAL Del BA request message to the lower
9001 RIVA sub-system if DAL is in state STARTED.
9002
9003 In state BUSY this request will be queued. Request won't
9004 be allowed in any other state.
9005
9006 WDI_AddBAReq must have been called.
9007
9008 @param wdiDelBAReqParams: the del BA parameters as specified by
9009 the Device Interface
9010
9011 wdiDelBARspCb: callback for passing back the response of
9012 the del BA operation received from the device
9013
9014 pUserData: user data will be passed back with the
9015 callback
9016
9017 @see WDI_AddBAReq
9018 @return Result of the function call
9019*/
9020WDI_Status
9021WDI_DelBAReq
9022(
9023 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
9024 WDI_DelBARspCb wdiDelBARspCb,
9025 void* pUserData
9026);
9027
9028/**
9029 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
9030 inform HW that there is a change in the beacon parameters
9031 Upon the call of this API the WLAN DAL will
9032 pack and send a UpdateBeacon Params message to the lower
9033 RIVA sub-system if DAL is in state STARTED.
9034
9035 In state BUSY this request will be queued. Request won't
9036 be allowed in any other state.
9037
9038 WDI_UpdateBeaconParamsReq must have been called.
9039
9040 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9041 the Device Interface
9042
9043 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9044 the Update Beacon Params operation received from the device
9045
9046 pUserData: user data will be passed back with the
9047 callback
9048
9049 @see WDI_AddBAReq
9050 @return Result of the function call
9051*/
9052
9053WDI_Status
9054WDI_UpdateBeaconParamsReq
9055(
9056 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9057 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9058 void* pUserData
9059);
9060
9061
9062/**
9063 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9064 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9065 Upon the call of this API the WLAN DAL will
9066 pack and send the beacon Template message to the lower
9067 RIVA sub-system if DAL is in state STARTED.
9068
9069 In state BUSY this request will be queued. Request won't
9070 be allowed in any other state.
9071
9072 WDI_SendBeaconParamsReq must have been called.
9073
9074 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9075 the Device Interface
9076
9077 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9078 the Send Beacon Params operation received from the device
9079
9080 pUserData: user data will be passed back with the
9081 callback
9082
9083 @see WDI_AddBAReq
9084 @return Result of the function call
9085*/
9086
9087WDI_Status
9088WDI_SendBeaconParamsReq
9089(
9090 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9091 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9092 void* pUserData
9093);
9094
9095
9096/**
9097 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9098 upper MAC wants to update the probe response template to
9099 be transmitted as Soft AP
9100 Upon the call of this API the WLAN DAL will
9101 pack and send the probe rsp template message to the
9102 lower RIVA sub-system if DAL is in state STARTED.
9103
9104 In state BUSY this request will be queued. Request won't
9105 be allowed in any other state.
9106
9107
9108 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9109 specified by the Device Interface
9110
9111 wdiSendBeaconParamsRspCb: callback for passing back the
9112 response of the Send Beacon Params operation received
9113 from the device
9114
9115 pUserData: user data will be passed back with the
9116 callback
9117
9118 @see WDI_AddBAReq
9119 @return Result of the function call
9120*/
9121
9122WDI_Status
9123WDI_UpdateProbeRspTemplateReq
9124(
9125 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9126 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9127 void* pUserData
9128);
9129
Jeff Johnson295189b2012-06-20 16:38:30 -07009130/**
9131 @brief WDI_SetP2PGONOAReq will be called when the
9132 upper MAC wants to send Notice of Absence
9133 Upon the call of this API the WLAN DAL will
9134 pack and send the probe rsp template message to the
9135 lower RIVA sub-system if DAL is in state STARTED.
9136
9137 In state BUSY this request will be queued. Request won't
9138 be allowed in any other state.
9139
9140
9141 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9142 specified by the Device Interface
9143
9144 wdiSendBeaconParamsRspCb: callback for passing back the
9145 response of the Send Beacon Params operation received
9146 from the device
9147
9148 pUserData: user data will be passed back with the
9149 callback
9150
9151 @see WDI_AddBAReq
9152 @return Result of the function call
9153*/
9154WDI_Status
9155WDI_SetP2PGONOAReq
9156(
9157 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9158 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9159 void* pUserData
9160);
Jeff Johnson295189b2012-06-20 16:38:30 -07009161
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309162/**
9163 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9164 upper MAC wants to send TDLS Link Establish Request Parameters
9165 Upon the call of this API the WLAN DAL will
9166 pack and send the TDLS Link Establish Request message to the
9167 lower RIVA sub-system if DAL is in state STARTED.
9168
9169 In state BUSY this request will be queued. Request won't
9170 be allowed in any other state.
9171
9172
9173 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9174 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9175
9176 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9177 response of the TDLS Link Establish request received
9178 from the device
9179
9180 pUserData: user data will be passed back with the
9181 callback
9182
9183 @see
9184 @return Result of the function call
9185*/
9186WDI_Status
9187WDI_SetTDLSLinkEstablishReq
9188(
9189 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9190 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9191 void* pUserData
9192);
Jeff Johnson295189b2012-06-20 16:38:30 -07009193
Atul Mittalc0f739f2014-07-31 13:47:47 +05309194WDI_Status
9195WDI_SetTDLSChanSwitchReq
9196(
9197 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9198 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9199 void* pUserData
9200);
Jeff Johnson295189b2012-06-20 16:38:30 -07009201/*========================================================================
9202
9203 Power Save APIs
9204
9205==========================================================================*/
9206
9207/**
9208 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9209 wants to set the power save related configurations of
9210 the WLAN Device. Upon the call of this API the WLAN DAL
9211 will pack and send a HAL Update CFG request message to
9212 the lower RIVA sub-system if DAL is in state STARTED.
9213
9214 In state BUSY this request will be queued. Request won't
9215 be allowed in any other state.
9216
9217 WDI_Start must have been called.
9218
9219 @param pwdiPowerSaveCfg: the power save cfg parameters as
9220 specified by the Device Interface
9221
9222 wdiSetPwrSaveCfgCb: callback for passing back the
9223 response of the set power save cfg operation received
9224 from the device
9225
9226 pUserData: user data will be passed back with the
9227 callback
9228
9229 @see WDI_Start
9230 @return Result of the function call
9231*/
9232WDI_Status
9233WDI_SetPwrSaveCfgReq
9234(
9235 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9236 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9237 void* pUserData
9238);
9239
9240/**
9241 @brief WDI_EnterImpsReq will be called when the upper MAC to
9242 request the device to get into IMPS power state. Upon
9243 the call of this API the WLAN DAL will send a HAL Enter
9244 IMPS request message to the lower RIVA sub-system if DAL
9245 is in state STARTED.
9246
9247 In state BUSY this request will be queued. Request won't
9248 be allowed in any other state.
9249
9250
9251 @param wdiEnterImpsRspCb: callback for passing back the
9252 response of the Enter IMPS operation received from the
9253 device
9254
9255 pUserData: user data will be passed back with the
9256 callback
9257
9258 @see WDI_Start
9259 @return Result of the function call
9260*/
9261WDI_Status
9262WDI_EnterImpsReq
9263(
Mihir Shetea4306052014-03-25 00:02:54 +05309264 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009265 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9266 void* pUserData
9267);
9268
9269/**
9270 @brief WDI_ExitImpsReq will be called when the upper MAC to
9271 request the device to get out of IMPS power state. Upon
9272 the call of this API the WLAN DAL will send a HAL Exit
9273 IMPS request message to the lower RIVA sub-system if DAL
9274 is in state STARTED.
9275
9276 In state BUSY this request will be queued. Request won't
9277 be allowed in any other state.
9278
9279
9280
9281 @param wdiExitImpsRspCb: callback for passing back the response
9282 of the Exit IMPS operation received from the device
9283
9284 pUserData: user data will be passed back with the
9285 callback
9286
9287 @see WDI_Start
9288 @return Result of the function call
9289*/
9290WDI_Status
9291WDI_ExitImpsReq
9292(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309293 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009294 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9295 void* pUserData
9296);
9297
9298/**
9299 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9300 request the device to get into BMPS power state. Upon
9301 the call of this API the WLAN DAL will pack and send a
9302 HAL Enter BMPS request message to the lower RIVA
9303 sub-system if DAL is in state STARTED.
9304
9305 In state BUSY this request will be queued. Request won't
9306 be allowed in any other state.
9307
9308 WDI_PostAssocReq must have been called.
9309
9310 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9311 specified by the Device Interface
9312
9313 wdiEnterBmpsRspCb: callback for passing back the
9314 response of the Enter BMPS operation received from the
9315 device
9316
9317 pUserData: user data will be passed back with the
9318 callback
9319
9320 @see WDI_PostAssocReq
9321 @return Result of the function call
9322*/
9323WDI_Status
9324WDI_EnterBmpsReq
9325(
9326 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9327 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9328 void* pUserData
9329);
9330
9331/**
9332 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9333 request the device to get out of BMPS power state. Upon
9334 the call of this API the WLAN DAL will pack and send a
9335 HAL Exit BMPS request message to the lower RIVA
9336 sub-system if DAL is in state STARTED.
9337
9338 In state BUSY this request will be queued. Request won't
9339 be allowed in any other state.
9340
9341 WDI_PostAssocReq must have been called.
9342
9343 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9344 specified by the Device Interface
9345
9346 wdiExitBmpsRspCb: callback for passing back the response
9347 of the Exit BMPS operation received from the device
9348
9349 pUserData: user data will be passed back with the
9350 callback
9351
9352 @see WDI_PostAssocReq
9353 @return Result of the function call
9354*/
9355WDI_Status
9356WDI_ExitBmpsReq
9357(
9358 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9359 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9360 void* pUserData
9361);
9362
9363/**
9364 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9365 request the device to get into UAPSD power state. Upon
9366 the call of this API the WLAN DAL will pack and send a
9367 HAL Enter UAPSD request message to the lower RIVA
9368 sub-system if DAL is in state STARTED.
9369
9370 In state BUSY this request will be queued. Request won't
9371 be allowed in any other state.
9372
9373 WDI_PostAssocReq must have been called.
9374 WDI_SetUapsdAcParamsReq must have been called.
9375
9376 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9377 specified by the Device Interface
9378
9379 wdiEnterUapsdRspCb: callback for passing back the
9380 response of the Enter UAPSD operation received from the
9381 device
9382
9383 pUserData: user data will be passed back with the
9384 callback
9385
9386 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9387 @return Result of the function call
9388*/
9389WDI_Status
9390WDI_EnterUapsdReq
9391(
9392 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9393 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9394 void* pUserData
9395);
9396
9397/**
9398 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9399 request the device to get out of UAPSD power state. Upon
9400 the call of this API the WLAN DAL will send a HAL Exit
9401 UAPSD request message to the lower RIVA sub-system if
9402 DAL is in state STARTED.
9403
9404 In state BUSY this request will be queued. Request won't
9405 be allowed in any other state.
9406
9407 WDI_PostAssocReq must have been called.
9408
9409 @param wdiExitUapsdRspCb: callback for passing back the
9410 response of the Exit UAPSD operation received from the
9411 device
9412
9413 pUserData: user data will be passed back with the
9414 callback
9415
9416 @see WDI_PostAssocReq
9417 @return Result of the function call
9418*/
9419WDI_Status
9420WDI_ExitUapsdReq
9421(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009422 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009423 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9424 void* pUserData
9425);
9426
9427/**
9428 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9429 MAC wants to set the UAPSD related configurations
9430 of an associated STA (while acting as an AP) to the WLAN
9431 Device. Upon the call of this API the WLAN DAL will pack
9432 and send a HAL Update UAPSD params request message to
9433 the lower RIVA sub-system if DAL is in state STARTED.
9434
9435 In state BUSY this request will be queued. Request won't
9436 be allowed in any other state.
9437
9438 WDI_ConfigBSSReq must have been called.
9439
9440 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9441 as specified by the Device Interface
9442
9443 wdiUpdateUapsdParamsCb: callback for passing back the
9444 response of the update UAPSD params operation received
9445 from the device
9446
9447 pUserData: user data will be passed back with the
9448 callback
9449
9450 @see WDI_ConfigBSSReq
9451 @return Result of the function call
9452*/
9453WDI_Status
9454WDI_UpdateUapsdParamsReq
9455(
9456 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9457 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9458 void* pUserData
9459);
9460
9461/**
9462 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9463 MAC wants to set the UAPSD related configurations before
9464 requesting for enter UAPSD power state to the WLAN
9465 Device. Upon the call of this API the WLAN DAL will pack
9466 and send a HAL Set UAPSD params request message to
9467 the lower RIVA sub-system if DAL is in state STARTED.
9468
9469 In state BUSY this request will be queued. Request won't
9470 be allowed in any other state.
9471
9472 WDI_PostAssocReq must have been called.
9473
9474 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9475 the Device Interface
9476
9477 wdiSetUapsdAcParamsCb: callback for passing back the
9478 response of the set UAPSD params operation received from
9479 the device
9480
9481 pUserData: user data will be passed back with the
9482 callback
9483
9484 @see WDI_PostAssocReq
9485 @return Result of the function call
9486*/
9487WDI_Status
9488WDI_SetUapsdAcParamsReq
9489(
9490 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9491 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9492 void* pUserData
9493);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05309494
9495
9496/**
9497 @brief WDI_FatalEventLogsReq will be called when the upper
9498 MAC wants to send the fatal event req. Upon the call of
9499 this API the WLAN DAL will pack and send a HAL
9500 Fatal event request message to the lower RIVA sub-system.
9501
9502 In state BUSY this request will be queued. Request won't
9503 be allowed in any other state.
9504
9505
9506 @param pwdiFatalEventLogsReqInfo: the Fatal event logs params
9507 as specified by the Device Interface
9508
9509 wdiFatalEventLogsRspCb: callback for passing back the
9510 response of the fatal event operation received
9511 from the device
9512
9513 pUserData: user data will be passed back with the
9514 callback
9515
9516 @return Result of the function call
9517*/
9518
9519WDI_Status
9520WDI_FatalEventLogsReq
9521(
9522 WDI_FatalEventLogsReqInfoType *pwdiFatalEventLogsReqInfo,
9523 WDI_FatalEventLogsRspCb wdiFatalEventLogsRspCb,
9524 void* pUserData
9525);
9526
Siddharth Bhal64246172015-02-27 01:04:37 +05309527/**
9528 @brief WDI_GetFrameLogReq will be called when the upper
9529 MAC wants to initialize frame logging. Upon the call of
9530 this API the WLAN DAL will pack and send a HAL
9531 Frame logging init request message to
9532 the lower RIVA sub-system.
9533
9534 In state BUSY this request will be queued. Request won't
9535 be allowed in any other state.
9536
9537
9538 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9539 as specified by the Device Interface
9540
9541 wdiGetFrameLogReqCb: callback for passing back the
9542 response of the frame logging init operation received
9543 from the device
9544
9545 pUserData: user data will be passed back with the
9546 callback
9547
9548 @return Result of the function call
9549*/
9550WDI_Status
9551WDI_GetFrameLogReq
9552(
9553 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9554 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9555 void* pUserData
9556);
Jeff Johnson295189b2012-06-20 16:38:30 -07009557
9558/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309559 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309560 MAC wants to initialize frame logging. Upon the call of
9561 this API the WLAN DAL will pack and send a HAL
9562 Frame logging init request message to
9563 the lower RIVA sub-system.
9564
9565 In state BUSY this request will be queued. Request won't
9566 be allowed in any other state.
9567
9568
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309569 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309570 as specified by the Device Interface
9571
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309572 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309573 response of the frame logging init operation received
9574 from the device
9575
9576 pUserData: user data will be passed back with the
9577 callback
9578
9579 @return Result of the function call
9580*/
9581WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309582WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309583(
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309584 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
9585 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309586 void* pUserData
9587);
9588
9589/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009590 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9591 MAC wants to set/reset the RXP filters for received pkts
9592 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9593 and send a HAL configure RXP filter request message to
9594 the lower RIVA sub-system.
9595
9596 In state BUSY this request will be queued. Request won't
9597 be allowed in any other state.
9598
9599
9600 @param pwdiConfigureRxpFilterReqParams: the RXP
9601 filter as specified by the Device
9602 Interface
9603
9604 wdiConfigureRxpFilterCb: callback for passing back the
9605 response of the configure RXP filter operation received
9606 from the device
9607
9608 pUserData: user data will be passed back with the
9609 callback
9610
9611 @return Result of the function call
9612*/
9613WDI_Status
9614WDI_ConfigureRxpFilterReq
9615(
9616 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9617 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9618 void* pUserData
9619);
9620
9621/**
9622 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9623 wants to set the beacon filters while in power save.
9624 Upon the call of this API the WLAN DAL will pack and
9625 send a Beacon filter request message to the
9626 lower RIVA sub-system.
9627
9628 In state BUSY this request will be queued. Request won't
9629 be allowed in any other state.
9630
9631
9632 @param pwdiBeaconFilterReqParams: the beacon
9633 filter as specified by the Device
9634 Interface
9635
9636 wdiBeaconFilterCb: callback for passing back the
9637 response of the set beacon filter operation received
9638 from the device
9639
9640 pUserData: user data will be passed back with the
9641 callback
9642
9643 @return Result of the function call
9644*/
9645WDI_Status
9646WDI_SetBeaconFilterReq
9647(
9648 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9649 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9650 void* pUserData
9651);
9652
9653/**
9654 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9655 wants to remove the beacon filter for perticular IE
9656 while in power save. Upon the call of this API the WLAN
9657 DAL will pack and send a remove Beacon filter request
9658 message to the lower RIVA sub-system.
9659
9660 In state BUSY this request will be queued. Request won't
9661 be allowed in any other state.
9662
9663
9664 @param pwdiBeaconFilterReqParams: the beacon
9665 filter as specified by the Device
9666 Interface
9667
9668 wdiBeaconFilterCb: callback for passing back the
9669 response of the remove beacon filter operation received
9670 from the device
9671
9672 pUserData: user data will be passed back with the
9673 callback
9674
9675 @return Result of the function call
9676*/
9677WDI_Status
9678WDI_RemBeaconFilterReq
9679(
9680 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9681 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9682 void* pUserData
9683);
9684
9685/**
9686 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9687 MAC wants to set the RSSI thresholds related
9688 configurations while in power save. Upon the call of
9689 this API the WLAN DAL will pack and send a HAL Set RSSI
9690 thresholds request message to the lower RIVA
9691 sub-system if DAL is in state STARTED.
9692
9693 In state BUSY this request will be queued. Request won't
9694 be allowed in any other state.
9695
9696 WDI_PostAssocReq must have been called.
9697
9698 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9699 the Device Interface
9700
9701 wdiSetUapsdAcParamsCb: callback for passing back the
9702 response of the set UAPSD params operation received from
9703 the device
9704
9705 pUserData: user data will be passed back with the
9706 callback
9707
9708 @see WDI_PostAssocReq
9709 @return Result of the function call
9710*/
9711WDI_Status
9712WDI_SetRSSIThresholdsReq
9713(
9714 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9715 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9716 void* pUserData
9717);
9718
9719/**
9720 @brief WDI_HostOffloadReq will be called when the upper MAC
9721 wants to set the filter to minimize unnecessary host
9722 wakeup due to broadcast traffic while in power save.
9723 Upon the call of this API the WLAN DAL will pack and
9724 send a HAL host offload request message to the
9725 lower RIVA sub-system if DAL is in state STARTED.
9726
9727 In state BUSY this request will be queued. Request won't
9728 be allowed in any other state.
9729
9730 WDI_PostAssocReq must have been called.
9731
9732 @param pwdiHostOffloadParams: the host offload as specified
9733 by the Device Interface
9734
9735 wdiHostOffloadCb: callback for passing back the response
9736 of the host offload operation received from the
9737 device
9738
9739 pUserData: user data will be passed back with the
9740 callback
9741
9742 @see WDI_PostAssocReq
9743 @return Result of the function call
9744*/
9745WDI_Status
9746WDI_HostOffloadReq
9747(
9748 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9749 WDI_HostOffloadCb wdiHostOffloadCb,
9750 void* pUserData
9751);
9752
9753/**
9754 @brief WDI_KeepAliveReq will be called when the upper MAC
9755 wants to set the filter to send NULL or unsolicited ARP responses
9756 and minimize unnecessary host wakeups due to while in power save.
9757 Upon the call of this API the WLAN DAL will pack and
9758 send a HAL Keep Alive request message to the
9759 lower RIVA sub-system if DAL is in state STARTED.
9760
9761 In state BUSY this request will be queued. Request won't
9762 be allowed in any other state.
9763
9764 WDI_PostAssocReq must have been called.
9765
9766 @param pwdiKeepAliveParams: the Keep Alive as specified
9767 by the Device Interface
9768
9769 wdiKeepAliveCb: callback for passing back the response
9770 of the Keep Alive operation received from the
9771 device
9772
9773 pUserData: user data will be passed back with the
9774 callback
9775
9776 @see WDI_PostAssocReq
9777 @return Result of the function call
9778*/
9779WDI_Status
9780WDI_KeepAliveReq
9781(
9782 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9783 WDI_KeepAliveCb wdiKeepAliveCb,
9784 void* pUserData
9785);
9786
9787/**
9788 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9789 wants to set the Wowl Bcast ptrn to minimize unnecessary
9790 host wakeup due to broadcast traffic while in power
9791 save. Upon the call of this API the WLAN DAL will pack
9792 and send a HAL Wowl Bcast ptrn request message to the
9793 lower RIVA sub-system if DAL is in state STARTED.
9794
9795 In state BUSY this request will be queued. Request won't
9796 be allowed in any other state.
9797
9798 WDI_PostAssocReq must have been called.
9799
9800 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9801 specified by the Device Interface
9802
9803 wdiWowlAddBcPtrnCb: callback for passing back the
9804 response of the add Wowl bcast ptrn operation received
9805 from the device
9806
9807 pUserData: user data will be passed back with the
9808 callback
9809
9810 @see WDI_PostAssocReq
9811 @return Result of the function call
9812*/
9813WDI_Status
9814WDI_WowlAddBcPtrnReq
9815(
9816 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9817 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9818 void* pUserData
9819);
9820
9821/**
9822 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9823 wants to clear the Wowl Bcast ptrn. Upon the call of
9824 this API the WLAN DAL will pack and send a HAL delete
9825 Wowl Bcast ptrn request message to the lower RIVA
9826 sub-system if DAL is in state STARTED.
9827
9828 In state BUSY this request will be queued. Request won't
9829 be allowed in any other state.
9830
9831 WDI_WowlAddBcPtrnReq must have been called.
9832
9833 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9834 specified by the Device Interface
9835
9836 wdiWowlDelBcPtrnCb: callback for passing back the
9837 response of the del Wowl bcast ptrn operation received
9838 from the device
9839
9840 pUserData: user data will be passed back with the
9841 callback
9842
9843 @see WDI_WowlAddBcPtrnReq
9844 @return Result of the function call
9845*/
9846WDI_Status
9847WDI_WowlDelBcPtrnReq
9848(
9849 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9850 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9851 void* pUserData
9852);
9853
9854/**
9855 @brief WDI_WowlEnterReq will be called when the upper MAC
9856 wants to enter the Wowl state to minimize unnecessary
9857 host wakeup while in power save. Upon the call of this
9858 API the WLAN DAL will pack and send a HAL Wowl enter
9859 request message to the lower RIVA sub-system if DAL is
9860 in state STARTED.
9861
9862 In state BUSY this request will be queued. Request won't
9863 be allowed in any other state.
9864
9865 WDI_PostAssocReq must have been called.
9866
9867 @param pwdiWowlEnterReqParams: the Wowl enter info as
9868 specified by the Device Interface
9869
9870 wdiWowlEnterReqCb: callback for passing back the
9871 response of the enter Wowl operation received from the
9872 device
9873
9874 pUserData: user data will be passed back with the
9875 callback
9876
9877 @see WDI_PostAssocReq
9878 @return Result of the function call
9879*/
9880WDI_Status
9881WDI_WowlEnterReq
9882(
9883 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9884 WDI_WowlEnterReqCb wdiWowlEnterCb,
9885 void* pUserData
9886);
9887
9888/**
9889 @brief WDI_WowlExitReq will be called when the upper MAC
9890 wants to exit the Wowl state. Upon the call of this API
9891 the WLAN DAL will pack and send a HAL Wowl exit request
9892 message to the lower RIVA sub-system if DAL is in state
9893 STARTED.
9894
9895 In state BUSY this request will be queued. Request won't
9896 be allowed in any other state.
9897
9898 WDI_WowlEnterReq must have been called.
9899
9900 @param pwdiWowlExitReqParams: the Wowl exit info as
9901 specified by the Device Interface
9902
9903 wdiWowlExitReqCb: callback for passing back the response
9904 of the exit Wowl operation received from the device
9905
9906 pUserData: user data will be passed back with the
9907 callback
9908
9909 @see WDI_WowlEnterReq
9910 @return Result of the function call
9911*/
9912WDI_Status
9913WDI_WowlExitReq
9914(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009915 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009916 WDI_WowlExitReqCb wdiWowlExitCb,
9917 void* pUserData
9918);
9919
9920/**
9921 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9922 the upper MAC wants to dynamically adjusts the listen
9923 interval based on the WLAN/MSM activity. Upon the call
9924 of this API the WLAN DAL will pack and send a HAL
9925 configure Apps Cpu Wakeup State request message to the
9926 lower RIVA sub-system.
9927
9928 In state BUSY this request will be queued. Request won't
9929 be allowed in any other state.
9930
9931
9932 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9933 Apps Cpu Wakeup State as specified by the
9934 Device Interface
9935
9936 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9937 back the response of the configure Apps Cpu Wakeup State
9938 operation received from the device
9939
9940 pUserData: user data will be passed back with the
9941 callback
9942
9943 @return Result of the function call
9944*/
9945WDI_Status
9946WDI_ConfigureAppsCpuWakeupStateReq
9947(
9948 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9949 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9950 void* pUserData
9951);
9952/**
9953 @brief WDI_FlushAcReq will be called when the upper MAC wants
9954 to to perform a flush operation on a given AC. Upon the
9955 call of this API the WLAN DAL will pack and send a HAL
9956 Flush AC request message to the lower RIVA sub-system if
9957 DAL is in state STARTED.
9958
9959 In state BUSY this request will be queued. Request won't
9960 be allowed in any other state.
9961
9962
9963 @param pwdiFlushAcReqParams: the Flush AC parameters as
9964 specified by the Device Interface
9965
9966 wdiFlushAcRspCb: callback for passing back the response
9967 of the Flush AC operation received from the device
9968
9969 pUserData: user data will be passed back with the
9970 callback
9971
9972 @return Result of the function call
9973*/
9974WDI_Status
9975WDI_FlushAcReq
9976(
9977 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9978 WDI_FlushAcRspCb wdiFlushAcRspCb,
9979 void* pUserData
9980);
9981
9982/**
9983 @brief WDI_BtAmpEventReq will be called when the upper MAC
9984 wants to notify the lower mac on a BT AMP event. This is
9985 to inform BTC-SLM that some BT AMP event occurred. Upon
9986 the call of this API the WLAN DAL will pack and send a
9987 HAL BT AMP event request message to the lower RIVA
9988 sub-system if DAL is in state STARTED.
9989
9990 In state BUSY this request will be queued. Request won't
9991 be allowed in any other state.
9992
9993
9994 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9995 specified by the Device Interface
9996
9997 wdiBtAmpEventRspCb: callback for passing back the
9998 response of the BT AMP event operation received from the
9999 device
10000
10001 pUserData: user data will be passed back with the
10002 callback
10003
10004 @return Result of the function call
10005*/
10006WDI_Status
10007WDI_BtAmpEventReq
10008(
10009 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
10010 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
10011 void* pUserData
10012);
10013
Jeff Johnsone7245742012-09-05 17:12:55 -070010014#ifdef FEATURE_OEM_DATA_SUPPORT
10015/**
10016 @brief WDI_Start oem data Req will be called when the upper MAC
10017 wants to notify the lower mac on a oem data Req event.Upon
10018 the call of this API the WLAN DAL will pack and send a
10019 HAL OEM Data Req event request message to the lower RIVA
10020 sub-system if DAL is in state STARTED.
10021
10022 In state BUSY this request will be queued. Request won't
10023 be allowed in any other state.
10024
10025
10026 @param pWdiOemDataReqParams: the oem data req parameters as
10027 specified by the Device Interface
10028
10029 wdiStartOemDataRspCb: callback for passing back the
10030 response of the Oem Data Req received from the
10031 device
10032
10033 pUserData: user data will be passed back with the
10034 callback
10035
10036 @return Result of the function call
10037*/
10038WDI_Status
10039WDI_StartOemDataReq
10040(
10041 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
10042 WDI_oemDataRspCb wdiOemDataRspCb,
10043 void* pUserData
10044);
10045#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010046
10047/*========================================================================
10048
10049 CONTROL APIs
10050
10051==========================================================================*/
10052/**
10053 @brief WDI_SwitchChReq will be called when the upper MAC wants
10054 the WLAN HW to change the current channel of operation.
10055 Upon the call of this API the WLAN DAL will pack and
10056 send a HAL Start request message to the lower RIVA
10057 sub-system if DAL is in state STARTED.
10058
10059 In state BUSY this request will be queued. Request won't
10060 be allowed in any other state.
10061
10062 WDI_Start must have been called.
10063
10064 @param wdiSwitchChReqParams: the switch ch parameters as
10065 specified by the Device Interface
10066
10067 wdiSwitchChRspCb: callback for passing back the response
10068 of the switch ch operation received from the device
10069
10070 pUserData: user data will be passed back with the
10071 callback
10072
10073 @see WDI_Start
10074 @return Result of the function call
10075*/
10076WDI_Status
10077WDI_SwitchChReq
10078(
10079 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10080 WDI_SwitchChRspCb wdiSwitchChRspCb,
10081 void* pUserData
10082);
10083
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010084/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010085 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10086 it also send type source for the channel change.
10087 WDI_Start must have been called.
10088
10089 @param wdiSwitchChReqParams: the switch ch parameters as
10090 specified by the Device Interface
10091
10092 wdiSwitchChRspCb: callback for passing back the response
10093 of the switch ch operation received from the device
10094
10095 pUserData: user data will be passed back with the
10096 callback
10097
10098 @see WDI_Start
10099 @return Result of the function call
10100*/
10101
10102WDI_Status
10103WDI_SwitchChReq_V1
10104(
10105 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10106 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10107 void* pUserData
10108);
10109
10110/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010111 @brief WDI_UpdateChannelReq will be called when the upper MAC
10112 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010113 In state BUSY this request will be queued. Request won't
10114 be allowed in any other state.
10115
10116 WDI_UpdateChannelReq must have been called.
10117
10118 @param wdiUpdateChannelReqParams: the updated channel parameters
10119 as specified by the Device Interface
10120
10121 wdiUpdateChannelRspCb: callback for passing back the
10122 response of the update channel operation received from
10123 the device
10124
10125 pUserData: user data will be passed back with the
10126 callback
10127
10128 @return Result of the function call
10129*/
10130WDI_Status
10131WDI_UpdateChannelReq
10132(
10133 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10134 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10135 void* pUserData
10136);
Jeff Johnson295189b2012-06-20 16:38:30 -070010137
10138/**
10139 @brief WDI_ConfigSTAReq will be called when the upper MAC
10140 wishes to add or update a STA in HW. Upon the call of
10141 this API the WLAN DAL will pack and send a HAL Start
10142 message request message to the lower RIVA sub-system if
10143 DAL is in state STARTED.
10144
10145 In state BUSY this request will be queued. Request won't
10146 be allowed in any other state.
10147
10148 WDI_Start must have been called.
10149
10150 @param wdiConfigSTAReqParams: the config STA parameters as
10151 specified by the Device Interface
10152
10153 wdiConfigSTARspCb: callback for passing back the
10154 response of the config STA operation received from the
10155 device
10156
10157 pUserData: user data will be passed back with the
10158 callback
10159
10160 @see WDI_Start
10161 @return Result of the function call
10162*/
10163WDI_Status
10164WDI_ConfigSTAReq
10165(
10166 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10167 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10168 void* pUserData
10169);
10170
10171/**
10172 @brief WDI_SetLinkStateReq will be called when the upper MAC
10173 wants to change the state of an ongoing link. Upon the
10174 call of this API the WLAN DAL will pack and send a HAL
10175 Start message request message to the lower RIVA
10176 sub-system if DAL is in state STARTED.
10177
10178 In state BUSY this request will be queued. Request won't
10179 be allowed in any other state.
10180
10181 WDI_JoinReq must have been called.
10182
10183 @param wdiSetLinkStateReqParams: the set link state parameters
10184 as specified by the Device Interface
10185
10186 wdiSetLinkStateRspCb: callback for passing back the
10187 response of the set link state operation received from
10188 the device
10189
10190 pUserData: user data will be passed back with the
10191 callback
10192
10193 @see WDI_JoinStartReq
10194 @return Result of the function call
10195*/
10196WDI_Status
10197WDI_SetLinkStateReq
10198(
10199 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10200 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10201 void* pUserData
10202);
10203
10204
10205/**
10206 @brief WDI_GetStatsReq will be called when the upper MAC wants
10207 to get statistics (MIB counters) from the device. Upon
10208 the call of this API the WLAN DAL will pack and send a
10209 HAL Start request message to the lower RIVA sub-system
10210 if DAL is in state STARTED.
10211
10212 In state BUSY this request will be queued. Request won't
10213 be allowed in any other state.
10214
10215 WDI_Start must have been called.
10216
10217 @param wdiGetStatsReqParams: the stats parameters to get as
10218 specified by the Device Interface
10219
10220 wdiGetStatsRspCb: callback for passing back the response
10221 of the get stats operation received from the device
10222
10223 pUserData: user data will be passed back with the
10224 callback
10225
10226 @see WDI_Start
10227 @return Result of the function call
10228*/
10229WDI_Status
10230WDI_GetStatsReq
10231(
10232 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10233 WDI_GetStatsRspCb wdiGetStatsRspCb,
10234 void* pUserData
10235);
10236
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010237#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010238/**
10239 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10240 to get roam rssi from the device. Upon
10241 the call of this API the WLAN DAL will pack and send a
10242 HAL Start request message to the lower RIVA sub-system
10243 if DAL is in state STARTED.
10244
10245 In state BUSY this request will be queued. Request won't
10246 be allowed in any other state.
10247
10248 WDI_Start must have been called.
10249
10250 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10251 specified by the Device Interface
10252
10253 wdiGetRoamRssispCb: callback for passing back the response
10254 of the get stats operation received from the device
10255
10256 pUserData: user data will be passed back with the
10257 callback
10258
10259 @see WDI_Start
10260 @return Result of the function call
10261*/
10262WDI_Status
10263WDI_GetRoamRssiReq
10264(
10265 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10266 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10267 void* pUserData
10268);
10269#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010270
10271/**
10272 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10273 it wishes to change the configuration of the WLAN
10274 Device. Upon the call of this API the WLAN DAL will pack
10275 and send a HAL Update CFG request message to the lower
10276 RIVA sub-system if DAL is in state STARTED.
10277
10278 In state BUSY this request will be queued. Request won't
10279 be allowed in any other state.
10280
10281 WDI_Start must have been called.
10282
10283 @param wdiUpdateCfgReqParams: the update cfg parameters as
10284 specified by the Device Interface
10285
10286 wdiUpdateCfgsRspCb: callback for passing back the
10287 response of the update cfg operation received from the
10288 device
10289
10290 pUserData: user data will be passed back with the
10291 callback
10292
10293 @see WDI_Start
10294 @return Result of the function call
10295*/
10296WDI_Status
10297WDI_UpdateCfgReq
10298(
10299 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10300 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10301 void* pUserData
10302);
10303
10304/**
10305 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10306 to the NV memory.
10307
10308 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10309 the Device Interface
10310
10311 wdiNvDownloadRspCb: callback for passing back the response of
10312 the NV Download operation received from the device
10313
10314 pUserData: user data will be passed back with the
10315 callback
10316
10317 @see WDI_PostAssocReq
10318 @return Result of the function call
10319*/
10320WDI_Status
10321WDI_NvDownloadReq
10322(
10323 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10324 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10325 void* pUserData
10326);
10327/**
10328 @brief WDI_AddBAReq will be called when the upper MAC has setup
10329 successfully a BA session and needs to notify the HW for
10330 the appropriate settings to take place. Upon the call of
10331 this API the WLAN DAL will pack and send a HAL Add BA
10332 request message to the lower RIVA sub-system if DAL is
10333 in state STARTED.
10334
10335 In state BUSY this request will be queued. Request won't
10336 be allowed in any other state.
10337
10338 WDI_PostAssocReq must have been called.
10339
10340 @param wdiAddBAReqParams: the add BA parameters as specified by
10341 the Device Interface
10342
10343 wdiAddBARspCb: callback for passing back the response of
10344 the add BA operation received from the device
10345
10346 pUserData: user data will be passed back with the
10347 callback
10348
10349 @see WDI_PostAssocReq
10350 @return Result of the function call
10351*/
10352WDI_Status
10353WDI_AddBAReq
10354(
10355 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10356 WDI_AddBARspCb wdiAddBARspCb,
10357 void* pUserData
10358);
10359
10360/**
10361 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10362 successfully a BA session and needs to notify the HW for
10363 the appropriate settings to take place. Upon the call of
10364 this API the WLAN DAL will pack and send a HAL Add BA
10365 request message to the lower RIVA sub-system if DAL is
10366 in state STARTED.
10367
10368 In state BUSY this request will be queued. Request won't
10369 be allowed in any other state.
10370
10371 WDI_PostAssocReq must have been called.
10372
10373 @param wdiAddBAReqParams: the add BA parameters as specified by
10374 the Device Interface
10375
10376 wdiAddBARspCb: callback for passing back the response of
10377 the add BA operation received from the device
10378
10379 pUserData: user data will be passed back with the
10380 callback
10381
10382 @see WDI_PostAssocReq
10383 @return Result of the function call
10384*/
10385WDI_Status
10386WDI_TriggerBAReq
10387(
10388 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10389 WDI_TriggerBARspCb wdiTriggerBARspCb,
10390 void* pUserData
10391);
10392
10393
10394/**
10395 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10396 frame xtl is enabled for a particular STA.
10397
10398 WDI_PostAssocReq must have been called.
10399
10400 @param uSTAIdx: STA index
10401
10402 @see WDI_PostAssocReq
10403 @return Result of the function call
10404*/
10405wpt_boolean WDI_IsHwFrameTxTranslationCapable
10406(
10407 wpt_uint8 uSTAIdx
10408);
10409
Katya Nigam6201c3e2014-05-27 17:51:42 +053010410
10411/**
10412 @brief WDI_IsSelfSTA - check if staid is self sta index
10413
10414 @param pWDICtx: pointer to the WLAN DAL context
10415 ucSTAIdx: station index
10416
10417 @return Result of the function call
10418*/
10419
10420wpt_boolean
10421WDI_IsSelfSTA
10422(
10423 void* pWDICtx,
10424 wpt_uint8 ucSTAIdx
10425);
10426
10427
Jeff Johnson295189b2012-06-20 16:38:30 -070010428#ifdef WLAN_FEATURE_VOWIFI_11R
10429/**
10430 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10431 the device of a successful add TSpec negotiation for 11r. HW
10432 needs to receive the TSpec Info from the UMAC in order
10433 to configure properly the QoS data traffic. Upon the
10434 call of this API the WLAN DAL will pack and send a HAL
10435 Aggregated Add TS request message to the lower RIVA sub-system if
10436 DAL is in state STARTED.
10437
10438 In state BUSY this request will be queued. Request won't
10439 be allowed in any other state.
10440
10441 WDI_PostAssocReq must have been called.
10442
10443 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10444 the Device Interface
10445
10446 wdiAggrAddTsRspCb: callback for passing back the response of
10447 the add TS operation received from the device
10448
10449 pUserData: user data will be passed back with the
10450 callback
10451
10452 @see WDI_PostAssocReq
10453 @return Result of the function call
10454*/
10455WDI_Status
10456WDI_AggrAddTSReq
10457(
10458 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10459 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10460 void* pUserData
10461);
10462#endif /* WLAN_FEATURE_VOWIFI_11R */
10463/**
10464 @brief WDI_STATableInit - Initializes the STA tables.
10465 Allocates the necesary memory.
10466
10467
10468 @param pWDICtx: pointer to the WLAN DAL context
10469
10470 @see
10471 @return Result of the function call
10472*/
10473
10474WDI_Status WDI_StubRunTest
10475(
10476 wpt_uint8 ucTestNo
10477);
10478
Jeff Johnson295189b2012-06-20 16:38:30 -070010479/**
10480 @brief WDI_FTMCommandReq -
10481 Route FTMRequest Command to HAL
10482
10483 @param ftmCommandReq: FTM request command body
10484 @param ftmCommandRspCb: Response CB
10485 @param pUserData: User data will be included with CB
10486
10487 @return Result of the function call
10488*/
10489WDI_Status WDI_FTMCommandReq
10490(
10491 WDI_FTMCommandReqType *ftmCommandReq,
10492 WDI_FTMCommandRspCb ftmCommandRspCb,
10493 void *pUserData
10494);
Jeff Johnson295189b2012-06-20 16:38:30 -070010495
10496/**
10497 @brief WDI_HostResumeReq will be called
10498
10499 In state BUSY this request will be queued. Request won't
10500 be allowed in any other state.
10501
10502
10503 @param pwdiResumeReqParams: as specified by
10504 the Device Interface
10505
10506 wdiResumeReqRspCb: callback for passing back the response of
10507 the Resume Req received from the device
10508
10509 pUserData: user data will be passed back with the
10510 callback
10511
10512 @see WDI_PostAssocReq
10513 @return Result of the function call
10514*/
10515WDI_Status
10516WDI_HostResumeReq
10517(
10518 WDI_ResumeParamsType* pwdiResumeReqParams,
10519 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10520 void* pUserData
10521);
10522
10523/**
10524 @brief WDI_GetAvailableResCount - Function to get the available resource
10525 for data and managemnt frames.
10526
10527 @param pContext: pointer to the WDI context
10528 @param wdiResPool: type of resource pool requesting
10529 @see
10530 @return Result of the function call
10531*/
10532
10533wpt_uint32 WDI_GetAvailableResCount
10534(
10535 void *pContext,
10536 WDI_ResPoolType wdiResPool
10537);
10538
10539/**
10540 @brief WDI_SetAddSTASelfReq will be called when the
10541 UMAC wanted to add self STA while opening any new session
10542 In state BUSY this request will be queued. Request won't
10543 be allowed in any other state.
10544
10545
10546 @param pwdiAddSTASelfParams: the add self sta parameters as
10547 specified by the Device Interface
10548
10549 pUserData: user data will be passed back with the
10550 callback
10551
10552 @see
10553 @return Result of the function call
10554*/
10555WDI_Status
10556WDI_AddSTASelfReq
10557(
10558 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10559 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10560 void* pUserData
10561);
10562
10563
10564/**
10565 @brief WDI_DelSTASelfReq will be called .
10566
10567 @param WDI_DelSTASelfReqParamsType
10568
10569 WDI_DelSTASelfRspCb: callback for passing back the
10570 response of the del sta self operation received from the
10571 device
10572
10573 pUserData: user data will be passed back with the
10574 callback
10575
10576 @see WDI_PostAssocReq
10577 @return Result of the function call
10578*/
10579WDI_Status
10580WDI_DelSTASelfReq
10581(
10582 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10583 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10584 void* pUserData
10585);
10586
10587/**
10588 @brief WDI_HostSuspendInd
10589
10590 Suspend Indication from the upper layer will be sent
10591 down to HAL
10592
10593 @param WDI_SuspendParamsType
10594
10595 @see
10596
10597 @return Status of the request
10598*/
10599WDI_Status
10600WDI_HostSuspendInd
10601(
10602 WDI_SuspendParamsType* pwdiSuspendIndParams
10603);
10604
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010605/**
10606 @brief WDI_TrafficStatsInd
10607
10608 Traffic Stats from the upper layer will be sent
10609 down to HAL
10610
10611 @param WDI_TrafficStatsIndType
10612
10613 @see
10614
10615 @return Status of the request
10616*/
10617WDI_Status
10618WDI_TrafficStatsInd
10619(
10620 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10621);
10622
Chet Lanctot186b5732013-03-18 10:26:30 -070010623#ifdef WLAN_FEATURE_11W
10624/**
10625 @brief WDI_ExcludeUnencryptedInd
10626 Register with HAL to receive/drop unencrypted frames
10627
10628 @param WDI_ExcludeUnencryptIndType
10629
10630 @see
10631
10632 @return Status of the request
10633*/
10634WDI_Status
10635WDI_ExcludeUnencryptedInd
10636(
10637 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10638);
10639#endif
10640
Yue Mab9c86f42013-08-14 15:59:08 -070010641/**
10642 @brief WDI_AddPeriodicTxPtrnInd
10643
10644 @param WDI_AddPeriodicTxPtrnParamsType
10645
10646 @see
10647
10648 @return Status of the request
10649*/
10650WDI_Status
10651WDI_AddPeriodicTxPtrnInd
10652(
10653 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10654);
10655
10656/**
10657 @brief WDI_DelPeriodicTxPtrnInd
10658
10659 @param WDI_DelPeriodicTxPtrnParamsType
10660
10661 @see
10662
10663 @return Status of the request
10664*/
10665WDI_Status
10666WDI_DelPeriodicTxPtrnInd
10667(
10668 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10669);
10670
Jeff Johnson295189b2012-06-20 16:38:30 -070010671#ifdef FEATURE_WLAN_SCAN_PNO
10672/**
10673 @brief WDI_SetPreferredNetworkList
10674
10675 @param pwdiPNOScanReqParams: the Set PNO as specified
10676 by the Device Interface
10677
10678 wdiPNOScanCb: callback for passing back the response
10679 of the Set PNO operation received from the
10680 device
10681
10682 pUserData: user data will be passed back with the
10683 callback
10684
10685 @see WDI_PostAssocReq
10686 @return Result of the function call
10687*/
10688WDI_Status
10689WDI_SetPreferredNetworkReq
10690(
10691 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10692 WDI_PNOScanCb wdiPNOScanCb,
10693 void* pUserData
10694);
10695
10696/**
10697 @brief WDI_SetRssiFilterReq
10698
10699 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10700 specified by the Device Interface
10701
10702 wdiRssiFilterCb: callback for passing back the response
10703 of the Set RSSI Filter operation received from the
10704 device
10705
10706 pUserData: user data will be passed back with the
10707 callback
10708
10709 @see WDI_PostAssocReq
10710 @return Result of the function call
10711*/
10712WDI_Status
10713WDI_SetRssiFilterReq
10714(
10715 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10716 WDI_RssiFilterCb wdiRssiFilterCb,
10717 void* pUserData
10718);
10719
10720/**
10721 @brief WDI_UpdateScanParams
10722
10723 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10724 by the Device Interface
10725
10726 wdiUpdateScanParamsCb: callback for passing back the response
10727 of the Set PNO operation received from the
10728 device
10729
10730 pUserData: user data will be passed back with the
10731 callback
10732
10733 @see WDI_PostAssocReq
10734 @return Result of the function call
10735*/
10736WDI_Status
10737WDI_UpdateScanParamsReq
10738(
10739 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10740 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10741 void* pUserData
10742);
10743#endif // FEATURE_WLAN_SCAN_PNO
10744
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010745#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10746/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010747 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010748
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010749 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010750 by the Device Interface
10751
10752 wdiRoamOffloadScanCb: callback for passing back the response
10753 of the Start Roam Candidate Lookup operation received from the
10754 device
10755
10756 pUserData: user data will be passed back with the
10757 callback
10758
10759 @return Result of the function call
10760*/
10761WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010762WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010763(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010764 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010765 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10766 void* pUserData
10767);
10768#endif
10769
Jeff Johnson295189b2012-06-20 16:38:30 -070010770/**
10771 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10772 wants to set the Tx Per Tracking configurations.
10773 Upon the call of this API the WLAN DAL will pack
10774 and send a HAL Set Tx Per Tracking request message to the
10775 lower RIVA sub-system if DAL is in state STARTED.
10776
10777 In state BUSY this request will be queued. Request won't
10778 be allowed in any other state.
10779
10780 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10781 specified by the Device Interface
10782
10783 wdiSetTxPerTrackingCb: callback for passing back the
10784 response of the set Tx PER Tracking configurations operation received
10785 from the device
10786
10787 pUserData: user data will be passed back with the
10788 callback
10789
10790 @return Result of the function call
10791*/
10792WDI_Status
10793WDI_SetTxPerTrackingReq
10794(
10795 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10796 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10797 void* pUserData
10798);
10799
10800/**
10801 @brief WDI_SetTmLevelReq
10802 If HW Thermal condition changed, driver should react based on new
10803 HW thermal condition.
10804
10805 @param pwdiSetTmLevelReq: New thermal condition information
10806
10807 pwdiSetTmLevelRspCb: callback
10808
10809 usrData: user data will be passed back with the
10810 callback
10811
10812 @return Result of the function call
10813*/
10814WDI_Status
10815WDI_SetTmLevelReq
10816(
10817 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10818 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10819 void *usrData
10820);
10821
10822#ifdef WLAN_FEATURE_PACKET_FILTERING
10823/**
10824 @brief WDI_8023MulticastListReq
10825
10826 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10827 List as specified by the Device Interface
10828
10829 wdi8023MulticastListCallback: callback for passing back
10830 the response of the Set 8023 Multicast List operation
10831 received from the device
10832
10833 pUserData: user data will be passed back with the
10834 callback
10835
10836 @see WDI_PostAssocReq
10837 @return Result of the function call
10838*/
10839WDI_Status
10840WDI_8023MulticastListReq
10841(
10842 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10843 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10844 void* pUserData
10845);
10846
10847/**
10848 @brief WDI_ReceiveFilterSetFilterReq
10849
10850 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10851 specified by the Device Interface
10852
10853 wdiReceiveFilterSetFilterReqCallback: callback for
10854 passing back the response of the Set Receive Filter
10855 operation received from the device
10856
10857 pUserData: user data will be passed back with the
10858 callback
10859
10860 @see WDI_PostAssocReq
10861 @return Result of the function call
10862*/
10863WDI_Status
10864WDI_ReceiveFilterSetFilterReq
10865(
10866 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10867 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10868 void* pUserData
10869);
10870
10871/**
10872 @brief WDI_PCFilterMatchCountReq
10873
10874 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10875 Count
10876
10877 wdiPCFilterMatchCountCallback: callback for passing back
10878 the response of the D0 PC Filter Match Count operation
10879 received from the device
10880
10881 pUserData: user data will be passed back with the
10882 callback
10883
10884 @see WDI_PostAssocReq
10885 @return Result of the function call
10886*/
10887WDI_Status
10888WDI_FilterMatchCountReq
10889(
10890 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10891 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10892 void* pUserData
10893);
10894
10895/**
10896 @brief WDI_ReceiveFilterClearFilterReq
10897
10898 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10899 specified by the Device Interface
10900
10901 wdiReceiveFilterClearFilterCallback: callback for
10902 passing back the response of the Clear Filter
10903 operation received from the device
10904
10905 pUserData: user data will be passed back with the
10906 callback
10907
10908 @see WDI_PostAssocReq
10909 @return Result of the function call
10910*/
10911WDI_Status
10912WDI_ReceiveFilterClearFilterReq
10913(
10914 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10915 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10916 void* pUserData
10917);
10918#endif // WLAN_FEATURE_PACKET_FILTERING
10919
10920/**
10921 @brief WDI_HALDumpCmdReq
10922 Post HAL DUMP Command Event
10923
10924 @param halDumpCmdReqParams: Hal Dump Command Body
10925 @param halDumpCmdRspCb: callback for passing back the
10926 response
10927 @param pUserData: Client Data
10928
10929 @see
10930 @return Result of the function call
10931*/
10932WDI_Status WDI_HALDumpCmdReq(
10933 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10934 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10935 void *pUserData
10936);
10937
10938
10939/**
10940 @brief WDI_SetPowerParamsReq
10941
10942 @param pwdiPowerParamsReqParams: the Set Power Params as
10943 specified by the Device Interface
10944
10945 wdiPowerParamsCb: callback for passing back the response
10946 of the Set Power Params operation received from the
10947 device
10948
10949 pUserData: user data will be passed back with the
10950 callback
10951
10952 @return Result of the function call
10953*/
10954WDI_Status
10955WDI_SetPowerParamsReq
10956(
10957 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10958 WDI_SetPowerParamsCb wdiPowerParamsCb,
10959 void* pUserData
10960);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010961/**
10962 @brief WDI_dhcpStartInd
10963 Forward the DHCP Start event
10964
10965 @param
10966
10967 wdiDHCPInd: device mode and MAC address is passed
10968
10969 @see
10970 @return Result of the function call
10971*/
10972
10973WDI_Status
10974WDI_dhcpStartInd
10975(
10976 WDI_DHCPInd *wdiDHCPInd
10977);
10978/**
10979 @brief WDI_dhcpStopReq
10980 Forward the DHCP Stop event
10981
10982 @param
10983
10984 wdiDHCPInd: device mode and MAC address is passed
10985
10986 @see
10987 @return Result of the function call
10988*/
10989
10990WDI_Status
10991WDI_dhcpStopInd
10992(
10993 WDI_DHCPInd *wdiDHCPInd
10994);
Jeff Johnson295189b2012-06-20 16:38:30 -070010995
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010996/**
10997 @brief WDI_RateUpdateInd will be called when the upper MAC
10998 requests the device to update rates.
10999
11000 In state BUSY this request will be queued. Request won't
11001 be allowed in any other state.
11002
11003
11004 @param wdiRateUpdateIndParams
11005
11006
11007 @see WDI_Start
11008 @return Result of the function call
11009*/
11010WDI_Status
11011WDI_RateUpdateInd
11012(
11013 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
11014);
11015
Jeff Johnson295189b2012-06-20 16:38:30 -070011016#ifdef WLAN_FEATURE_GTK_OFFLOAD
11017/**
11018 @brief WDI_GTKOffloadReq will be called when the upper MAC
11019 wants to set GTK Rekey Counter while in power save. Upon
11020 the call of this API the WLAN DAL will pack and send a
11021 HAL GTK offload request message to the lower RIVA
11022 sub-system if DAL is in state STARTED.
11023
11024 In state BUSY this request will be queued. Request won't
11025 be allowed in any other state.
11026
11027 WDI_PostAssocReq must have been called.
11028
11029 @param pwdiGtkOffloadParams: the GTK offload as specified
11030 by the Device Interface
11031
11032 wdiGtkOffloadCb: callback for passing back the response
11033 of the GTK offload operation received from the device
11034
11035 pUserData: user data will be passed back with the
11036 callback
11037
11038 @see WDI_PostAssocReq
11039 @return Result of the function call
11040*/
11041WDI_Status
11042WDI_GTKOffloadReq
11043(
11044 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
11045 WDI_GtkOffloadCb wdiGtkOffloadCb,
11046 void* pUserData
11047);
11048
11049/**
11050 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
11051 MAC wants to get GTK Rekey Counter while in power save.
11052 Upon the call of this API the WLAN DAL will pack and
11053 send a HAL GTK offload request message to the lower RIVA
11054 sub-system if DAL is in state STARTED.
11055
11056 In state BUSY this request will be queued. Request won't
11057 be allowed in any other state.
11058
11059 WDI_PostAssocReq must have been called.
11060
11061 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
11062 Information Message as specified by the
11063 Device Interface
11064
11065 wdiGtkOffloadGetInfoCb: callback for passing back the
11066 response of the GTK offload operation received from the
11067 device
11068
11069 pUserData: user data will be passed back with the
11070 callback
11071
11072 @see WDI_PostAssocReq
11073 @return Result of the function call
11074*/
11075WDI_Status
11076WDI_GTKOffloadGetInfoReq
11077(
11078 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11079 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11080 void* pUserData
11081);
11082#endif // WLAN_FEATURE_GTK_OFFLOAD
11083
11084/**
11085 @brief WDI_featureCapsExchangeReq
11086 Post feature capability bitmap exchange event.
11087 Host will send its own capability to FW in this req and
11088 expect FW to send its capability back as a bitmap in Response
11089
11090 @param
11091
11092 wdiFeatCapsExcRspCb: callback called on getting the response.
11093 It is kept to mantain similarity between WDI reqs and if needed, can
11094 be used in future. Currently, It is set to NULL
11095
11096 pUserData: user data will be passed back with the
11097 callback
11098
11099 @see
11100 @return Result of the function call
11101*/
11102WDI_Status
11103WDI_featureCapsExchangeReq
11104(
11105 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11106 void* pUserData
11107);
11108
11109/**
Yathish9f22e662012-12-10 14:21:35 -080011110 @brief Disable Active mode offload in Host
11111
11112 @param void
11113 @see
11114 @return void
11115*/
11116void
11117WDI_disableCapablityFeature(wpt_uint8 feature_index);
11118
11119
11120/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011121 @brief WDI_getHostWlanFeatCaps
11122 WDI API that returns whether the feature passed to it as enum value in
11123 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11124 variable storing host capability bitmap to find this. This can be used by
11125 other moduels to decide certain things like call different APIs based on
11126 whether a particular feature is supported.
11127
11128 @param
11129
11130 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11131
11132 @see
11133 @return
11134 0 - if the feature is NOT supported in host
11135 any non-zero value - if the feature is SUPPORTED in host.
11136*/
11137wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11138
11139/**
11140 @brief WDI_getFwWlanFeatCaps
11141 WDI API that returns whether the feature passed to it as enum value in
11142 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11143 variable storing host capability bitmap to find this. This can be used by
11144 other moduels to decide certain things like call different APIs based on
11145 whether a particular feature is supported.
11146
11147 @param
11148
Jeff Johnsone7245742012-09-05 17:12:55 -070011149 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11150 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011151
11152 @see
11153 @return
11154 0 - if the feature is NOT supported in FW
11155 any non-zero value - if the feature is SUPPORTED in FW.
11156*/
11157wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11158
11159/**
11160 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11161 api version
11162
11163 @param WDI_WlanVersionType: Wlan version structure
11164 @see
11165 @return none
11166*/
11167
11168void WDI_GetWcnssCompiledApiVersion
11169(
11170 WDI_WlanVersionType *pWcnssApiVersion
11171);
11172
Mohit Khanna4a70d262012-09-11 16:30:12 -070011173#ifdef WLAN_FEATURE_11AC
11174WDI_Status
11175WDI_UpdateVHTOpModeReq
11176(
11177 WDI_UpdateVHTOpMode *pData,
11178 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11179 void* pUserData
11180);
Jeff Johnson295189b2012-06-20 16:38:30 -070011181
Mohit Khanna4a70d262012-09-11 16:30:12 -070011182#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011183
11184/**
11185 @brief WDI_TransportChannelDebug -
11186 Display DXE Channel debugging information
11187 User may request to display DXE channel snapshot
11188 Or if host driver detects any abnormal stcuk may display
11189
Jeff Johnsonb88db982012-12-10 13:34:59 -080011190 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011191 @param debugFlags : Enable stall detect features
11192 defined by WPAL_DeviceDebugFlags
11193 These features may effect
11194 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011195 @see
11196 @return none
11197*/
11198void WDI_TransportChannelDebug
11199(
11200 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011201 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011202);
11203
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011204/**
11205 @brief WDI_SsrTimerCB
11206 Callback function for SSR timer, if this is called then the graceful
11207 shutdown for Riva did not happen.
11208
11209 @param pUserData : user data to timer
11210
11211 @see
11212 @return none
11213*/
11214void
11215WDI_SsrTimerCB
11216(
11217 void *pUserData
11218);
11219
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011220/**
11221 @brief WDI_SetEnableSSR -
11222 This API is called to enable/disable SSR on WDI timeout.
11223
11224 @param enableSSR : enable/disable SSR
11225
11226 @see
11227 @return none
11228*/
11229void WDI_SetEnableSSR(wpt_boolean enableSSR);
11230
Leo Chang9056f462013-08-01 19:21:11 -070011231#ifdef FEATURE_WLAN_LPHB
11232/**
11233 @brief WDI_LPHBConfReq
11234 This API is called to config FW LPHB rule
11235
11236 @param lphbconfParam : LPHB rule should config to FW
11237 usrData : Client context
11238 lphbCfgCb : Configuration status callback
11239 @see
11240 @return SUCCESS or FAIL
11241*/
11242WDI_Status WDI_LPHBConfReq
11243(
11244 void *lphbconfParam,
11245 void *usrData,
11246 WDI_LphbCfgCb lphbCfgCb
11247);
11248#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011249
Dino Mycle41bdc942014-06-10 11:30:24 +053011250#ifdef WLAN_FEATURE_EXTSCAN
11251/**
11252 @brief WDI_EXTScanStartReq
11253 This API is called to send EXTScan start request to FW
11254
11255 @param pwdiEXTScanStartReqParams : pointer to the request params.
11256 wdiEXTScanStartRspCb : callback on getting the response.
11257 usrData : Client context
11258 @see
11259 @return SUCCESS or FAIL
11260*/
11261WDI_Status WDI_EXTScanStartReq
11262(
11263 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11264 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11265 void* pUserData
11266);
11267
11268/**
11269 @brief WDI_EXTScanStopReq
11270 This API is called to stop the EXTScan operations in the FW
11271
11272 @param pwdiEXTScanStopReqParams : pointer to the request params.
11273 wdiEXTScanStopRspCb : callback on getting the response.
11274 usrData : Client context
11275 @see
11276 @return SUCCESS or FAIL
11277*/
11278WDI_Status WDI_EXTScanStopReq
11279(
11280 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11281 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11282 void* pUserData
11283);
11284
11285/**
11286 @brief WDI_EXTScanGetCachedResultsReq
11287 This API is called to send get link layer stats request in FW
11288
11289 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11290 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11291 usrData : Client context
11292 @see
11293 @return SUCCESS or FAIL
11294*/
11295WDI_Status WDI_EXTScanGetCachedResultsReq
11296(
11297 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11298 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11299 void* pUserData
11300);
11301
11302/**
11303 @brief WDI_EXTScanGetCapabilitiesReq
11304 This API is called to send get EXTScan capabilities from FW
11305
11306 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11307 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11308 usrData : Client context
11309 @see
11310 @return SUCCESS or FAIL
11311*/
11312WDI_Status WDI_EXTScanGetCapabilitiesReq
11313(
11314 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11315 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11316 void* pUserData
11317);
11318
11319/**
11320 @brief WDI_EXTScanSetBSSIDHotlistReq
11321 This API is called to send Set BSSID Hotlist Request FW
11322
11323 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11324 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11325 usrData : Client context
11326 @see
11327 @return SUCCESS or FAIL
11328*/
11329WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11330(
11331 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11332 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11333 void* pUserData
11334);
11335
11336/**
11337 @brief WDI_EXTScanResetBSSIDHotlistReq
11338 This API is called to send Reset BSSID Hotlist Request FW
11339
11340 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11341 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11342 usrData : Client context
11343 @see
11344 @return SUCCESS or FAIL
11345*/
11346WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11347(
11348 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11349 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11350 void* pUserData
11351);
11352
11353/**
11354 @brief WDI_EXTScanSetSignfRSSIChangeReq
11355 This API is called to send Set Significant RSSI Request FW
11356
11357 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
11358 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
11359 usrData : Client context
11360 @see
11361 @return SUCCESS or FAIL
11362*/
11363WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11364(
11365 WDI_EXTScanSetSignfRSSIChangeReqParams*
11366 pwdiEXTScanSetSignfRSSIChangeReqParams,
11367 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11368 void* pUserData
11369);
11370
11371/**
11372 @brief WDI_EXTScanResetSignfRSSIChangeReq
11373 This API is called to send Reset BSSID Hotlist Request FW
11374
11375 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11376 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11377 usrData : Client context
11378 @see
11379 @return SUCCESS or FAIL
11380*/
11381WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11382(
11383 WDI_EXTScanResetSignfRSSIChangeReqParams*
11384 pwdiEXTScanResetSignfRSSIChangeReqParams,
11385 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11386 void* pUserData
11387);
11388#endif /* WLAN_FEATURE_EXTSCAN */
11389
Sunil Duttbd736ed2014-05-26 21:19:41 +053011390#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11391/**
11392 @brief WDI_LLStatsSetReq
11393 This API is called to send set link layer stats request to FW
11394
11395 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11396 wdiLLStatsSetRspCb : set link layer stats response callback
11397 usrData : Client context
11398 @see
11399 @return SUCCESS or FAIL
11400*/
11401WDI_Status WDI_LLStatsSetReq
11402(
11403 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11404 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11405 void* pUserData
11406);
11407
11408/**
11409 @brief WDI_LLStatsGetReq
11410 This API is called to send get link layer stats request in FW
11411
11412 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11413 wdiLLStatsGetRspCb : get link layer stats response callback
11414 usrData : Client context
11415 @see
11416 @return SUCCESS or FAIL
11417*/
11418WDI_Status WDI_LLStatsGetReq
11419(
11420 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11421 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11422 void* pUserData
11423);
11424
11425/**
11426 @brief WDI_LLStatsClearReq
11427 This API is called to set clear link layer stats request in FW
11428
11429 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11430 iwdiLLStatsClearRspCb : clear link layer stats response callback
11431 usrData : Client context
11432 @see
11433 @return SUCCESS or FAIL
11434*/
11435WDI_Status WDI_LLStatsClearReq
11436(
11437 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11438 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11439 void* pUserData
11440);
11441#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11442
Abhishek Singh85b74712014-10-08 11:38:19 +053011443WDI_Status WDI_FWStatsGetReq
11444(
11445 void* pwdiFWStatsGetReqParams,
11446 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11447 wpt_uint32 pUserData
11448);
11449
Katya Nigamf0511f62015-05-05 16:40:57 +053011450WDI_Status WDI_MonStartReq
11451(
11452 WDI_MonStartReqType* pwdiMonStartReqParams,
11453 WDI_MonStartRspCb wdiMonStartRspCb,
11454 void* pUserData
11455);
11456
11457WDI_Status WDI_MonStopReq
11458(
11459 WDI_MonStopRspCb wdiMonStopRspCb,
11460 void* pUserData
11461);
11462
Rajeev79dbe4c2013-10-05 11:03:42 +053011463#ifdef FEATURE_WLAN_BATCH_SCAN
11464/**
11465 @brief WDI_SetBatchScanReq
11466 This API is called to set batch scan request in FW
11467
11468 @param pBatchScanReqParam : pointer to set batch scan re param
11469 usrData : Client context
11470 setBatchScanRspCb : set batch scan resp callback
11471 @see
11472 @return SUCCESS or FAIL
11473*/
11474WDI_Status WDI_SetBatchScanReq
11475(
11476 void *pBatchScanReqParam,
11477 void *usrData,
11478 WDI_SetBatchScanCb setBatchScanRspCb
11479);
11480
11481/**
11482 @brief WDI_StopBatchScanInd
11483
11484 @param none
11485
11486 @see
11487
11488 @return Status of the request
11489*/
11490WDI_Status
11491WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11492
11493/**
11494 @brief WDI_TriggerBatchScanResultInd
11495 This API is called to pull batch scan result from FW
11496
11497 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11498 usrData : Client context
11499 setBatchScanRspCb : get batch scan resp callback
11500 @see
11501 @return SUCCESS or FAIL
11502*/
11503WDI_Status
11504WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11505
11506
11507#endif /*FEATURE_WLAN_BATCH_SCAN*/
11508
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011509/**
11510 @brief wdi_HT40OBSSScanInd
11511 This API is called to start OBSS scan
11512
11513 @param pWdiReq : pointer to get ind param
11514 @see
11515 @return SUCCESS or FAIL
11516*/
11517
11518WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11519
11520/**
11521 @brief wdi_HT40OBSSStopScanInd
11522 This API is called to stop OBSS scan
11523
11524 @param bssIdx : bssIdx to stop
11525 @see
11526 @return SUCCESS or FAIL
11527*/
11528
11529WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11530
c_hpothu92367912014-05-01 15:18:17 +053011531
11532WDI_Status WDI_GetBcnMissRate( void *pUserData,
11533 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11534 wpt_uint8 *bssid
11535 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011536WDI_Status
11537WDI_SetSpoofMacAddrReq
11538(
11539WDI_SpoofMacAddrInfoType *pWdiReq,
11540 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11541 void* pUserData
11542);
c_hpothu92367912014-05-01 15:18:17 +053011543
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011544WDI_Status
11545WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11546 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11547 void* pUserData
11548 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011549
11550/**
11551 @brief WDI_NanRequest
11552 NAN request
11553
11554 @param pwdiNanRequest: data
11555
11556 pwdiNanCb: callback
11557
11558 usrData: user data will be passed back with the
11559 callback
11560
11561 @return Result of the function call
11562*/
11563WDI_Status
11564WDI_NanRequest
11565(
11566 WDI_NanRequestType *pwdiNanRequest,
11567 void *usrData
11568);
11569
Abhishek Singh41988ba2015-05-25 19:42:29 +053011570/**
11571 @brief WDI_SetRtsCtsHTVhtInd
11572 Set RTS/CTS indication for diff modes.
11573
11574 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11575
11576 @return Result of the function call
11577*/
11578
11579WDI_Status
11580WDI_SetRtsCtsHTVhtInd
11581(
11582 wpt_uint32 rtsCtsVal
11583);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011584
Mihir Shete5affadc2015-05-29 20:54:57 +053011585WDI_Status
11586WDI_FWLoggingDXEdoneInd
11587(
11588 WDI_FWLoggingDXEdoneIndInfoType* pwdiFWLoggingDXEdoneInd
11589);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011590
Jeff Johnson295189b2012-06-20 16:38:30 -070011591#ifdef __cplusplus
11592 }
11593#endif
11594
Jeff Johnson295189b2012-06-20 16:38:30 -070011595#endif /* #ifndef WLAN_QCT_WDI_H */