blob: 50a77eeedd88ca6a503aceb17bfb16e4a6615bab [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
Hoonki Lee9af07cf2013-04-24 01:21:58 -070042
Jeff Johnson295189b2012-06-20 16:38:30 -070043#ifndef WLAN_QCT_WDI_I_H
44#define WLAN_QCT_WDI_I_H
45
46/*===========================================================================
47
48 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
49 I N T E R N A L A P I F O R T H E
50 D A T A P A T H
51
52
53DESCRIPTION
54 This file contains the internal API exposed by the DAL Control Path Core
55 module to be used by the DAL Data Path Core.
56
57
Hoonki Lee9af07cf2013-04-24 01:21:58 -070058 Copyright (c) 2010 Qualcomm Technologies, Inc. All Rights Reserved.
59 Qualcomm Technologies Confidential and Proprietary
Jeff Johnson295189b2012-06-20 16:38:30 -070060===========================================================================*/
61
62
63/*===========================================================================
64
65 EDIT HISTORY FOR FILE
66
67
68 This section contains comments describing changes made to the module.
69 Notice that changes are listed in reverse chronological order.
70
71
72 $Header:$ $DateTime: $ $Author: $
73
74
75when who what, where, why
76-------- --- ----------------------------------------------------------
7710/05/11 hap Adding support for Keep Alive
7808/19/10 lti Created module.
79
80===========================================================================*/
81
82#include "wlan_qct_pal_type.h"
83#include "wlan_qct_pal_api.h"
84#include "wlan_qct_pal_list.h"
85#include "wlan_qct_pal_sync.h"
86#include "wlan_qct_pal_timer.h"
87#include "wlan_qct_wdi_cts.h"
88#include "wlan_qct_wdi_bd.h"
89
90#include "wlan_hal_msg.h"
91#include "wlan_status_code.h"
92#include "wlan_qct_dev_defs.h"
93/*----------------------------------------------------------------------------
94 * Preprocessor Definitions and Constants
95 * -------------------------------------------------------------------------*/
96
97/*Assert macro - redefined for WDI so it is more flexible in disabling*/
98#define WDI_ASSERT(_cond) WPAL_ASSERT(_cond)
99
100/*Error codes that can be returned by WDI - the HAL Error codes are not
101 propagated outside WDI because they are too explicit when refering to RIVA
102 HW errors - they are masked under dev internal failure*/
103#define WDI_ERR_BASIC_OP_FAILURE 0
104#define WDI_ERR_TRANSPORT_FAILURE 1
105#define WDI_ERR_INVALID_RSP_FMT 2
106#define WDI_ERR_RSP_TIMEOUT 3
107#define WDI_ERR_DEV_INTERNAL_FAILURE 4
108
109/*In prima 12 HW stations are supported including BCAST STA(staId 0)
110 and SELF STA(staId 1) so total ASSOC stations which can connect to Prima
111 SoftAP = 12 - 1(Self STa) - 1(Bcast Sta) = 10 Stations. */
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800112
113#ifdef WLAN_SOFTAP_VSTA_FEATURE
Yathish Hanumapuradoddi Shivanna64dfc472013-03-08 10:48:34 -0800114#define WDI_MAX_SUPPORTED_STAS 41
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800115#else
Yathish Hanumapuradoddi Shivanna64dfc472013-03-08 10:48:34 -0800116#define WDI_MAX_SUPPORTED_STAS 12
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800117#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700118#define WDI_MAX_SUPPORTED_BSS 5
119
120/* Control transport channel size*/
121#define WDI_CT_CHANNEL_SIZE 4096
122
123/*Invalid BSS index ! TO DO: Must come from the HAL header file*/
124#define WDI_BSS_INVALID_IDX 0xFF
125
Jeff Johnson295189b2012-06-20 16:38:30 -0700126#define WDI_FTM_MAX_RECEIVE_BUFFER 6500
Jeff Johnson295189b2012-06-20 16:38:30 -0700127
128/*---------------------------------------------------------------------------
129 DAL Control Path Main States
130---------------------------------------------------------------------------*/
131typedef enum
132{
133 /* Transition in this state made upon creation and when a close request is
134 received*/
135 WDI_INIT_ST = 0,
136
137 /* Transition happens after a Start response was received from HAL (as a
138 result of a previously sent HAL Request)*/
139 WDI_STARTED_ST,
140
141 /* Transition happens when a Stop request was received */
142 WDI_STOPPED_ST,
143
144 /* Transition happens when a request is being sent down to HAL and we are
145 waiting for the response */
146 WDI_BUSY_ST,
147
148 /* Transition happens when 'SSR' shutdown request is recieved.*/
149 WDI_SHUTDOWN_ST,
150
151 WDI_MAX_ST
152}WDI_MainStateType;
153
154
155/*---------------------------------------------------------------------------
156 DAL Control Path Scan States
157---------------------------------------------------------------------------*/
158typedef enum
159{
160 /*The flag will be set to this state when init is called. Once the flag has
161 this value the only two scanning API calls allowed are Scan Start and
162 Scan Finished*/
163 WDI_SCAN_INITIALIZED_ST = 0,
164
165 /*The flag will be set to this value once the Start Scan API is called.
166 When the flag has this value only Scan End API will be allowed. */
167 WDI_SCAN_STARTED_ST = 1,
168
169 /*The flag will be set to this value when End Scan API is called. When the
170 flag is set to this value the only two Scan APIs allowed are Start and
171 Finish. */
172 WDI_SCAN_ENDED_ST = 2,
173
174 /*The flag will be set to this value in the beginning before init is called
175 and after the Finish API is called. No other scan APIs will be allowed
176 in this state until Scan Init is called again. */
177 WDI_SCAN_FINISHED_ST = 3,
178
179 WDI_SCAN_MAX_ST
180}WDI_ScanStateType;
181
182/*---------------------------------------------------------------------------
183 WLAN DAL BSS Session Type - used to allow simulatneous association
184 and keep track of each associated session
185 ---------------------------------------------------------------------------*/
186#define WDI_MAX_BSS_SESSIONS 10
187
188typedef enum
189{
190 /*Init state*/
191 WDI_ASSOC_INIT_ST,
192
193 /*Joining State*/
194 WDI_ASSOC_JOINING_ST,
195
196 /*Associated state*/
197 WDI_ASSOC_POST_ST,
198
199 WDI_ASSOC_MAX_ST
200}WDI_AssocStateType;
201
202/*---------------------------------------------------------------------------
203 WLAN DAL Supported Request Types
204 ---------------------------------------------------------------------------*/
205typedef enum
206{
207 /*WLAN DAL START Request*/
208 WDI_START_REQ = 0,
209
210 /*WLAN DAL STOP Request*/
211 WDI_STOP_REQ = 1,
212
213 /*WLAN DAL STOP Request*/
214 WDI_CLOSE_REQ = 2,
215
216
217 /*SCAN*/
218 /*WLAN DAL Init Scan Request*/
219 WDI_INIT_SCAN_REQ = 3,
220
221 /*WLAN DAL Start Scan Request*/
222 WDI_START_SCAN_REQ = 4,
223
224 /*WLAN DAL End Scan Request*/
225 WDI_END_SCAN_REQ = 5,
226
227 /*WLAN DAL Finish Scan Request*/
228 WDI_FINISH_SCAN_REQ = 6,
229
230
231 /*ASSOCIATION*/
232 /*WLAN DAL Join Request*/
233 WDI_JOIN_REQ = 7,
234
235 /*WLAN DAL Config BSS Request*/
236 WDI_CONFIG_BSS_REQ = 8,
237
238 /*WLAN DAL Del BSS Request*/
239 WDI_DEL_BSS_REQ = 9,
240
241 /*WLAN DAL Post Assoc Request*/
242 WDI_POST_ASSOC_REQ = 10,
243
244 /*WLAN DAL Del STA Request*/
245 WDI_DEL_STA_REQ = 11,
246
247 /*Security*/
248 /*WLAN DAL Set BSS Key Request*/
249 WDI_SET_BSS_KEY_REQ = 12,
250
251 /*WLAN DAL Remove BSS Key Request*/
252 WDI_RMV_BSS_KEY_REQ = 13,
253
254 /*WLAN DAL Set STA Key Request*/
255 WDI_SET_STA_KEY_REQ = 14,
256
257 /*WLAN DAL Remove STA Key Request*/
258 WDI_RMV_STA_KEY_REQ = 15,
259
260 /*QOS and BA*/
261 /*WLAN DAL Add TSpec Request*/
262 WDI_ADD_TS_REQ = 16,
263
264 /*WLAN DAL Delete TSpec Request*/
265 WDI_DEL_TS_REQ = 17,
266
267 /*WLAN DAL Update EDCA Params Request*/
268 WDI_UPD_EDCA_PRMS_REQ = 18,
269
270 /*WLAN DAL Add BA Session Request*/
271 WDI_ADD_BA_SESSION_REQ = 19,
272
273 /*WLAN DAL Delete BA Request*/
274 WDI_DEL_BA_REQ = 20,
275
276 /* Miscellaneous Control */
277 /*WLAN DAL Channel Switch Request*/
278 WDI_CH_SWITCH_REQ = 21,
279
280 /*WLAN DAL Config STA Request*/
281 WDI_CONFIG_STA_REQ = 22,
282
283 /*WLAN DAL Set Link State Request*/
284 WDI_SET_LINK_ST_REQ = 23,
285
286 /*WLAN DAL Get Stats Request*/
287 WDI_GET_STATS_REQ = 24,
288
289 /*WLAN DAL Update Config Request*/
290 WDI_UPDATE_CFG_REQ = 25,
291
292 /* WDI ADD BA Request */
293 WDI_ADD_BA_REQ = 26,
294
295 /* WDI Trigger BA Request */
296 WDI_TRIGGER_BA_REQ = 27,
297
298 /*WLAN DAL Update Beacon Params Request*/
299 WDI_UPD_BCON_PRMS_REQ = 28,
300
301 /*WLAN DAL Send Beacon template Request*/
302 WDI_SND_BCON_REQ = 29,
303
304 /*WLAN DAL Send Probe Response Template Request*/
305 WDI_UPD_PROBE_RSP_TEMPLATE_REQ = 30,
306
307 /*WLAN DAL Set STA Bcast Key Request*/
308 WDI_SET_STA_BCAST_KEY_REQ = 31,
309
310 /*WLAN DAL Remove STA Bcast Key Request*/
311 WDI_RMV_STA_BCAST_KEY_REQ = 32,
312
313 /*WLAN DAL Set Max Tx Power Request*/
314 WDI_SET_MAX_TX_POWER_REQ = 33,
315
316 /* WLAN DAL P2P GO Notice Of Absence Request */
317 WDI_P2P_GO_NOTICE_OF_ABSENCE_REQ = 34,
318
319 /*WLAN DAL Enter IMPS Request*/
320 WDI_ENTER_IMPS_REQ = 35,
321
322 /*WLAN DAL Exit IMPS Request*/
323 WDI_EXIT_IMPS_REQ = 36,
324
325 /*WLAN DAL Enter BMPS Request*/
326 WDI_ENTER_BMPS_REQ = 37,
327
328 /*WLAN DAL Exit BMPS Request*/
329 WDI_EXIT_BMPS_REQ = 38,
330
331 /*WLAN DAL Enter UAPSD Request*/
332 WDI_ENTER_UAPSD_REQ = 39,
333
334 /*WLAN DAL Exit UAPSD Request*/
335 WDI_EXIT_UAPSD_REQ = 40,
336
337 /*WLAN DAL Set UAPSD Param Request*/
338 WDI_SET_UAPSD_PARAM_REQ = 41,
339
340 /*WLAN DAL Update UAPSD Param (SoftAP mode) Request*/
341 WDI_UPDATE_UAPSD_PARAM_REQ = 42,
342
343 /*WLAN DAL Configure RXP filter Request*/
344 WDI_CONFIGURE_RXP_FILTER_REQ = 43,
345
346 /*WLAN DAL Configure Beacon filter Request*/
347 WDI_SET_BEACON_FILTER_REQ = 44,
348
349 /*WLAN DAL Remove Beacon filter Request*/
350 WDI_REM_BEACON_FILTER_REQ = 45,
351
352 /*WLAN DAL Set RSSI thresholds Request*/
353 WDI_SET_RSSI_THRESHOLDS_REQ = 46,
354
355 /*WLAN DAL host offload Request*/
356 WDI_HOST_OFFLOAD_REQ = 47,
357
358 /*WLAN DAL add wowl bc ptrn Request*/
359 WDI_WOWL_ADD_BC_PTRN_REQ = 48,
360
361 /*WLAN DAL delete wowl bc ptrn Request*/
362 WDI_WOWL_DEL_BC_PTRN_REQ = 49,
363
364 /*WLAN DAL enter wowl Request*/
365 WDI_WOWL_ENTER_REQ = 50,
366
367 /*WLAN DAL exit wowl Request*/
368 WDI_WOWL_EXIT_REQ = 51,
369
370 /*WLAN DAL Configure Apps CPU Wakeup state Request*/
371 WDI_CONFIGURE_APPS_CPU_WAKEUP_STATE_REQ = 52,
372
373 /* WLAN NV Download Request */
374 WDI_NV_DOWNLOAD_REQ = 53,
375 /*WLAN DAL Flush AC Request*/
376 WDI_FLUSH_AC_REQ = 54,
377
378 /*WLAN DAL BT AMP event Request*/
379 WDI_BTAMP_EVENT_REQ = 55,
380 /*WLAN DAL Aggregated Add TSpec Request*/
381 WDI_AGGR_ADD_TS_REQ = 56,
382
383 WDI_ADD_STA_SELF_REQ = 57,
384
385 WDI_DEL_STA_SELF_REQ = 58,
386
387 /* WLAN FTM Command request */
388 WDI_FTM_CMD_REQ = 59,
389
Jeff Johnsone7245742012-09-05 17:12:55 -0700390 /*WLAN START OEM_DATA MEAS Request*/
391 WDI_START_OEM_DATA_REQ = 60,
Jeff Johnson295189b2012-06-20 16:38:30 -0700392 /* WLAN host resume request */
393 WDI_HOST_RESUME_REQ = 61,
394
395 WDI_KEEP_ALIVE_REQ = 62,
396
397 /* Set PNO */
398 WDI_SET_PREF_NETWORK_REQ = 63,
399
400 /*RSSI Filter Request*/
401 WDI_SET_RSSI_FILTER_REQ = 64,
402
403 /* Update Scan Parameters*/
404 WDI_UPDATE_SCAN_PARAMS_REQ = 65,
405
406 WDI_SET_TX_PER_TRACKING_REQ = 66,
407
408 WDI_8023_MULTICAST_LIST_REQ = 67,
409 WDI_RECEIVE_FILTER_SET_FILTER_REQ = 68,
410 WDI_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ = 69,
411 WDI_RECEIVE_FILTER_CLEAR_FILTER_REQ = 70,
412
413 /*This is temp fix. Should be removed once
414 * Host and Riva code is in sync*/
415 WDI_INIT_SCAN_CON_REQ = 71,
416
417 /* WLAN HAL DUMP Command request */
418 WDI_HAL_DUMP_CMD_REQ = 72,
419
420 /* WLAN DAL Shutdown Request */
421 WDI_SHUTDOWN_REQ = 73,
422
423 /*Set power parameters on the device*/
424 WDI_SET_POWER_PARAMS_REQ = 74,
425
426 /* Traffic Stream Metrics statistic request */
427 WDI_TSM_STATS_REQ = 75,
428 /* GTK Rekey Offload */
429 WDI_GTK_OFFLOAD_REQ = 76,
430 WDI_GTK_OFFLOAD_GETINFO_REQ = 77,
431
432 /*Set Thermal Migration level to RIVA*/
433 WDI_SET_TM_LEVEL_REQ = 78,
434
435 /* Send a capability exchange message to HAL */
436 WDI_FEATURE_CAPS_EXCHANGE_REQ = 79,
437
Mohit Khanna4a70d262012-09-11 16:30:12 -0700438#ifdef WLAN_FEATURE_11AC
439 /* Send a capability exchange message to HAL */
440 WDI_UPDATE_VHT_OP_MODE_REQ = 80,
441#endif
442
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -0800443 /*WLAN DAL Get Roam Rssi Request*/
444 WDI_GET_ROAM_RSSI_REQ = 81,
445
schang86c22c42013-03-13 18:41:24 -0700446 /*WLAN DAL Set Tx Power Request*/
447 WDI_SET_TX_POWER_REQ = 82,
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700448 WDI_ROAM_SCAN_OFFLOAD_REQ = 83,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530449
450 WDI_TDLS_LINK_ESTABLISH_REQ = 84,
451
Jeff Johnson295189b2012-06-20 16:38:30 -0700452 WDI_MAX_REQ,
453
454 /*Send a suspend Indication down to HAL*/
455 WDI_HOST_SUSPEND_IND = WDI_MAX_REQ ,
456
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -0800457 /* Send a traffic stats indication to HAL */
458 WDI_TRAFFIC_STATS_IND,
459
Chet Lanctot186b5732013-03-18 10:26:30 -0700460 /* Drop/Receive unencrypted frames indication to HAL */
461 WDI_EXCLUDE_UNENCRYPTED_IND,
462
Jeff Johnson295189b2012-06-20 16:38:30 -0700463 /*Keep adding the indications to the max request
464 such that we keep them sepparate */
465
466 WDI_MAX_UMAC_IND
467}WDI_RequestEnumType;
468
469/*---------------------------------------------------------------------------
470 WLAN DAL Supported Response Types
471 ---------------------------------------------------------------------------*/
472typedef enum
473{
474 /*WLAN DAL START Response*/
475 WDI_START_RESP = 0,
476
477 /*WLAN DAL STOP Response*/
478 WDI_STOP_RESP = 1,
479
480 /*WLAN DAL STOP Response*/
481 WDI_CLOSE_RESP = 2,
482
483 /*SCAN*/
484 /*WLAN DAL Init Scan Response*/
485 WDI_INIT_SCAN_RESP = 3,
486
487 /*WLAN DAL Start Scan Response*/
488 WDI_START_SCAN_RESP = 4,
489
490 /*WLAN DAL End Scan Response*/
491 WDI_END_SCAN_RESP = 5,
492
493 /*WLAN DAL Finish Scan Response*/
494 WDI_FINISH_SCAN_RESP = 6,
495
496
497 /*ASSOCIATION*/
498 /*WLAN DAL Join Response*/
499 WDI_JOIN_RESP = 7,
500
501 /*WLAN DAL Config BSS Response*/
502 WDI_CONFIG_BSS_RESP = 8,
503
504 /*WLAN DAL Del BSS Response*/
505 WDI_DEL_BSS_RESP = 9,
506
507 /*WLAN DAL Post Assoc Response*/
508 WDI_POST_ASSOC_RESP = 10,
509
510 /*WLAN DAL Del STA Response*/
511 WDI_DEL_STA_RESP = 11,
512
513 /*WLAN DAL Set BSS Key Response*/
514 WDI_SET_BSS_KEY_RESP = 12,
515
516 /*WLAN DAL Remove BSS Key Response*/
517 WDI_RMV_BSS_KEY_RESP = 13,
518
519 /*WLAN DAL Set STA Key Response*/
520 WDI_SET_STA_KEY_RESP = 14,
521
522 /*WLAN DAL Remove STA Key Response*/
523 WDI_RMV_STA_KEY_RESP = 15,
524
525 /*WLAN DAL Add TSpec Response*/
526 WDI_ADD_TS_RESP = 16,
527
528 /*WLAN DAL Delete TSpec Response*/
529 WDI_DEL_TS_RESP = 17,
530
531 /*WLAN DAL Update EDCA Params Response*/
532 WDI_UPD_EDCA_PRMS_RESP = 18,
533
534 /*WLAN DAL Add BA Session Response*/
535 WDI_ADD_BA_SESSION_RESP = 19,
536
537 /*WLAN DAL Delete BA Response*/
538 WDI_DEL_BA_RESP = 20,
539
540 /*WLAN DAL Channel Switch Response*/
541 WDI_CH_SWITCH_RESP = 21,
542
543 /*WLAN DAL Config STA Response*/
544 WDI_CONFIG_STA_RESP = 22,
545
546 /*WLAN DAL Set Link State Response*/
547 WDI_SET_LINK_ST_RESP = 23,
548
549 /*WLAN DAL Get Stats Response*/
550 WDI_GET_STATS_RESP = 24,
551
552 /*WLAN DAL Update Config Response*/
553 WDI_UPDATE_CFG_RESP = 25,
554
555 /* WDI ADD BA Response */
556 WDI_ADD_BA_RESP = 26,
557
558 /* WDI Trigger BA Response */
559 WDI_TRIGGER_BA_RESP = 27,
560
561 /*WLAN DAL Update beacon params Response*/
562 WDI_UPD_BCON_PRMS_RESP = 28,
563
564 /*WLAN DAL Send beacon template Response*/
565 WDI_SND_BCON_RESP = 29,
566
567 /*WLAN DAL Update Probe Response Template Response*/
568 WDI_UPD_PROBE_RSP_TEMPLATE_RESP = 30,
569
570 /*WLAN DAL Set STA Key Response*/
571 WDI_SET_STA_BCAST_KEY_RESP = 31,
572
573 /*WLAN DAL Remove STA Key Response*/
574 WDI_RMV_STA_BCAST_KEY_RESP = 32,
575
576 /*WLAN DAL Set Max Tx Power Response*/
577 WDI_SET_MAX_TX_POWER_RESP = 33,
578
579 /*WLAN DAL Enter IMPS Response*/
580 WDI_ENTER_IMPS_RESP = 34,
581
582 /*WLAN DAL Exit IMPS Response*/
583 WDI_EXIT_IMPS_RESP = 35,
584
585 /*WLAN DAL Enter BMPS Response*/
586 WDI_ENTER_BMPS_RESP = 36,
587
588 /*WLAN DAL Exit BMPS Response*/
589 WDI_EXIT_BMPS_RESP = 37,
590
591 /*WLAN DAL Enter UAPSD Response*/
592 WDI_ENTER_UAPSD_RESP = 38,
593
594 /*WLAN DAL Exit UAPSD Response*/
595 WDI_EXIT_UAPSD_RESP = 39,
596
597 /*WLAN DAL Set UAPSD Param Response*/
598 WDI_SET_UAPSD_PARAM_RESP = 40,
599
600 /*WLAN DAL Update UAPSD Param (SoftAP mode) Response*/
601 WDI_UPDATE_UAPSD_PARAM_RESP = 41,
602
603 /*WLAN DAL Configure RXP filter Response*/
604 WDI_CONFIGURE_RXP_FILTER_RESP = 42,
605
606 /*WLAN DAL Set Beacon filter Response*/
607 WDI_SET_BEACON_FILTER_RESP = 43,
608
609 /*WLAN DAL Remove Beacon filter Response*/
610 WDI_REM_BEACON_FILTER_RESP = 44,
611
612 /*WLAN DAL Set RSSI thresholds Response*/
613 WDI_SET_RSSI_THRESHOLDS_RESP = 45,
614
615 /*WLAN DAL Set RSSI thresholds Response*/
616 WDI_HOST_OFFLOAD_RESP = 46,
617
618 /*WLAN DAL add wowl bc ptrn Response*/
619 WDI_WOWL_ADD_BC_PTRN_RESP = 47,
620
621 /*WLAN DAL delete wowl bc ptrn Response*/
622 WDI_WOWL_DEL_BC_PTRN_RESP = 48,
623
624 /*WLAN DAL enter wowl Response*/
625 WDI_WOWL_ENTER_RESP = 49,
626
627 /*WLAN DAL exit wowl Response*/
628 WDI_WOWL_EXIT_RESP = 50,
629
630 /*WLAN DAL Configure Apps CPU Wakeup state Response*/
631 WDI_CONFIGURE_APPS_CPU_WAKEUP_STATE_RESP = 51,
632
633 /* WLAN NV Download responce */
634 WDI_NV_DOWNLOAD_RESP = 52,
635
636 /*WLAN DAL Flush AC Response*/
637 WDI_FLUSH_AC_RESP = 53,
638
639 /*WLAN DAL Flush AC Response*/
640 WDI_BTAMP_EVENT_RESP = 54,
641
642 /*WLAN DAL Add Aggregated TSpec Response*/
643 WDI_AGGR_ADD_TS_RESP = 55,
644
645 /*Add Self STA Response*/
646 WDI_ADD_STA_SELF_RESP = 56,
647
648 /*Delete Self STA Response*/
649 WDI_DEL_STA_SELF_RESP = 57,
650
Jeff Johnsone7245742012-09-05 17:12:55 -0700651 /*WLAN START OEM_DATA Response*/
652 WDI_START_OEM_DATA_RESP = 58,
Jeff Johnson295189b2012-06-20 16:38:30 -0700653
654 /* WLAN host resume request */
655 WDI_HOST_RESUME_RESP = 59,
656
657 /* WLAN DAL P2P GO Notice Of Absence Response */
658 WDI_P2P_GO_NOTICE_OF_ABSENCE_RESP = 60,
659
660 /* FTM Response from HAL */
661 WDI_FTM_CMD_RESP = 61,
662
663 /*Keep alive response */
664 WDI_KEEP_ALIVE_RESP = 62,
665
666 /* Set PNO Response */
667 WDI_SET_PREF_NETWORK_RESP = 63,
668
669 /* Set RSSI Filter Response */
670 WDI_SET_RSSI_FILTER_RESP = 64,
671
672 /* Update Scan Parameters Resp */
673 WDI_UPDATE_SCAN_PARAMS_RESP = 65,
674
675 //Tx PER Tracking
676 WDI_SET_TX_PER_TRACKING_RESP = 66,
677
678
679
680 /* Packet Filtering Response */
681 WDI_8023_MULTICAST_LIST_RESP = 67,
682
683 WDI_RECEIVE_FILTER_SET_FILTER_RESP = 68,
684
685 WDI_PACKET_COALESCING_FILTER_MATCH_COUNT_RESP = 69,
686
687 WDI_RECEIVE_FILTER_CLEAR_FILTER_RESP = 70,
688
689
690 /* WLAN HAL DUMP Command Response */
691 WDI_HAL_DUMP_CMD_RESP = 71,
692
693 /* WLAN Shutdown Response */
694 WDI_SHUTDOWN_RESP = 72,
695
696 /*Set power parameters response */
697 WDI_SET_POWER_PARAMS_RESP = 73,
698
699 WDI_TSM_STATS_RESP = 74,
700 /* GTK Rekey Offload */
Jeff Johnsone7245742012-09-05 17:12:55 -0700701 WDI_GTK_OFFLOAD_RESP = 75,
702 WDI_GTK_OFFLOAD_GETINFO_RESP = 76,
Jeff Johnson295189b2012-06-20 16:38:30 -0700703
704 WDI_SET_TM_LEVEL_RESP = 77,
705
706 /* FW sends its capability bitmap as a response */
707 WDI_FEATURE_CAPS_EXCHANGE_RESP = 78,
708
Mohit Khanna4a70d262012-09-11 16:30:12 -0700709#ifdef WLAN_FEATURE_11AC
710 WDI_UPDATE_VHT_OP_MODE_RESP = 79,
711#endif
712
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -0800713 /* WLAN DAL Get Roam Rssi Response*/
714 WDI_GET_ROAM_RSSI_RESP = 80,
715
schang86c22c42013-03-13 18:41:24 -0700716 WDI_SET_TX_POWER_RESP = 81,
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700717 WDI_ROAM_SCAN_OFFLOAD_RESP = 82,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530718
719 WDI_TDLS_LINK_ESTABLISH_REQ_RESP = 83,
Jeff Johnson295189b2012-06-20 16:38:30 -0700720 /*-------------------------------------------------------------------------
721 Indications
722 !! Keep these last in the enum if possible
723 -------------------------------------------------------------------------*/
724 WDI_HAL_IND_MIN ,
725 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
726 passed. */
727 WDI_HAL_RSSI_NOTIFICATION_IND = WDI_HAL_IND_MIN,
728
729 /*Link loss in the low MAC */
730 WDI_HAL_MISSED_BEACON_IND = WDI_HAL_IND_MIN + 1,
731
732 /*When hardware has signaled an unknown addr2 frames. The indication will
733 contain info from frames to be passed to the UMAC, this may use this info to
734 deauth the STA*/
735 WDI_HAL_UNKNOWN_ADDR2_FRAME_RX_IND = WDI_HAL_IND_MIN + 2,
736
737 /*MIC Failure detected by HW*/
738 WDI_HAL_MIC_FAILURE_IND = WDI_HAL_IND_MIN + 3,
739
740 /*Fatal Error Ind*/
741 WDI_HAL_FATAL_ERROR_IND = WDI_HAL_IND_MIN + 4,
742
743 /*Received when the RIVA SW decides to autonomously delete an associate
744 station (e.g. Soft AP TIM based dissassoc) */
745 WDI_HAL_DEL_STA_IND = WDI_HAL_IND_MIN + 5,
746
747 /*Coex indication*/
748 WDI_HAL_COEX_IND = WDI_HAL_IND_MIN + 6,
749
750 /* Tx Complete Indication */
751 WDI_HAL_TX_COMPLETE_IND = WDI_HAL_IND_MIN + 7,
752
753 WDI_HAL_P2P_NOA_ATTR_IND = WDI_HAL_IND_MIN + 8,
754
755 /* Preferred Network Found Indication */
756 WDI_HAL_PREF_NETWORK_FOUND_IND = WDI_HAL_IND_MIN + 9,
757
758 /* Wakeup Reason Indication */
759 WDI_HAL_WAKE_REASON_IND = WDI_HAL_IND_MIN + 10,
760
761 /* Tx PER Hit Indication */
762 WDI_HAL_TX_PER_HIT_IND = WDI_HAL_IND_MIN + 11,
Viral Modid86bde22012-12-10 13:09:21 -0800763
764 /* NOA Start Indication from FW to Host */
765 WDI_HAL_P2P_NOA_START_IND = WDI_HAL_IND_MIN + 12,
766
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530767 /* TDLS Indication from FW to Host */
768 WDI_HAL_TDLS_IND = WDI_HAL_IND_MIN + 13,
769
Jeff Johnson295189b2012-06-20 16:38:30 -0700770 WDI_MAX_RESP
771}WDI_ResponseEnumType;
772
773typedef struct
774{
775 /*Flag that marks a session as being in use*/
776 wpt_boolean bInUse;
777
778 /*Flag that keeps track if a series of assoc requests for this BSS are
779 currently pending in the queue or processed
780 - the flag is set to true when the Join request ends up being queued
781 - and reset to false when the Pending queue is empty */
782 wpt_boolean bAssocReqQueued;
783
784 /*BSSID of the session*/
785 wpt_macAddr macBSSID;
786
787 /*BSS Index associated with this BSSID*/
788 wpt_uint8 ucBSSIdx;
789
790 /*Associated state of the current BSS*/
791 WDI_AssocStateType wdiAssocState;
792
793 /*WDI Pending Request Queue*/
794 wpt_list wptPendingQueue;
795
796 /*DPU Information for this BSS*/
797 wpt_uint8 bcastDpuIndex;
798 wpt_uint8 bcastDpuSignature;
799 wpt_uint8 bcastMgmtDpuIndex;
800 wpt_uint8 bcastMgmtDpuSignature;
801
802 /*RMF enabled/disabled*/
803 wpt_uint8 ucRmfEnabled;
804
805 /*Bcast STA ID associated with this BSS session */
806 wpt_uint8 bcastStaIdx;
807
808 /*The type of the BSS in the session */
809 WDI_BssType wdiBssType;
810}WDI_BSSSessionType;
811
812/*---------------------------------------------------------------------------
813 WDI_ConfigBSSRspInfoType
814---------------------------------------------------------------------------*/
815typedef WPT_PACK_PRE struct
816{
817 /*BSS index allocated by HAL*/
818 wpt_uint8 ucBSSIdx;
819
820 /*BSSID of the BSS*/
821 wpt_macAddr macBSSID;
822
823 /*Broadcast DPU descriptor index allocated by HAL and used for
824 broadcast/multicast packets.*/
825 wpt_uint8 ucBcastDpuDescIndx;
826
827 /*DPU signature to be used for broadcast/multicast packets*/
828 wpt_uint8 ucBcastDpuSignature;
829
830 /*DPU descriptor index allocated by HAL, used for bcast/mcast management
831 packets*/
832 wpt_uint8 ucMgmtDpuDescIndx;
833
834 /*DPU signature to be used for bcast/mcast management packets*/
835 wpt_uint8 ucMgmtDpuSignature;
836
837 /*Status of the request received from HAL */
838 eHalStatus halStatus;
839}WPT_PACK_POST WDI_ConfigBSSRspInfoType;
840
841
842/*---------------------------------------------------------------------------
843 WDI_PostAssocRspInfoType
844---------------------------------------------------------------------------*/
845typedef WPT_PACK_PRE struct
846{
847 /*STA Index allocated by HAL.*/
848 wpt_uint16 usSTAIdx;
849
850 /*MAC Address of STA*/
851 wpt_macAddr macSTA;
852
853 /*Unicast DPU signature*/
854 wpt_uint8 ucUcastSig;
855
856 /*Broadcast DPU Signature*/
857 wpt_uint8 ucBcastSig;
858
859 /*BSSID of the BSS*/
860 wpt_macAddr macBSSID;
861
862 /*HAL Status */
863 eHalStatus halStatus;
864}WPT_PACK_POST WDI_PostAssocRspInfoType;
865
866/*---------------------------------------------------------------------------
867 WLAN DAL FSM Event Info Type
868 ---------------------------------------------------------------------------*/
869typedef struct
870{
871 /*Events can be linked in a list - put a node in front for that, it will be
872 used by wpt to link them*/
873 wpt_list_node wptListNode;
874
875 /*Request Received */
876 WDI_RequestEnumType wdiRequest;
877
878 /*Response Received */
879 WDI_ResponseEnumType wdiResponse;
880
881 /*Data associated with the request */
882 void* pEventData;
883
884 /*Data Size*/
885 wpt_uint32 uEventDataSize;
886
887 /*Callback function for receiving the response to the event*/
888 void* pCBfnc;
889
890 /*User data to be sent along with the CB function call*/
891 void* pUserData;
892}WDI_EventInfoType;
893
894/*---------------------------------------------------------------------------
895 WLAN DAL Session Index Type
896 ---------------------------------------------------------------------------*/
897typedef struct
898{
899 /*Events can be linked in a list - put a node in front for that, it will be
900 used by wpt to link them*/
901 wpt_list_node wptListNode;
902
903 /*Session id for the new association to be processed*/
904 wpt_uint8 ucIndex;
905
906}WDI_NextSessionIdType;
907
908#define WDI_CONTROL_BLOCK_MAGIC 0x67736887 /* WDIC in little endian */
909/*---------------------------------------------------------------------------
910 WLAN DAL Control Block Type
911 ---------------------------------------------------------------------------*/
912typedef struct
913{
914 /*magic number so callbacks can validate their context pointers*/
915 wpt_uint32 magic;
916
917 /*Ptr to the OS Context received from the UMAC*/
918 void* pOSContext;
919
920 /*Ptr to the PAL Context received from PAL*/
921 void* pPALContext;
922
923 /*Ptr to the Datapath Context received from PAL*/
924 void* pDPContext;
925
926 /*Ptr to the Datapath Transport Driver Context received from PAL*/
927 void* pDTDriverContext;
928
929 /*Hanlde to the control transport service*/
930 WCTS_HandleType wctsHandle;
931
932 /*Flag that keeps track if CT is Opened or not*/
933 wpt_boolean bCTOpened;
934
935 /*The global state of the DAL Control Path*/
936 WDI_MainStateType uGlobalState;
937
938 /*Flag to keep track of the expected state transition after processing
939 of a response */
940 WDI_MainStateType ucExpectedStateTransition;
941
942 /*Main Synchronization Object for the WDI CB*/
943 wpt_mutex wptMutex;
944
945 /*WDI response timer*/
946 wpt_timer wptResponseTimer;
947
948 /*WDI Pending Request Queue*/
949 wpt_list wptPendingQueue;
950#if 0
951 /*The state of the DAL during a scanning procedure*/
952 WDI_ScanStateType uScanState;
953
954 /*Flag that keeps track if a Scan is currently in progress*/
955 wpt_boolean bScanInProgress;
956#endif
957 /*Flag that keeps track if an Association is currently in progress*/
958 wpt_boolean bAssociationInProgress;
959
960 /*Array of simultaneous BSS Sessions*/
961 WDI_BSSSessionType aBSSSessions[WDI_MAX_BSS_SESSIONS];
962
963 /*WDI Pending Association Session Id Queue - it keeps track of the
964 order in which queued assoc requests came in*/
965 wpt_list wptPendingAssocSessionIdQueue;
966
967 /*! TO DO : - group these in a union, only one cached req can exist at a
968 time */
969
970 /*Cached post assoc request - there can only be one in the system as
971 only one request goes down to hal up until a response is received
972 The values cached are used on response to save a station if needed */
973 WDI_PostAssocReqParamsType wdiCachedPostAssocReq;
974
975 /*Cached config sta request - there can only be one in the system as
976 only one request goes down to hal up until a response is received
977 The values cached are used on response to save a station if needed */
978 WDI_ConfigSTAReqParamsType wdiCachedConfigStaReq;
979
980 /*Cached config sta request - there can only be one in the system as
981 only one request goes down to hal up until a response is received
982 The values cached are used on response to save a BSS if needed */
983 WDI_ConfigBSSReqParamsType wdiCachedConfigBssReq;
984
985 /*Cached set link state request - there can only be one in the system as
986 only one request goes down to hal up until a response is received
987 The values cached are used on response to delete a BSS if needed */
988 WDI_SetLinkReqParamsType wdiCacheSetLinkStReq;
989
990 /*Cached add STA self request - there can only be one in the system as
991 only one request goes down to hal up until a response is received
992 The values cached are used on response to save the self STA in the table */
993 WDI_AddSTASelfReqParamsType wdiCacheAddSTASelfReq;
994
995 /*Current session being handled*/
996 wpt_uint8 ucCurrentBSSSesIdx;
997
998 /*Pointer to the response CB of the pending request*/
999 void* pfncRspCB;
1000
1001 /*Pointer to the user data to be sent along with the response CB*/
1002 void* pRspCBUserData;
1003
1004 /*The expected response from HAL*/
1005 WDI_ResponseEnumType wdiExpectedResponse;
1006
1007 /*Request status callback offered by UMAC - it is called if the current
1008 req has returned PENDING as status; it delivers the status of sending
1009 the message over the BUS */
1010 WDI_ReqStatusCb wdiReqStatusCB;
1011
1012 /*The user data passed in by UMAC, it will be sent back when the above
1013 function pointer will be called */
1014 void* pReqStatusUserData;
1015
1016 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1017 wishes to send something back independent of a request*/
1018 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1019
1020 /*The user data passed in by UMAC, it will be sent back when the indication
1021 function pointer will be called */
1022 void* pIndUserData;
1023
1024 /*Cached start response parameters*/
1025 WDI_StartRspParamsType wdiCachedStartRspParams;
1026
1027 /* Information related to NV Image*/
1028 WDI_NvBlobInfoParams wdiNvBlobInfo;
1029
1030 /*STA Table Information*/
1031 /*Max number of stations allowed by device */
1032 wpt_uint8 ucMaxStations;
1033
1034 /*Max number of BSSes allowed by device */
1035 wpt_uint8 ucMaxBssids;
1036
1037 /* Global BSS and STA table - Memory is allocated when needed.*/
1038 void* staTable;
1039
1040#ifndef HAL_SELF_STA_PER_BSS
1041 /*Index of the Self STA */
1042 wpt_uint8 ucSelfStaId;
1043
1044 /* Self STA DPU Index */
1045 wpt_uint16 usSelfStaDpuId;
1046
1047 /*Self STA Mac*/
1048 wpt_macAddr macSelfSta;
1049#endif
1050
1051 /*Is frame translation enabled */
1052 wpt_uint8 bFrameTransEnabled;
1053
1054 /*AMSDU BD Fix Mask - used by the Fixing routine for Data Path */
1055 WDI_RxBdType wdiRxAmsduBdFixMask;
1056
1057 /*First AMSDU BD - used by the Fixing routine for Data Path */
1058 WDI_RxBdType wdiRxAmsduFirstBdCache;
1059
1060 /*This must be incremented on sta change */
1061 wpt_uint32 uBdSigSerialNum;
1062
1063 /* dpu routing flag
1064 ! TO DO: - must be set/reset when PS is enabled for UAPSD */
1065 wpt_uint8 ucDpuRF;
1066 /* Event to wait for when WCTS is told to perform an action */
1067 wpt_event wctsActionEvent;
1068 /* Event to wait for ACK from DXE after the power state is set */
1069 wpt_event setPowerStateEvent;
1070 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
1071 DXE when DXE wakes up from power save*/
1072 unsigned int dxePhyAddr;
1073
1074 /*NV download request parameters */
1075 WDI_NvDownloadReqParamsType wdiCachedNvDownloadReq;
1076
1077 /* Driver Type */
1078 tDriverType driverMode;
1079
Jeff Johnson295189b2012-06-20 16:38:30 -07001080 /* Statically allocated FTM Response Buffer */
1081 wpt_uint8 ucFTMCommandRspBuffer[WDI_FTM_MAX_RECEIVE_BUFFER];
Jeff Johnson295189b2012-06-20 16:38:30 -07001082
1083 /*Driver in BMPS state*/
1084 wpt_boolean bInBmps;
1085
1086 /*version of the PNO implementation in RIVA*/
1087 wpt_uint8 wdiPNOVersion;
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -07001088
1089 /*SSR timer*/
1090 wpt_timer ssrTimer;
Pratik Bhalgatd4404592012-11-22 17:49:14 +05301091
1092 /*Version of the WLAN HAL API received on start resp*/
1093 WDI_WlanVersionType wlanVersion;
1094
Gopichand Nakkalaa5e3ede2012-12-21 15:28:36 -08001095 /*timestamp when we start response timer*/
1096 wpt_uint32 uTimeStampRspTmrStart;
1097
1098 /*timestamp when we get response timer event*/
1099 wpt_uint32 uTimeStampRspTmrExp;
Gopichand Nakkala7fbde852013-05-07 03:05:56 -07001100
1101 /* enable/disable SSR on WDI timeout */
1102 wpt_boolean bEnableSSR;
Jeff Johnson295189b2012-06-20 16:38:30 -07001103}WDI_ControlBlockType;
1104
1105
1106
1107
1108/*---------------------------------------------------------------------------
1109
1110 DESCRIPTION
1111 WLAN DAL Request Processing function definition.
1112
1113 PARAMETERS
1114
1115 IN
1116 pWDICtx: pointer to the WLAN DAL context
1117 pEventData: pointer to the event information structure
1118
1119
1120 RETURN VALUE
1121 The result code associated with performing the operation
1122
1123---------------------------------------------------------------------------*/
1124typedef WDI_Status (*WDI_ReqProcFuncType)( WDI_ControlBlockType* pWDICtx,
1125 WDI_EventInfoType* pEventData);
1126
1127
1128/*---------------------------------------------------------------------------
1129
1130 DESCRIPTION
1131 WLAN DAL Response Processing function definition.
1132
1133 PARAMETERS
1134
1135 IN
1136 pWDICtx: pointer to the WLAN DAL context
1137 pEventData: pointer to the event information structure
1138
1139
1140 RETURN VALUE
1141 The result code associated with performing the operation
1142
1143---------------------------------------------------------------------------*/
1144typedef WDI_Status (*WDI_RspProcFuncType)( WDI_ControlBlockType* pWDICtx,
1145 WDI_EventInfoType* pEventData);
1146
1147
1148
1149
1150/*==========================================================================
1151 MAIN DAL FSM Definitions and Declarations
1152==========================================================================*/
1153
1154/*---------------------------------------------------------------------------
1155 DAL Control Path Main FSM
1156 ---------------------------------------------------------------------------*/
1157#define WDI_STATE_TRANSITION(_pctx, _st) (_pctx->uGlobalState = _st)
1158
1159
1160
1161/*---------------------------------------------------------------------------
1162 DAL Main Event type
1163---------------------------------------------------------------------------*/
1164typedef enum
1165{
1166 /* Start request received from UMAC */
1167 WDI_START_EVENT = 0,
1168
1169 /* Stop request received from UMAC */
1170 WDI_STOP_EVENT = 1,
1171
1172 /* HAL request received from UMAC*/
1173 WDI_REQUEST_EVENT = 2,
1174
1175 /* HAL Response received from device */
1176 WDI_RESPONSE_EVENT = 3,
1177
1178 /* Close request received from UMAC */
1179 WDI_CLOSE_EVENT = 4,
1180
1181 /* Shutdown request received from UMAC */
1182 WDI_SHUTDOWN_EVENT = 5,
1183
1184 WDI_MAX_EVENT
1185
1186}WDI_MainEventType;
1187
1188/*---------------------------------------------------------------------------
1189
1190 DESCRIPTION
1191 Main DAL state machine function definition.
1192
1193 PARAMETERS
1194
1195 IN
1196 pWDICtx: pointer to the WLAN DAL context
1197 pEventData: pointer to the event information structure
1198
1199
1200 RETURN VALUE
1201 The result code associated with performing the operation
1202
1203---------------------------------------------------------------------------*/
1204typedef WDI_Status (*WDI_MainFuncType)( WDI_ControlBlockType* pWDICtx,
1205 WDI_EventInfoType* pEventData);
1206
1207/*---------------------------------------------------------------------------
1208 MAIN DAL FSM Entry type
1209---------------------------------------------------------------------------*/
1210typedef struct
1211{
1212 WDI_MainFuncType pfnMainTbl[WDI_MAX_EVENT];
1213} WDI_MainFsmEntryType;
1214
1215/*Macro to check for valid session id*/
1216#define WDI_VALID_SESSION_IDX(_idx) ( _idx < WDI_MAX_BSS_SESSIONS )
1217
1218/*==========================================================================
1219
1220 DAL INTERNAL FUNCTION DECLARATION
1221
1222==========================================================================*/
1223
1224/**
1225 @brief Helper routine for retrieving the PAL Context from WDI -
1226 can be used by CTS, DTS, DXE and othe DAL internals
1227
1228 @param None
1229
1230 @see
1231 @return pointer to the context
1232*/
Jeff Johnson43971f52012-07-17 12:26:56 -07001233void* WDI_GET_PAL_CTX( void );
Jeff Johnson295189b2012-06-20 16:38:30 -07001234
1235/*---------------------------------------------------------------------------
1236 MAIN DAL FSM Function Declarations
1237---------------------------------------------------------------------------*/
1238/**
1239 @brief WDI_PostMainEvent - Posts an event to the Main FSM
1240
1241
1242 @param pWDICtx: pointer to the WLAN DAL context
1243 wdiEV: event posted to the main DAL FSM
1244 pEventData: pointer to the event information
1245 structure
1246
1247 @see
1248 @return Result of the function call
1249*/
1250WDI_Status
1251WDI_PostMainEvent
1252(
1253 WDI_ControlBlockType* pWDICtx,
1254 WDI_MainEventType wdiEV,
1255 WDI_EventInfoType* pEventData
1256
1257);
1258
1259/*--------------------------------------------------------------------------
1260 INIT State Functions
1261--------------------------------------------------------------------------*/
1262/**
1263 @brief Main FSM Start function for all states except BUSY
1264
1265
1266 @param pWDICtx: pointer to the WLAN DAL context
1267 pEventData: pointer to the event information structure
1268
1269 @see
1270 @return Result of the function call
1271*/
1272WDI_Status
1273WDI_MainStart
1274(
1275 WDI_ControlBlockType* pWDICtx,
1276 WDI_EventInfoType* pEventData
1277);
1278
1279/**
1280 @brief Main FSM Response function for state INIT
1281
1282
1283 @param pWDICtx: pointer to the WLAN DAL context
1284 pEventData: pointer to the event information structure
1285
1286 @see
1287 @return Result of the function call
1288*/
1289WDI_Status
1290WDI_MainRspInit
1291(
1292 WDI_ControlBlockType* pWDICtx,
1293 WDI_EventInfoType* pEventData
1294);
1295
1296/**
1297 @brief Main FSM Close function for all states except BUSY
1298
1299
1300 @param pWDICtx: pointer to the WLAN DAL context
1301 pEventData: pointer to the event information structure
1302
1303
1304 @see
1305 @return Result of the function call
1306*/
1307WDI_Status
1308WDI_MainClose
1309(
1310 WDI_ControlBlockType* pWDICtx,
1311 WDI_EventInfoType* pEventData
1312);
1313
1314/*--------------------------------------------------------------------------
1315 STARTED State Functions
1316--------------------------------------------------------------------------*/
1317/**
1318 @brief Main FSM Start function for state STARTED
1319
1320
1321 @param pWDICtx: pointer to the WLAN DAL context
1322 pEventData: pointer to the event information structure
1323
1324 @see
1325 @return Result of the function call
1326*/
1327WDI_Status
1328WDI_MainStartStarted
1329(
1330 WDI_ControlBlockType* pWDICtx,
1331 WDI_EventInfoType* pEventData
1332);
1333
1334/**
1335 @brief Main FSM Stop function for state STARTED
1336
1337
1338 @param pWDICtx: pointer to the WLAN DAL context
1339 pEventData: pointer to the event information structure
1340 uEventDataSize: size of the data sent in event
1341 pCBfnc: cb function for event response
1342 pUserData: user data
1343
1344 @see
1345 @return Result of the function call
1346*/
1347WDI_Status
1348WDI_MainStopStarted
1349(
1350 WDI_ControlBlockType* pWDICtx,
1351 WDI_EventInfoType* pEventData
1352);
1353
1354/**
1355 @brief Main FSM Request function for state started
1356
1357
1358 @param pWDICtx: pointer to the WLAN DAL context
1359 pEventData: pointer to the event information structure
1360
1361
1362 @see
1363 @return Result of the function call
1364*/
1365WDI_Status
1366WDI_MainReqStarted
1367(
1368 WDI_ControlBlockType* pWDICtx,
1369 WDI_EventInfoType* pEventData
1370);
1371
1372/**
1373 @brief Main FSM Response function for all states except INIT
1374
1375
1376 @param pWDICtx: pointer to the WLAN DAL context
1377 pEventData: pointer to the event information structure
1378
1379 @see
1380 @return Result of the function call
1381*/
1382WDI_Status
1383WDI_MainRsp
1384(
1385 WDI_ControlBlockType* pWDICtx,
1386 WDI_EventInfoType* pEventData
1387);
1388
1389/*--------------------------------------------------------------------------
1390 STOPPED State Functions
1391--------------------------------------------------------------------------*/
1392/**
1393 @brief Main FSM Stop function for state STOPPED
1394
1395
1396 @param pWDICtx: pointer to the WLAN DAL context
1397 pEventData: pointer to the event information structure
1398
1399 @see
1400 @return Result of the function call
1401*/
1402WDI_Status
1403WDI_MainStopStopped
1404(
1405 WDI_ControlBlockType* pWDICtx,
1406 WDI_EventInfoType* pEventData
1407 );
1408
1409/*--------------------------------------------------------------------------
1410 BUSY State Functions
1411--------------------------------------------------------------------------*/
1412/**
1413 @brief Main FSM Start function for state BUSY
1414
1415
1416 @param pWDICtx: pointer to the WLAN DAL context
1417 pEventData: pointer to the event information structure
1418
1419 @see
1420 @return Result of the function call
1421*/
1422WDI_Status
1423WDI_MainStartBusy
1424(
1425 WDI_ControlBlockType* pWDICtx,
1426 WDI_EventInfoType* pEventData
1427);
1428
1429/**
1430 @brief Main FSM Stop function for state BUSY
1431
1432
1433 @param pWDICtx: pointer to the WLAN DAL context
1434 pEventData: pointer to the event information structure
1435
1436 @see
1437 @return Result of the function call
1438*/
1439WDI_Status
1440WDI_MainStopBusy
1441(
1442 WDI_ControlBlockType* pWDICtx,
1443 WDI_EventInfoType* pEventData
1444);
1445
1446/**
1447 @brief Main FSM Request function for state BUSY
1448
1449
1450 @param pWDICtx: pointer to the WLAN DAL context
1451 pEventData: pointer to the event information structure
1452
1453 @see
1454 @return Result of the function call
1455*/
1456WDI_Status
1457WDI_MainReqBusy
1458(
1459 WDI_ControlBlockType* pWDICtx,
1460 WDI_EventInfoType* pEventData
1461);
1462
1463/**
1464 @brief Main FSM Close function for state BUSY
1465
1466
1467 @param pWDICtx: pointer to the WLAN DAL context
1468 pEventData: pointer to the event information structure
1469
1470 @see
1471 @return Result of the function call
1472*/
1473WDI_Status
1474WDI_MainCloseBusy
1475(
1476 WDI_ControlBlockType* pWDICtx,
1477 WDI_EventInfoType* pEventData
1478);
1479
1480/**
1481 @brief Main FSM Shutdown function for INIT & STARTED states
1482
1483
1484 @param pWDICtx: pointer to the WLAN DAL context
1485 pEventData: pointer to the event information structure
1486
1487 @see
1488 @return Result of the function call
1489*/
1490WDI_Status
1491WDI_MainShutdown
1492(
1493 WDI_ControlBlockType* pWDICtx,
1494 WDI_EventInfoType* pEventData
1495);
1496
1497/**
1498 @brief Main FSM Shutdown function for BUSY state
1499
1500
1501 @param pWDICtx: pointer to the WLAN DAL context
1502 pEventData: pointer to the event information structure
1503
1504 @see
1505 @return Result of the function call
1506*/
1507WDI_Status
1508WDI_MainShutdownBusy
1509(
1510 WDI_ControlBlockType* pWDICtx,
1511 WDI_EventInfoType* pEventData
1512);
1513
1514/*========================================================================
1515 Main DAL Control Path Request Processing API
1516========================================================================*/
1517
1518/**
1519 @brief Process Start Request function (called when Main FSM
1520 allows it)
1521
1522 @param pWDICtx: pointer to the WLAN DAL context
1523 pEventData: pointer to the event information structure
1524
1525 @see
1526 @return Result of the function call
1527*/
1528WDI_Status
1529WDI_ProcessStartReq
1530(
1531 WDI_ControlBlockType* pWDICtx,
1532 WDI_EventInfoType* pEventData
1533);
1534
1535
1536/**
1537 @brief Process Stop Request function (called when Main FSM
1538 allows it)
1539
1540 @param pWDICtx: pointer to the WLAN DAL context
1541 pEventData: pointer to the event information structure
1542
1543 @see
1544 @return Result of the function call
1545*/
1546WDI_Status
1547WDI_ProcessStopReq
1548(
1549 WDI_ControlBlockType* pWDICtx,
1550 WDI_EventInfoType* pEventData
1551);
1552
1553
1554/**
1555 @brief Process Close Request function (called when Main FSM
1556 allows it)
1557
1558 @param pWDICtx: pointer to the WLAN DAL context
1559 pEventData: pointer to the event information structure
1560
1561 @see
1562 @return Result of the function call
1563*/
1564WDI_Status
1565WDI_ProcessCloseReq
1566(
1567 WDI_ControlBlockType* pWDICtx,
1568 WDI_EventInfoType* pEventData
1569);
1570
1571/**
1572 @brief Process Shutdown Request function (called when Main FSM
1573 allows it)
1574
1575 @param pWDICtx: pointer to the WLAN DAL context
1576 pEventData: pointer to the event information structure
1577
1578 @see
1579 @return Result of the function call
1580*/
1581WDI_Status
1582WDI_ProcessShutdownReq
1583(
1584 WDI_ControlBlockType* pWDICtx,
1585 WDI_EventInfoType* pEventData
1586);
1587
1588
1589/**
1590 @brief Process Init Scan Request function (called when Main FSM
1591 allows it)
1592
1593 @param pWDICtx: pointer to the WLAN DAL context
1594 pEventData: pointer to the event information structure
1595
1596 @see
1597 @return Result of the function call
1598*/
1599WDI_Status
1600WDI_ProcessInitScanReq
1601(
1602 WDI_ControlBlockType* pWDICtx,
1603 WDI_EventInfoType* pEventData
1604);
1605
1606
1607/**
1608 @brief Process Start Scan Request function (called when Main
1609 FSM allows it)
1610
1611 @param pWDICtx: pointer to the WLAN DAL context
1612 pEventData: pointer to the event information structure
1613
1614 @see
1615 @return Result of the function call
1616*/
1617WDI_Status
1618WDI_ProcessStartScanReq
1619(
1620 WDI_ControlBlockType* pWDICtx,
1621 WDI_EventInfoType* pEventData
1622);
1623
1624
1625/**
1626 @brief Process End Scan Request function (called when Main FSM
1627 allows it)
1628
1629 @param pWDICtx: pointer to the WLAN DAL context
1630 pEventData: pointer to the event information structure
1631
1632 @see
1633 @return Result of the function call
1634*/
1635WDI_Status
1636WDI_ProcessEndScanReq
1637(
1638 WDI_ControlBlockType* pWDICtx,
1639 WDI_EventInfoType* pEventData
1640);
1641
1642
1643/**
1644 @brief Process Finish Scan Request function (called when Main
1645 FSM allows it)
1646
1647 @param pWDICtx: pointer to the WLAN DAL context
1648 pEventData: pointer to the event information structure
1649
1650 @see
1651 @return Result of the function call
1652*/
1653WDI_Status
1654WDI_ProcessFinishScanReq
1655(
1656 WDI_ControlBlockType* pWDICtx,
1657 WDI_EventInfoType* pEventData
1658);
1659
1660
1661/**
1662 @brief Process Join Request function (called when Main FSM
1663 allows it)
1664
1665 @param pWDICtx: pointer to the WLAN DAL context
1666 pEventData: pointer to the event information structure
1667
1668 @see
1669 @return Result of the function call
1670*/
1671WDI_Status
1672WDI_ProcessJoinReq
1673(
1674 WDI_ControlBlockType* pWDICtx,
1675 WDI_EventInfoType* pEventData
1676);
1677
1678
1679/**
1680 @brief Process Config BSS Request function (called when Main
1681 FSM allows it)
1682
1683 @param pWDICtx: pointer to the WLAN DAL context
1684 pEventData: pointer to the event information structure
1685
1686 @see
1687 @return Result of the function call
1688*/
1689WDI_Status
1690WDI_ProcessConfigBSSReq
1691(
1692 WDI_ControlBlockType* pWDICtx,
1693 WDI_EventInfoType* pEventData
1694);
1695
1696
1697/**
1698 @brief Process Del BSS Request function (called when Main FSM
1699 allows it)
1700
1701 @param pWDICtx: pointer to the WLAN DAL context
1702 pEventData: pointer to the event information structure
1703
1704 @see
1705 @return Result of the function call
1706*/
1707WDI_Status
1708WDI_ProcessDelBSSReq
1709(
1710 WDI_ControlBlockType* pWDICtx,
1711 WDI_EventInfoType* pEventData
1712);
1713
1714/**
1715 @brief Process Post Assoc Request function (called when Main
1716 FSM allows it)
1717
1718 @param pWDICtx: pointer to the WLAN DAL context
1719 pEventData: pointer to the event information structure
1720
1721 @see
1722 @return Result of the function call
1723*/
1724WDI_Status
1725WDI_ProcessPostAssocReq
1726(
1727 WDI_ControlBlockType* pWDICtx,
1728 WDI_EventInfoType* pEventData
1729);
1730
1731/**
1732 @brief Process Del STA Request function (called when Main FSM
1733 allows it)
1734
1735 @param pWDICtx: pointer to the WLAN DAL context
1736 pEventData: pointer to the event information structure
1737
1738 @see
1739 @return Result of the function call
1740*/
1741WDI_Status
1742WDI_ProcessDelSTAReq
1743(
1744 WDI_ControlBlockType* pWDICtx,
1745 WDI_EventInfoType* pEventData
1746);
1747
1748/**
1749 @brief Process Set BSS Key Request function (called when Main FSM
1750 allows it)
1751
1752 @param pWDICtx: pointer to the WLAN DAL context
1753 pEventData: pointer to the event information structure
1754
1755 @see
1756 @return Result of the function call
1757*/
1758WDI_Status
1759WDI_ProcessSetBssKeyReq
1760(
1761 WDI_ControlBlockType* pWDICtx,
1762 WDI_EventInfoType* pEventData
1763);
1764
1765/**
1766 @brief Process Remove BSS Key Request function (called when Main
1767 FSM allows it)
1768
1769 @param pWDICtx: pointer to the WLAN DAL context
1770 pEventData: pointer to the event information structure
1771
1772 @see
1773 @return Result of the function call
1774*/
1775WDI_Status
1776WDI_ProcessRemoveBssKeyReq
1777(
1778 WDI_ControlBlockType* pWDICtx,
1779 WDI_EventInfoType* pEventData
1780);
1781
1782/**
1783 @brief Process Set STA KeyRequest function (called when Main FSM
1784 allows it)
1785
1786 @param pWDICtx: pointer to the WLAN DAL context
1787 pEventData: pointer to the event information structure
1788
1789 @see
1790 @return Result of the function call
1791*/
1792WDI_Status
1793WDI_ProcessSetStaKeyReq
1794(
1795 WDI_ControlBlockType* pWDICtx,
1796 WDI_EventInfoType* pEventData
1797);
1798
1799/**
1800 @brief Process Remove STA Key Request function (called when
1801 Main FSM allows it)
1802
1803 @param pWDICtx: pointer to the WLAN DAL context
1804 pEventData: pointer to the event information structure
1805
1806 @see
1807 @return Result of the function call
1808*/
1809WDI_Status
1810WDI_ProcessRemoveStaKeyReq
1811(
1812 WDI_ControlBlockType* pWDICtx,
1813 WDI_EventInfoType* pEventData
1814);
1815
1816/**
1817 @brief Process Set STA KeyRequest function (called when Main FSM
1818 allows it)
1819
1820 @param pWDICtx: pointer to the WLAN DAL context
1821 pEventData: pointer to the event information structure
1822
1823 @see
1824 @return Result of the function call
1825*/
1826WDI_Status
1827WDI_ProcessSetStaBcastKeyReq
1828(
1829 WDI_ControlBlockType* pWDICtx,
1830 WDI_EventInfoType* pEventData
1831);
1832
1833/**
1834 @brief Process Remove STA Key Request function (called when
1835 Main FSM allows it)
1836
1837 @param pWDICtx: pointer to the WLAN DAL context
1838 pEventData: pointer to the event information structure
1839
1840 @see
1841 @return Result of the function call
1842*/
1843WDI_Status
1844WDI_ProcessRemoveStaBcastKeyReq
1845(
1846 WDI_ControlBlockType* pWDICtx,
1847 WDI_EventInfoType* pEventData
1848);
1849
1850/**
1851 @brief Process Add TSpec Request function (called when Main FSM
1852 allows it)
1853
1854 @param pWDICtx: pointer to the WLAN DAL context
1855 pEventData: pointer to the event information structure
1856
1857 @see
1858 @return Result of the function call
1859*/
1860WDI_Status
1861WDI_ProcessAddTSpecReq
1862(
1863 WDI_ControlBlockType* pWDICtx,
1864 WDI_EventInfoType* pEventData
1865);
1866
1867
1868/**
1869 @brief Process Del TSpec Request function (called when Main FSM
1870 allows it)
1871
1872 @param pWDICtx: pointer to the WLAN DAL context
1873 pEventData: pointer to the event information structure
1874
1875 @see
1876 @return Result of the function call
1877*/
1878WDI_Status
1879WDI_ProcessDelTSpecReq
1880(
1881 WDI_ControlBlockType* pWDICtx,
1882 WDI_EventInfoType* pEventData
1883);
1884
1885/**
1886 @brief Process Update EDCA Params Request function (called when
1887 Main FSM allows it)
1888
1889 @param pWDICtx: pointer to the WLAN DAL context
1890 pEventData: pointer to the event information structure
1891
1892 @see
1893 @return Result of the function call
1894*/
1895WDI_Status
1896WDI_ProcessUpdateEDCAParamsReq
1897(
1898 WDI_ControlBlockType* pWDICtx,
1899 WDI_EventInfoType* pEventData
1900);
1901
1902/**
1903 @brief Process Add BA Request function (called when Main FSM
1904 allows it)
1905
1906 @param pWDICtx: pointer to the WLAN DAL context
1907 pEventData: pointer to the event information structure
1908
1909 @see
1910 @return Result of the function call
1911*/
1912WDI_Status
1913WDI_ProcessAddBASessionReq
1914(
1915 WDI_ControlBlockType* pWDICtx,
1916 WDI_EventInfoType* pEventData
1917);
1918
1919/**
1920 @brief Process Del BA Request function (called when Main FSM
1921 allows it)
1922
1923 @param pWDICtx: pointer to the WLAN DAL context
1924 pEventData: pointer to the event information structure
1925
1926 @see
1927 @return Result of the function call
1928*/
1929WDI_Status
1930WDI_ProcessDelBAReq
1931(
1932 WDI_ControlBlockType* pWDICtx,
1933 WDI_EventInfoType* pEventData
1934);
1935
1936#ifdef FEATURE_WLAN_CCX
1937/**
1938 @brief Process TSM Stats Request function (called when Main FSM
1939 allows it)
1940
1941 @param pWDICtx: pointer to the WLAN DAL context
1942 pEventData: pointer to the event information structure
1943
1944 @see
1945 @return Result of the function call
1946*/
1947WDI_Status
1948WDI_ProcessTSMStatsReq
1949(
1950 WDI_ControlBlockType* pWDICtx,
1951 WDI_EventInfoType* pEventData
1952);
1953#endif
1954
1955/**
1956 @brief Process Channel Switch Request function (called when
1957 Main FSM allows it)
1958
1959 @param pWDICtx: pointer to the WLAN DAL context
1960 pEventData: pointer to the event information structure
1961
1962 @see
1963 @return Result of the function call
1964*/
1965WDI_Status
1966WDI_ProcessChannelSwitchReq
1967(
1968 WDI_ControlBlockType* pWDICtx,
1969 WDI_EventInfoType* pEventData
1970);
1971
1972/**
1973 @brief Process Config STA Request function (called when Main FSM
1974 allows it)
1975
1976 @param pWDICtx: pointer to the WLAN DAL context
1977 pEventData: pointer to the event information structure
1978
1979 @see
1980 @return Result of the function call
1981*/
1982WDI_Status
1983WDI_ProcessConfigStaReq
1984(
1985 WDI_ControlBlockType* pWDICtx,
1986 WDI_EventInfoType* pEventData
1987);
1988
1989
1990/**
1991 @brief Process Set Link State Request function (called when
1992 Main FSM allows it)
1993
1994 @param pWDICtx: pointer to the WLAN DAL context
1995 pEventData: pointer to the event information structure
1996
1997 @see
1998 @return Result of the function call
1999*/
2000WDI_Status
2001WDI_ProcessSetLinkStateReq
2002(
2003 WDI_ControlBlockType* pWDICtx,
2004 WDI_EventInfoType* pEventData
2005);
2006
2007
2008/**
2009 @brief Process Get Stats Request function (called when Main FSM
2010 allows it)
2011
2012 @param pWDICtx: pointer to the WLAN DAL context
2013 pEventData: pointer to the event information structure
2014
2015 @see
2016 @return Result of the function call
2017*/
2018WDI_Status
2019WDI_ProcessGetStatsReq
2020(
2021 WDI_ControlBlockType* pWDICtx,
2022 WDI_EventInfoType* pEventData
2023);
2024
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08002025#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
2026/**
2027 @brief Process Get Roam rssi Request function (called when Main FSM
2028 allows it)
2029
2030 @param pWDICtx: pointer to the WLAN DAL context
2031 pEventData: pointer to the event information structure
2032
2033 @see
2034 @return Result of the function call
2035*/
2036WDI_Status
2037WDI_ProcessGetRoamRssiReq
2038(
2039 WDI_ControlBlockType* pWDICtx,
2040 WDI_EventInfoType* pEventData
2041);
2042
2043
2044/**
2045 @brief Process Get Roam Rssi Rsp function (called when a response is
2046 being received over the bus from HAL)
2047
2048 @param pWDICtx: pointer to the WLAN DAL context
2049 pEventData: pointer to the event information structure
2050
2051 @see
2052 @return Result of the function call
2053*/
2054WDI_Status
2055WDI_ProcessGetRoamRssiRsp
2056(
2057 WDI_ControlBlockType* pWDICtx,
2058 WDI_EventInfoType* pEventData
2059);
2060
2061#endif
2062
2063
Jeff Johnson295189b2012-06-20 16:38:30 -07002064/**
2065 @brief Process Update Cfg Request function (called when Main
2066 FSM allows it)
2067
2068 @param pWDICtx: pointer to the WLAN DAL context
2069 pEventData: pointer to the event information structure
2070
2071 @see
2072 @return Result of the function call
2073*/
2074WDI_Status
2075WDI_ProcessUpdateCfgReq
2076(
2077 WDI_ControlBlockType* pWDICtx,
2078 WDI_EventInfoType* pEventData
2079);
2080
2081/**
2082 @brief Process Add BA Request function (called when Main FSM
2083 allows it)
2084
2085 @param pWDICtx: pointer to the WLAN DAL context
2086 pEventData: pointer to the event information structure
2087
2088 @see
2089 @return Result of the function call
2090*/
2091WDI_Status
2092WDI_ProcessAddBAReq
2093(
2094 WDI_ControlBlockType* pWDICtx,
2095 WDI_EventInfoType* pEventData
2096);
2097
2098/**
2099 @brief Process Trigger BA Request function (called when Main FSM
2100 allows it)
2101
2102 @param pWDICtx: pointer to the WLAN DAL context
2103 pEventData: pointer to the event information structure
2104
2105 @see
2106 @return Result of the function call
2107*/
2108WDI_Status
2109WDI_ProcessTriggerBAReq
2110(
2111 WDI_ControlBlockType* pWDICtx,
2112 WDI_EventInfoType* pEventData
2113);
2114
2115/**
2116 @brief Process Update Beacon Params Request function (called when Main
2117 FSM allows it)
2118
2119 @param pWDICtx: pointer to the WLAN DAL context
2120 pEventData: pointer to the event information structure
2121
2122 @see
2123 @return Result of the function call
2124*/
2125WDI_Status
2126WDI_ProcessUpdateBeaconParamsReq
2127(
2128 WDI_ControlBlockType* pWDICtx,
2129 WDI_EventInfoType* pEventData
2130);
2131
2132/**
2133 @brief Process Update Beacon template Request function (called when Main
2134 FSM allows it)
2135
2136 @param pWDICtx: pointer to the WLAN DAL context
2137 pEventData: pointer to the event information structure
2138
2139 @see
2140 @return Result of the function call
2141*/
2142WDI_Status
2143WDI_ProcessSendBeaconParamsReq
2144(
2145 WDI_ControlBlockType* pWDICtx,
2146 WDI_EventInfoType* pEventData
2147);
2148
2149/**
2150 @brief Process Update Beacon Params Request function (called when Main FSM
2151 allows it)
2152
2153 @param pWDICtx: pointer to the WLAN DAL context
2154 pEventData: pointer to the event information structure
2155
2156 @see
2157 @return Result of the function call
2158*/
2159WDI_Status
2160WDI_ProcessUpdateProbeRspTemplateReq
2161(
2162 WDI_ControlBlockType* pWDICtx,
2163 WDI_EventInfoType* pEventData
2164);
2165/**
2166 @brief Process NV blob download function (called when Main FSM
2167 allows it)
2168
2169 @param pWDICtx: pointer to the WLAN DAL context
2170 pEventData: pointer to the event information structure
2171
2172 @see
2173 @return Result of the function call
2174*/
2175WDI_Status
2176WDI_ProcessNvDownloadReq
2177(
2178 WDI_ControlBlockType* pWDICtx,
2179 WDI_EventInfoType* pEventData
2180);
2181
2182/**
2183 @brief Process Set Max Tx Power Request function (called when Main
2184 FSM allows it)
2185
2186 @param pWDICtx: pointer to the WLAN DAL context
2187 pEventData: pointer to the event information structure
2188
2189 @see
2190 @return Result of the function call
2191*/
2192WDI_Status WDI_ProcessSetMaxTxPowerReq
2193(
2194 WDI_ControlBlockType* pWDICtx,
2195 WDI_EventInfoType* pEventData
2196);
2197
Jeff Johnson295189b2012-06-20 16:38:30 -07002198/**
schang86c22c42013-03-13 18:41:24 -07002199 @brief Process Set Tx Power Request function (called when Main
2200 FSM allows it)
2201
2202 @param pWDICtx: pointer to the WLAN DAL context
2203 pEventData: pointer to the event information structure
2204
2205 @see
2206 @return Result of the function call
2207*/
2208WDI_Status WDI_ProcessSetTxPowerReq
2209(
2210 WDI_ControlBlockType* pWDICtx,
2211 WDI_EventInfoType* pEventData
2212);
2213
2214/**
Jeff Johnson295189b2012-06-20 16:38:30 -07002215 @brief Process P2P Notice Of Absence Request function (called when Main FSM
2216 allows it)
2217
2218 @param pWDICtx: pointer to the WLAN DAL context
2219 pEventData: pointer to the event information structure
2220
2221 @see
2222 @return Result of the function call
2223*/
2224WDI_Status
2225WDI_ProcessP2PGONOAReq
2226(
2227 WDI_ControlBlockType* pWDICtx,
2228 WDI_EventInfoType* pEventData
2229);
Jeff Johnson295189b2012-06-20 16:38:30 -07002230
2231/**
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302232 @brief Process TDLS Link Establish Request function (called when Main FSM
2233 allows it)
2234
2235 @param pWDICtx: pointer to the WLAN DAL context
2236 pEventData: pointer to the event information structure
2237
2238 @see
2239 @return Result of the function call
2240*/
2241WDI_Status
2242WDI_ProcessTdlsLinkEstablishReq
2243(
2244 WDI_ControlBlockType* pWDICtx,
2245 WDI_EventInfoType* pEventData
2246);
2247
2248/**
Jeff Johnson295189b2012-06-20 16:38:30 -07002249 @brief Process Enter IMPS Request function (called when
2250 Main FSM allows it)
2251
2252 @param pWDICtx: pointer to the WLAN DAL context
2253 pEventData: pointer to the event information structure
2254
2255 @see
2256 @return Result of the function call
2257*/
2258WDI_Status
2259WDI_ProcessEnterImpsReq
2260(
2261 WDI_ControlBlockType* pWDICtx,
2262 WDI_EventInfoType* pEventData
2263);
2264
2265/**
2266 @brief Process Exit IMPS Request function (called when
2267 Main FSM allows it)
2268
2269 @param pWDICtx: pointer to the WLAN DAL context
2270 pEventData: pointer to the event information structure
2271
2272 @see
2273 @return Result of the function call
2274*/
2275WDI_Status
2276WDI_ProcessExitImpsReq
2277(
2278 WDI_ControlBlockType* pWDICtx,
2279 WDI_EventInfoType* pEventData
2280);
2281
2282/**
2283 @brief Process Enter BMPS Request function (called when Main
2284 FSM allows it)
2285
2286 @param pWDICtx: pointer to the WLAN DAL context
2287 pEventData: pointer to the event information structure
2288
2289 @see
2290 @return Result of the function call
2291*/
2292WDI_Status
2293WDI_ProcessEnterBmpsReq
2294(
2295 WDI_ControlBlockType* pWDICtx,
2296 WDI_EventInfoType* pEventData
2297);
2298
2299/**
2300 @brief Process Exit BMPS Request function (called when Main FSM
2301 allows it)
2302
2303 @param pWDICtx: pointer to the WLAN DAL context
2304 pEventData: pointer to the event information structure
2305
2306 @see
2307 @return Result of the function call
2308*/
2309WDI_Status
2310WDI_ProcessExitBmpsReq
2311(
2312 WDI_ControlBlockType* pWDICtx,
2313 WDI_EventInfoType* pEventData
2314);
2315
2316/**
2317 @brief Process Enter UAPSD Request function (called when Main
2318 FSM allows it)
2319
2320 @param pWDICtx: pointer to the WLAN DAL context
2321 pEventData: pointer to the event information structure
2322
2323 @see
2324 @return Result of the function call
2325*/
2326WDI_Status
2327WDI_ProcessEnterUapsdReq
2328(
2329 WDI_ControlBlockType* pWDICtx,
2330 WDI_EventInfoType* pEventData
2331);
2332
2333/**
2334 @brief Process Exit UAPSD Request function (called when
2335 Main FSM allows it)
2336
2337 @param pWDICtx: pointer to the WLAN DAL context
2338 pEventData: pointer to the event information structure
2339
2340 @see
2341 @return Result of the function call
2342*/
2343WDI_Status
2344WDI_ProcessExitUapsdReq
2345(
2346 WDI_ControlBlockType* pWDICtx,
2347 WDI_EventInfoType* pEventData
2348);
2349
2350/**
2351 @brief Process Set UAPSD params Request function (called when
2352 Main FSM allows it)
2353
2354 @param pWDICtx: pointer to the WLAN DAL context
2355 pEventData: pointer to the event information structure
2356
2357 @see
2358 @return Result of the function call
2359*/
2360WDI_Status
2361WDI_ProcessSetUapsdAcParamsReq
2362(
2363 WDI_ControlBlockType* pWDICtx,
2364 WDI_EventInfoType* pEventData
2365);
2366
2367/**
2368 @brief Process update UAPSD params Request function (called
2369 when Main FSM allows it)
2370
2371 @param pWDICtx: pointer to the WLAN DAL context
2372 pEventData: pointer to the event information structure
2373
2374 @see
2375 @return Result of the function call
2376*/
2377WDI_Status
2378WDI_ProcessUpdateUapsdParamsReq
2379(
2380 WDI_ControlBlockType* pWDICtx,
2381 WDI_EventInfoType* pEventData
2382);
2383
2384/**
2385 @brief Process Configure RXP filter Request function (called
2386 when Main FSM allows it)
2387
2388 @param pWDICtx: pointer to the WLAN DAL context
2389 pEventData: pointer to the event information structure
2390
2391 @see
2392 @return Result of the function call
2393*/
2394WDI_Status
2395WDI_ProcessConfigureRxpFilterReq
2396(
2397 WDI_ControlBlockType* pWDICtx,
2398 WDI_EventInfoType* pEventData
2399);
2400
2401/**
2402 @brief Process set beacon filter Request function (called
2403 when Main FSM allows it)
2404
2405 @param pWDICtx: pointer to the WLAN DAL context
2406 pEventData: pointer to the event information structure
2407
2408 @see
2409 @return Result of the function call
2410*/
2411WDI_Status
2412WDI_ProcessSetBeaconFilterReq
2413(
2414 WDI_ControlBlockType* pWDICtx,
2415 WDI_EventInfoType* pEventData
2416);
2417
2418/**
2419 @brief Process remove beacon filter Request function (called
2420 when Main FSM allows it)
2421
2422 @param pWDICtx: pointer to the WLAN DAL context
2423 pEventData: pointer to the event information structure
2424
2425 @see
2426 @return Result of the function call
2427*/
2428WDI_Status
2429WDI_ProcessRemBeaconFilterReq
2430(
2431 WDI_ControlBlockType* pWDICtx,
2432 WDI_EventInfoType* pEventData
2433);
2434
2435/**
2436 @brief Process set RSSI thresholds Request function (called
2437 when Main FSM allows it)
2438
2439 @param pWDICtx: pointer to the WLAN DAL context
2440 pEventData: pointer to the event information structure
2441
2442 @see
2443 @return Result of the function call
2444*/
2445WDI_Status
2446WDI_ProcessSetRSSIThresholdsReq
2447(
2448 WDI_ControlBlockType* pWDICtx,
2449 WDI_EventInfoType* pEventData
2450);
2451
2452/**
2453 @brief Process set RSSI thresholds Request function (called
2454 when Main FSM allows it)
2455
2456 @param pWDICtx: pointer to the WLAN DAL context
2457 pEventData: pointer to the event information structure
2458
2459 @see
2460 @return Result of the function call
2461*/
2462WDI_Status
2463WDI_ProcessHostOffloadReq
2464(
2465 WDI_ControlBlockType* pWDICtx,
2466 WDI_EventInfoType* pEventData
2467);
2468
2469/**
2470 @brief Process Keep Alive Request function (called
2471 when Main FSM allows it)
2472
2473 @param pWDICtx: pointer to the WLAN DAL context
2474 pEventData: pointer to the event information structure
2475
2476 @see
2477 @return Result of the function call
2478*/
2479WDI_Status
2480WDI_ProcessKeepAliveReq
2481(
2482 WDI_ControlBlockType* pWDICtx,
2483 WDI_EventInfoType* pEventData
2484);
2485
2486
2487/**
2488 @brief Process Wowl add bc ptrn Request function (called
2489 when Main FSM allows it)
2490
2491 @param pWDICtx: pointer to the WLAN DAL context
2492 pEventData: pointer to the event information structure
2493
2494 @see
2495 @return Result of the function call
2496*/
2497WDI_Status
2498WDI_ProcessWowlAddBcPtrnReq
2499(
2500 WDI_ControlBlockType* pWDICtx,
2501 WDI_EventInfoType* pEventData
2502);
2503
2504/**
2505 @brief Process Wowl delete bc ptrn Request function (called
2506 when Main FSM allows it)
2507
2508 @param pWDICtx: pointer to the WLAN DAL context
2509 pEventData: pointer to the event information structure
2510
2511 @see
2512 @return Result of the function call
2513*/
2514WDI_Status
2515WDI_ProcessWowlDelBcPtrnReq
2516(
2517 WDI_ControlBlockType* pWDICtx,
2518 WDI_EventInfoType* pEventData
2519);
2520
2521/**
2522 @brief Process Wowl enter Request function (called
2523 when Main FSM allows it)
2524
2525 @param pWDICtx: pointer to the WLAN DAL context
2526 pEventData: pointer to the event information structure
2527
2528 @see
2529 @return Result of the function call
2530*/
2531WDI_Status
2532WDI_ProcessWowlEnterReq
2533(
2534 WDI_ControlBlockType* pWDICtx,
2535 WDI_EventInfoType* pEventData
2536);
2537
2538/**
2539 @brief Process Wowl exit Request function (called when Main FSM
2540 allows it)
2541
2542 @param pWDICtx: pointer to the WLAN DAL context
2543 pEventData: pointer to the event information structure
2544
2545 @see
2546 @return Result of the function call
2547*/
2548WDI_Status
2549WDI_ProcessWowlExitReq
2550(
2551 WDI_ControlBlockType* pWDICtx,
2552 WDI_EventInfoType* pEventData
2553);
2554
2555/**
2556 @brief Process Configure Apps Cpu Wakeup State Request function
2557 (called when Main FSM allows it)
2558
2559 @param pWDICtx: pointer to the WLAN DAL context
2560 pEventData: pointer to the event information structure
2561
2562 @see
2563 @return Result of the function call
2564*/
2565WDI_Status
2566WDI_ProcessConfigureAppsCpuWakeupStateReq
2567(
2568 WDI_ControlBlockType* pWDICtx,
2569 WDI_EventInfoType* pEventData
2570);
2571
2572/**
2573 @brief Process Flush AC Request function (called when Main FSM
2574 allows it)
2575
2576 @param pWDICtx: pointer to the WLAN DAL context
2577 pEventData: pointer to the event information structure
2578
2579 @see
2580 @return Result of the function call
2581*/
2582WDI_Status
2583WDI_ProcessFlushAcReq
2584(
2585 WDI_ControlBlockType* pWDICtx,
2586 WDI_EventInfoType* pEventData
2587);
2588
Jeff Johnsone7245742012-09-05 17:12:55 -07002589#ifdef FEATURE_OEM_DATA_SUPPORT
2590/**
2591 @brief Process Start Oem Data Request function (called when Main
2592 FSM allows it)
2593
2594 @param pWDICtx: pointer to the WLAN DAL context
2595 pEventData: pointer to the event information structure
2596
2597 @see
2598 @return Result of the function call
2599*/
2600WDI_Status
2601WDI_ProcessStartOemDataReq
2602(
2603 WDI_ControlBlockType* pWDICtx,
2604 WDI_EventInfoType* pEventData
2605);
2606#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002607
2608/**
2609 @brief Process Host Resume Request function (called when Main
2610 FSM allows it)
2611
2612 @param pWDICtx: pointer to the WLAN DAL context
2613 pEventData: pointer to the event information structure
2614
2615 @see
2616 @return Result of the function call
2617*/
2618WDI_Status
2619WDI_ProcessHostResumeReq
2620(
2621 WDI_ControlBlockType* pWDICtx,
2622 WDI_EventInfoType* pEventData
2623);
2624
2625/**
2626 @brief Process BT AMP event Request function (called when Main
2627 FSM allows it)
2628
2629 @param pWDICtx: pointer to the WLAN DAL context
2630 pEventData: pointer to the event information structure
2631
2632 @see
2633 @return Result of the function call
2634*/
2635WDI_Status
2636WDI_ProcessBtAmpEventReq
2637(
2638 WDI_ControlBlockType* pWDICtx,
2639 WDI_EventInfoType* pEventData
2640);
2641
2642/**
2643 @brief Process Add STA self Request function (called when Main FSM
2644 allows it)
2645
2646 @param pWDICtx: pointer to the WLAN DAL context
2647 pEventData: pointer to the event information structure
2648
2649 @see
2650 @return Result of the function call
2651*/
2652WDI_Status
2653WDI_ProcessAddSTASelfReq
2654(
2655 WDI_ControlBlockType* pWDICtx,
2656 WDI_EventInfoType* pEventData
2657);
2658
2659/**
2660 @brief Process Del Sta Self Request function (called when Main
2661 FSM allows it)
2662
2663 @param pWDICtx: pointer to the WLAN DAL context
2664 pEventData: pointer to the event information structure
2665
2666 @see
2667 @return Result of the function call
2668*/
2669WDI_Status
2670WDI_ProcessDelSTASelfReq
2671(
2672 WDI_ControlBlockType* pWDICtx,
2673 WDI_EventInfoType* pEventData
2674);
2675
2676/**
2677 @brief Process set Tx Per Tracking configurations Request function (called
2678 when Main FSM allows it)
2679
2680 @param pWDICtx: pointer to the WLAN DAL context
2681 pEventData: pointer to the event information structure
2682
2683 @see
2684 @return Result of the function call
2685*/
2686WDI_Status
2687WDI_ProcessSetTxPerTrackingReq
2688(
2689 WDI_ControlBlockType* pWDICtx,
2690 WDI_EventInfoType* pEventData
2691);
2692
2693/**
2694 @brief Process Set Power Params Request function
2695
2696 @param pWDICtx: pointer to the WLAN DAL context
2697 pEventData: pointer to the event information structure
2698
2699 @see
2700 @return Result of the function call
2701*/
2702WDI_Status
2703WDI_ProcessSetPowerParamsReq
2704(
2705 WDI_ControlBlockType* pWDICtx,
2706 WDI_EventInfoType* pEventData
2707);
2708
2709/**
2710 @brief Process Set Thermal Mitigation level Changed request
2711
2712 @param pWDICtx: pointer to the WLAN DAL context
2713 pEventData: pointer to the event information structure
2714
2715 @see
2716 @return Result of the function call
2717*/
2718WDI_Status
2719WDI_ProcessSetTmLevelReq
2720(
2721 WDI_ControlBlockType* pWDICtx,
2722 WDI_EventInfoType* pEventData
2723);
2724
2725/*=========================================================================
2726 Indications
2727=========================================================================*/
2728
2729/**
2730 @brief Process Suspend Indications function (called when Main FSM allows it)
2731
2732 @param pWDICtx: pointer to the WLAN DAL context
2733 pEventData: pointer to the event information structure
2734
2735 @see
2736 @return Result of the function call
2737*/
2738WDI_Status
2739WDI_ProcessHostSuspendInd
2740(
2741 WDI_ControlBlockType* pWDICtx,
2742 WDI_EventInfoType* pEventData
2743);
2744
2745
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08002746/**
2747 @brief Process Traffic Stats Indications function (called when Main FSM allows it)
2748
2749 @param pWDICtx: pointer to the WLAN DAL context
2750 pEventData: pointer to the event information structure
2751
2752 @see
2753 @return Result of the function call
2754*/
2755WDI_Status
2756WDI_ProcessTrafficStatsInd
2757(
2758 WDI_ControlBlockType* pWDICtx,
2759 WDI_EventInfoType* pEventData
2760);
Chet Lanctot186b5732013-03-18 10:26:30 -07002761
2762#ifdef WLAN_FEATURE_11W
2763/**
2764 @brief Process Exclude Unencrypted Indications function (called
2765 when Main FSM allows it)
2766
2767 @param pWDICtx: pointer to the WLAN DAL context
2768 pEventData: pointer to the event information structure
2769
2770 @see
2771 @return Result of the function call
2772*/
2773WDI_Status
2774WDI_ProcessExcludeUnencryptInd
2775(
2776 WDI_ControlBlockType* pWDICtx,
2777 WDI_EventInfoType* pEventData
2778);
2779#endif
2780
Jeff Johnson295189b2012-06-20 16:38:30 -07002781/*========================================================================
2782 Main DAL Control Path Response Processing API
2783========================================================================*/
2784
2785
2786/**
2787 @brief Process Start Response function (called when a response
2788 is being received over the bus from HAL)
2789
2790 @param pWDICtx: pointer to the WLAN DAL context
2791 pEventData: pointer to the event information structure
2792
2793 @see
2794 @return Result of the function call
2795*/
2796WDI_Status
2797WDI_ProcessStartRsp
2798(
2799 WDI_ControlBlockType* pWDICtx,
2800 WDI_EventInfoType* pEventData
2801);
2802
2803
2804/**
2805 @brief Process Stop Response function (called when a response
2806 is being received over the bus from HAL)
2807
2808 @param pWDICtx: pointer to the WLAN DAL context
2809 pEventData: pointer to the event information structure
2810
2811 @see
2812 @return Result of the function call
2813*/
2814WDI_Status
2815WDI_ProcessStopRsp
2816(
2817 WDI_ControlBlockType* pWDICtx,
2818 WDI_EventInfoType* pEventData
2819);
2820
2821
2822/**
2823 @brief Process Close Rsp function (called when a response
2824 is being received over the bus from HAL)
2825
2826 @param pWDICtx: pointer to the WLAN DAL context
2827 pEventData: pointer to the event information structure
2828
2829 @see
2830 @return Result of the function call
2831*/
2832WDI_Status
2833WDI_ProcessCloseRsp
2834(
2835 WDI_ControlBlockType* pWDICtx,
2836 WDI_EventInfoType* pEventData
2837);
2838
2839/**
2840 @brief Process Shutdown Rsp function
2841 There is no shutdown response comming from HAL
2842 - function just kept for simmetry
2843
2844 @param pWDICtx: pointer to the WLAN DAL context
2845 pEventData: pointer to the event information structure
2846
2847 @see
2848 @return Result of the function call
2849*/
2850WDI_Status
2851WDI_ProcessShutdownRsp
2852(
2853 WDI_ControlBlockType* pWDICtx,
2854 WDI_EventInfoType* pEventData
2855);
2856
2857/**
2858 @brief Process Init Scan Rsp function (called when a response
2859 is being received over the bus from HAL)
2860
2861 @param pWDICtx: pointer to the WLAN DAL context
2862 pEventData: pointer to the event information structure
2863
2864 @see
2865 @return Result of the function call
2866*/
2867WDI_Status
2868WDI_ProcessInitScanRsp
2869(
2870 WDI_ControlBlockType* pWDICtx,
2871 WDI_EventInfoType* pEventData
2872);
2873
2874
2875/**
2876 @brief Process Start Scan Rsp function (called when a response
2877 is being received over the bus from HAL)
2878
2879 @param pWDICtx: pointer to the WLAN DAL context
2880 pEventData: pointer to the event information structure
2881
2882 @see
2883 @return Result of the function call
2884*/
2885WDI_Status
2886WDI_ProcessStartScanRsp
2887(
2888 WDI_ControlBlockType* pWDICtx,
2889 WDI_EventInfoType* pEventData
2890);
2891
2892
2893/**
2894 @brief Process End Scan Response function (called when a
2895 response is being received over the bus from HAL)
2896
2897 @param pWDICtx: pointer to the WLAN DAL context
2898 pEventData: pointer to the event information structure
2899
2900 @see
2901 @return Result of the function call
2902*/
2903WDI_Status
2904WDI_ProcessEndScanRsp
2905(
2906 WDI_ControlBlockType* pWDICtx,
2907 WDI_EventInfoType* pEventData
2908);
2909
2910
2911/**
2912 @brief Process Finish Scan Response function (called when a
2913 response is being received over the bus from HAL)
2914
2915 @param pWDICtx: pointer to the WLAN DAL context
2916 pEventData: pointer to the event information structure
2917
2918 @see
2919 @return Result of the function call
2920*/
2921WDI_Status
2922WDI_ProcessFinishScanRsp
2923(
2924 WDI_ControlBlockType* pWDICtx,
2925 WDI_EventInfoType* pEventData
2926);
2927
2928
2929/**
2930 @brief Process Join Response function (called when a response
2931 is being received over the bus from HAL)
2932
2933 @param pWDICtx: pointer to the WLAN DAL context
2934 pEventData: pointer to the event information structure
2935
2936 @see
2937 @return Result of the function call
2938*/
2939WDI_Status
2940WDI_ProcessJoinRsp
2941(
2942 WDI_ControlBlockType* pWDICtx,
2943 WDI_EventInfoType* pEventData
2944);
2945
2946
2947/**
2948 @brief Process Config BSS Response function (called when a
2949 response is being received over the bus from HAL)
2950
2951 @param pWDICtx: pointer to the WLAN DAL context
2952 pEventData: pointer to the event information structure
2953
2954 @see
2955 @return Result of the function call
2956*/
2957WDI_Status
2958WDI_ProcessConfigBSSRsp
2959(
2960 WDI_ControlBlockType* pWDICtx,
2961 WDI_EventInfoType* pEventData
2962);
2963
2964
2965/**
2966 @brief Process Del BSS Response function (called when a response
2967 is being received over the bus from HAL)
2968
2969 @param pWDICtx: pointer to the WLAN DAL context
2970 pEventData: pointer to the event information structure
2971
2972 @see
2973 @return Result of the function call
2974*/
2975WDI_Status
2976WDI_ProcessDelBSSRsp
2977(
2978 WDI_ControlBlockType* pWDICtx,
2979 WDI_EventInfoType* pEventData
2980);
2981
2982/**
2983 @brief Process Post Assoc Rsp function (called when a response
2984 is being received over the bus from HAL)
2985
2986 @param pWDICtx: pointer to the WLAN DAL context
2987 pEventData: pointer to the event information structure
2988
2989 @see
2990 @return Result of the function call
2991*/
2992WDI_Status
2993WDI_ProcessPostAssocRsp
2994(
2995 WDI_ControlBlockType* pWDICtx,
2996 WDI_EventInfoType* pEventData
2997);
2998
2999/**
3000 @brief Process Del STA Key Rsp function (called when a response
3001 is being received over the bus from HAL)
3002
3003 @param pWDICtx: pointer to the WLAN DAL context
3004 pEventData: pointer to the event information structure
3005
3006 @see
3007 @return Result of the function call
3008*/
3009WDI_Status
3010WDI_ProcessDelSTARsp
3011(
3012 WDI_ControlBlockType* pWDICtx,
3013 WDI_EventInfoType* pEventData
3014);
3015
3016/**
3017 @brief Process Set BSS Key Rsp function (called when a response
3018 is being received over the bus from HAL)
3019
3020 @param pWDICtx: pointer to the WLAN DAL context
3021 pEventData: pointer to the event information structure
3022
3023 @see
3024 @return Result of the function call
3025*/
3026WDI_Status
3027WDI_ProcessSetBssKeyRsp
3028(
3029 WDI_ControlBlockType* pWDICtx,
3030 WDI_EventInfoType* pEventData
3031);
3032
3033/**
3034 @brief Process Remove BSS Key Rsp function (called when a response
3035 is being received over the bus from HAL)
3036
3037 @param pWDICtx: pointer to the WLAN DAL context
3038 pEventData: pointer to the event information structure
3039
3040 @see
3041 @return Result of the function call
3042*/
3043WDI_Status
3044WDI_ProcessRemoveBssKeyRsp
3045(
3046 WDI_ControlBlockType* pWDICtx,
3047 WDI_EventInfoType* pEventData
3048);
3049
3050
3051/**
3052 @brief Process Set STA Key Rsp function (called when a response
3053 is being received over the bus from HAL)
3054
3055 @param pWDICtx: pointer to the WLAN DAL context
3056 pEventData: pointer to the event information structure
3057
3058 @see
3059 @return Result of the function call
3060*/
3061WDI_Status
3062WDI_ProcessSetStaKeyRsp
3063(
3064 WDI_ControlBlockType* pWDICtx,
3065 WDI_EventInfoType* pEventData
3066);
3067
3068/**
3069 @brief Process Remove STA Key Rsp function (called when a
3070 response is being received over the bus from HAL)
3071
3072 @param pWDICtx: pointer to the WLAN DAL context
3073 pEventData: pointer to the event information structure
3074
3075 @see
3076 @return Result of the function call
3077*/
3078WDI_Status
3079WDI_ProcessRemoveStaKeyRsp
3080(
3081 WDI_ControlBlockType* pWDICtx,
3082 WDI_EventInfoType* pEventData
3083);
3084
3085
3086/**
3087 @brief Process Set STA Bcast Key Rsp function (called when a
3088 response is being received over the bus from HAL)
3089
3090 @param pWDICtx: pointer to the WLAN DAL context
3091 pEventData: pointer to the event information structure
3092
3093 @see
3094 @return Result of the function call
3095*/
3096WDI_Status
3097WDI_ProcessSetStaBcastKeyRsp
3098(
3099 WDI_ControlBlockType* pWDICtx,
3100 WDI_EventInfoType* pEventData
3101);
3102
3103/**
3104 @brief Process Remove STA Bcast Key Rsp function (called when a
3105 response is being received over the bus from HAL)
3106
3107 @param pWDICtx: pointer to the WLAN DAL context
3108 pEventData: pointer to the event information structure
3109
3110 @see
3111 @return Result of the function call
3112*/
3113WDI_Status
3114WDI_ProcessRemoveStaBcastKeyRsp
3115(
3116 WDI_ControlBlockType* pWDICtx,
3117 WDI_EventInfoType* pEventData
3118);
3119
3120/**
3121 @brief Process Add TSpec Rsp function (called when a response
3122 is being received over the bus from HAL)
3123
3124 @param pWDICtx: pointer to the WLAN DAL context
3125 pEventData: pointer to the event information structure
3126
3127 @see
3128 @return Result of the function call
3129*/
3130WDI_Status
3131WDI_ProcessAddTSpecRsp
3132(
3133 WDI_ControlBlockType* pWDICtx,
3134 WDI_EventInfoType* pEventData
3135);
3136
3137
3138/**
3139 @brief Process Del TSpec Rsp function (called when a response
3140 is being received over the bus from HAL)
3141
3142 @param pWDICtx: pointer to the WLAN DAL context
3143 pEventData: pointer to the event information structure
3144
3145 @see
3146 @return Result of the function call
3147*/
3148WDI_Status
3149WDI_ProcessDelTSpecRsp
3150(
3151 WDI_ControlBlockType* pWDICtx,
3152 WDI_EventInfoType* pEventData
3153);
3154
3155/**
3156 @brief Process Update EDCA Parameters Rsp function (called when a
3157 response is being received over the bus from HAL)
3158
3159 @param pWDICtx: pointer to the WLAN DAL context
3160 pEventData: pointer to the event information structure
3161
3162 @see
3163 @return Result of the function call
3164*/
3165WDI_Status
3166WDI_ProcessUpdateEDCAParamsRsp
3167(
3168 WDI_ControlBlockType* pWDICtx,
3169 WDI_EventInfoType* pEventData
3170);
3171
3172
3173/**
3174 @brief Process Add BA Rsp function (called when a response
3175 is being received over the bus from HAL)
3176
3177 @param pWDICtx: pointer to the WLAN DAL context
3178 pEventData: pointer to the event information structure
3179
3180 @see
3181 @return Result of the function call
3182*/
3183WDI_Status
3184WDI_ProcessAddBASessionRsp
3185(
3186 WDI_ControlBlockType* pWDICtx,
3187 WDI_EventInfoType* pEventData
3188);
3189
3190
3191/**
3192 @brief Process Del BA Rsp function (called when a response
3193 is being received over the bus from HAL)
3194
3195 @param pWDICtx: pointer to the WLAN DAL context
3196 pEventData: pointer to the event information structure
3197
3198 @see
3199 @return Result of the function call
3200*/
3201WDI_Status
3202WDI_ProcessDelBARsp
3203(
3204 WDI_ControlBlockType* pWDICtx,
3205 WDI_EventInfoType* pEventData
3206);
3207
3208#ifdef FEATURE_WLAN_CCX
3209/**
3210 @brief Process TSM stats Rsp function (called when a response
3211 is being received over the bus from HAL)
3212
3213 @param pWDICtx: pointer to the WLAN DAL context
3214 pEventData: pointer to the event information structure
3215
3216 @see
3217 @return Result of the function call
3218*/
3219WDI_Status
3220WDI_ProcessTsmStatsRsp
3221(
3222 WDI_ControlBlockType* pWDICtx,
3223 WDI_EventInfoType* pEventData
3224);
3225
3226#endif
3227
3228
3229/**
3230 @brief Process Channel Switch Rsp function (called when a response
3231 is being received over the bus from HAL)
3232
3233 @param pWDICtx: pointer to the WLAN DAL context
3234 pEventData: pointer to the event information structure
3235
3236 @see
3237 @return Result of the function call
3238*/
3239WDI_Status
3240WDI_ProcessChannelSwitchRsp
3241(
3242 WDI_ControlBlockType* pWDICtx,
3243 WDI_EventInfoType* pEventData
3244);
3245
3246
3247/**
3248 @brief Process Config STA Rsp function (called when a response
3249 is being received over the bus from HAL)
3250
3251 @param pWDICtx: pointer to the WLAN DAL context
3252 pEventData: pointer to the event information structure
3253
3254 @see
3255 @return Result of the function call
3256*/
3257WDI_Status
3258WDI_ProcessConfigStaRsp
3259(
3260 WDI_ControlBlockType* pWDICtx,
3261 WDI_EventInfoType* pEventData
3262);
3263
3264
3265/**
3266 @brief Process Set Link State Rsp function (called when a
3267 response is being received over the bus from HAL)
3268
3269 @param pWDICtx: pointer to the WLAN DAL context
3270 pEventData: pointer to the event information structure
3271
3272 @see
3273 @return Result of the function call
3274*/
3275WDI_Status
3276WDI_ProcessSetLinkStateRsp
3277(
3278 WDI_ControlBlockType* pWDICtx,
3279 WDI_EventInfoType* pEventData
3280);
3281
3282/**
3283 @brief Process Get Stats Rsp function (called when a response is
3284 being received over the bus from HAL)
3285
3286 @param pWDICtx: pointer to the WLAN DAL context
3287 pEventData: pointer to the event information structure
3288
3289 @see
3290 @return Result of the function call
3291*/
3292WDI_Status
3293WDI_ProcessGetStatsRsp
3294(
3295 WDI_ControlBlockType* pWDICtx,
3296 WDI_EventInfoType* pEventData
3297);
3298
3299
3300/**
3301 @brief Process Update Cfg Rsp function (called when a response is
3302 being received over the bus from HAL)
3303
3304 @param pWDICtx: pointer to the WLAN DAL context
3305 pEventData: pointer to the event information structure
3306
3307 @see
3308 @return Result of the function call
3309*/
3310WDI_Status
3311WDI_ProcessUpdateCfgRsp
3312(
3313 WDI_ControlBlockType* pWDICtx,
3314 WDI_EventInfoType* pEventData
3315);
3316
3317/**
3318 @brief Process Add BA Rsp function (called when a response
3319 is being received over the bus from HAL)
3320
3321 @param pWDICtx: pointer to the WLAN DAL context
3322 pEventData: pointer to the event information structure
3323
3324 @see
3325 @return Result of the function call
3326*/
3327WDI_Status
3328WDI_ProcessAddBARsp
3329(
3330 WDI_ControlBlockType* pWDICtx,
3331 WDI_EventInfoType* pEventData
3332);
3333
3334/**
3335 @brief Process Add BA Rsp function (called when a response
3336 is being received over the bus from HAL)
3337
3338 @param pWDICtx: pointer to the WLAN DAL context
3339 pEventData: pointer to the event information structure
3340
3341 @see
3342 @return Result of the function call
3343*/
3344WDI_Status
3345WDI_ProcessTriggerBARsp
3346(
3347 WDI_ControlBlockType* pWDICtx,
3348 WDI_EventInfoType* pEventData
3349);
3350
3351/**
3352 @brief Process Update Beacon Params Rsp function (called when a response is
3353 being received over the bus from HAL)
3354
3355 @param pWDICtx: pointer to the WLAN DAL context
3356 pEventData: pointer to the event information structure
3357
3358 @see
3359 @return Result of the function call
3360*/
3361WDI_Status
3362WDI_ProcessUpdateBeaconParamsRsp
3363(
3364 WDI_ControlBlockType* pWDICtx,
3365 WDI_EventInfoType* pEventData
3366);
3367
3368/**
3369 @brief Process Send Beacon template Rsp function (called when a response is
3370 being received over the bus from HAL)
3371
3372 @param pWDICtx: pointer to the WLAN DAL context
3373 pEventData: pointer to the event information structure
3374
3375 @see
3376 @return Result of the function call
3377*/
3378WDI_Status
3379WDI_ProcessSendBeaconParamsRsp
3380(
3381 WDI_ControlBlockType* pWDICtx,
3382 WDI_EventInfoType* pEventData
3383);
3384
3385/**
3386 @brief Process Update Probe Resp Template Rsp function (called
3387 when a response is being received over the bus from HAL)
3388
3389 @param pWDICtx: pointer to the WLAN DAL context
3390 pEventData: pointer to the event information structure
3391
3392 @see
3393 @return Result of the function call
3394*/
3395WDI_Status
3396WDI_ProcessUpdateProbeRspTemplateRsp
3397(
3398 WDI_ControlBlockType* pWDICtx,
3399 WDI_EventInfoType* pEventData
3400);
3401 /**
3402 @brief Process Set Max Tx Power Rsp function (called when a response
3403 is being received over the bus from HAL)
3404
3405 @param pWDICtx: pointer to the WLAN DAL context
3406 pEventData: pointer to the event information structure
3407
3408 @see
3409 @return Result of the function call
3410*/
3411WDI_Status
3412WDI_ProcessSetMaxTxPowerRsp
3413(
3414 WDI_ControlBlockType* pWDICtx,
3415 WDI_EventInfoType* pEventData
3416);
3417
schang86c22c42013-03-13 18:41:24 -07003418 /**
3419 @brief Process Set Tx Power Rsp function (called when a response
3420 is being received over the bus from HAL)
3421
3422 @param pWDICtx: pointer to the WLAN DAL context
3423 pEventData: pointer to the event information structure
3424
3425 @see
3426 @return Result of the function call
3427*/
3428WDI_Status
3429WDI_ProcessSetTxPowerRsp
3430(
3431 WDI_ControlBlockType* pWDICtx,
3432 WDI_EventInfoType* pEventData
3433);
3434
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303435 /**
3436 @brief Process TDLS Link Establish Req Rsp function (called when a response
3437 is being received over the bus from HAL)
3438
3439 @param pWDICtx: pointer to the WLAN DAL context
3440 pEventData: pointer to the event information structure
3441
3442 @see
3443 @return Result of the function call
3444*/
3445WDI_Status
3446WDI_ProcessLinkEstablishReqRsp
3447(
3448 WDI_ControlBlockType* pWDICtx,
3449 WDI_EventInfoType* pEventData
3450);
3451
Jeff Johnson295189b2012-06-20 16:38:30 -07003452/**
3453 @brief Process Nv download(called when a response
3454 is being received over the bus from HAL)
3455
3456 @param pWDICtx: pointer to the WLAN DAL context
3457 pEventData: pointer to the event information structure
3458
3459 @see
3460 @return Result of the function call
3461*/
3462WDI_Status
3463WDI_ProcessNvDownloadRsp
3464(
3465 WDI_ControlBlockType* pWDICtx,
3466 WDI_EventInfoType* pEventData
3467);
3468
Jeff Johnson295189b2012-06-20 16:38:30 -07003469/**
3470 @brief Process P2P Group Owner Notice Of Absense Rsp function (called
3471 when a response is being received over the bus from HAL)
3472
3473 @param pWDICtx: pointer to the WLAN DAL context
3474 pEventData: pointer to the event information structure
3475
3476 @see
3477 @return Result of the function call
3478*/
3479WDI_Status
3480WDI_ProcessP2PGONOARsp
3481(
3482 WDI_ControlBlockType* pWDICtx,
3483 WDI_EventInfoType* pEventData
3484);
Jeff Johnson295189b2012-06-20 16:38:30 -07003485
3486/**
3487 @brief Process Enter IMPS Rsp function (called when a response
3488 is being received over the bus from HAL)
3489
3490 @param pWDICtx: pointer to the WLAN DAL context
3491 pEventData: pointer to the event information structure
3492
3493 @see
3494 @return Result of the function call
3495*/
3496WDI_Status
3497WDI_ProcessEnterImpsRsp
3498(
3499 WDI_ControlBlockType* pWDICtx,
3500 WDI_EventInfoType* pEventData
3501);
3502
3503/**
3504 @brief Process Exit IMPS Rsp function (called when a response
3505 is being received over the bus from HAL)
3506
3507 @param pWDICtx: pointer to the WLAN DAL context
3508 pEventData: pointer to the event information structure
3509
3510 @see
3511 @return Result of the function call
3512*/
3513WDI_Status
3514WDI_ProcessExitImpsRsp
3515(
3516 WDI_ControlBlockType* pWDICtx,
3517 WDI_EventInfoType* pEventData
3518);
3519
3520/**
3521 @brief Process Enter BMPS Rsp function (called when a response
3522 is being received over the bus from HAL)
3523
3524 @param pWDICtx: pointer to the WLAN DAL context
3525 pEventData: pointer to the event information structure
3526
3527 @see
3528 @return Result of the function call
3529*/
3530WDI_Status
3531WDI_ProcessEnterBmpsRsp
3532(
3533 WDI_ControlBlockType* pWDICtx,
3534 WDI_EventInfoType* pEventData
3535);
3536
3537/**
3538 @brief Process Exit BMPS Rsp function (called when a response
3539 is being received over the bus from HAL)
3540
3541 @param pWDICtx: pointer to the WLAN DAL context
3542 pEventData: pointer to the event information structure
3543
3544 @see
3545 @return Result of the function call
3546*/
3547WDI_Status
3548WDI_ProcessExitBmpsRsp
3549(
3550 WDI_ControlBlockType* pWDICtx,
3551 WDI_EventInfoType* pEventData
3552);
3553
3554/**
3555 @brief Process Enter UAPSD Rsp function (called when a response
3556 is being received over the bus from HAL)
3557
3558 @param pWDICtx: pointer to the WLAN DAL context
3559 pEventData: pointer to the event information structure
3560
3561 @see
3562 @return Result of the function call
3563*/
3564WDI_Status
3565WDI_ProcessEnterUapsdRsp
3566(
3567 WDI_ControlBlockType* pWDICtx,
3568 WDI_EventInfoType* pEventData
3569);
3570
3571/**
3572 @brief Process Exit UAPSD Rsp function (called when a response
3573 is being received over the bus from HAL)
3574
3575 @param pWDICtx: pointer to the WLAN DAL context
3576 pEventData: pointer to the event information structure
3577
3578 @see
3579 @return Result of the function call
3580*/
3581WDI_Status
3582WDI_ProcessExitUapsdRsp
3583(
3584 WDI_ControlBlockType* pWDICtx,
3585 WDI_EventInfoType* pEventData
3586);
3587
3588/**
3589 @brief Process set UAPSD params Rsp function (called when a
3590 response is being received over the bus from HAL)
3591
3592 @param pWDICtx: pointer to the WLAN DAL context
3593 pEventData: pointer to the event information structure
3594
3595 @see
3596 @return Result of the function call
3597*/
3598WDI_Status
3599WDI_ProcessSetUapsdAcParamsRsp
3600(
3601 WDI_ControlBlockType* pWDICtx,
3602 WDI_EventInfoType* pEventData
3603);
3604
3605/**
3606 @brief Process update UAPSD params Rsp function (called when a
3607 response is being received over the bus from HAL)
3608
3609 @param pWDICtx: pointer to the WLAN DAL context
3610 pEventData: pointer to the event information structure
3611
3612 @see
3613 @return Result of the function call
3614*/
3615WDI_Status
3616WDI_ProcessUpdateUapsdParamsRsp
3617(
3618 WDI_ControlBlockType* pWDICtx,
3619 WDI_EventInfoType* pEventData
3620);
3621
3622/**
3623 @brief Process Configure RXP filter Rsp function (called when a
3624 response is being received over the bus from HAL)
3625
3626 @param pWDICtx: pointer to the WLAN DAL context
3627 pEventData: pointer to the event information structure
3628
3629 @see
3630 @return Result of the function call
3631*/
3632WDI_Status
3633WDI_ProcessConfigureRxpFilterRsp
3634(
3635 WDI_ControlBlockType* pWDICtx,
3636 WDI_EventInfoType* pEventData
3637);
3638
3639/**
3640 @brief Process Set beacon filter Rsp function (called when a
3641 response is being received over the bus from HAL)
3642
3643 @param pWDICtx: pointer to the WLAN DAL context
3644 pEventData: pointer to the event information structure
3645
3646 @see
3647 @return Result of the function call
3648*/
3649WDI_Status
3650WDI_ProcessSetBeaconFilterRsp
3651(
3652 WDI_ControlBlockType* pWDICtx,
3653 WDI_EventInfoType* pEventData
3654);
3655
3656/**
3657 @brief Process remove beacon filter Rsp function (called when a
3658 response is being received over the bus from HAL)
3659
3660 @param pWDICtx: pointer to the WLAN DAL context
3661 pEventData: pointer to the event information structure
3662
3663 @see
3664 @return Result of the function call
3665*/
3666WDI_Status
3667WDI_ProcessRemBeaconFilterRsp
3668(
3669 WDI_ControlBlockType* pWDICtx,
3670 WDI_EventInfoType* pEventData
3671);
3672
3673/**
3674 @brief Process set RSSI thresholds Rsp function (called when a
3675 response is being received over the bus from HAL)
3676
3677 @param pWDICtx: pointer to the WLAN DAL context
3678 pEventData: pointer to the event information structure
3679
3680 @see
3681 @return Result of the function call
3682*/
3683WDI_Status
3684WDI_ProcessSetRSSIThresoldsRsp
3685(
3686 WDI_ControlBlockType* pWDICtx,
3687 WDI_EventInfoType* pEventData
3688);
3689
3690/**
3691 @brief Process host offload Rsp function (called when a
3692 response is being received over the bus from HAL)
3693
3694 @param pWDICtx: pointer to the WLAN DAL context
3695 pEventData: pointer to the event information structure
3696
3697 @see
3698 @return Result of the function call
3699*/
3700WDI_Status
3701WDI_ProcessHostOffloadRsp
3702(
3703 WDI_ControlBlockType* pWDICtx,
3704 WDI_EventInfoType* pEventData
3705);
3706
3707/**
3708 @brief Process Keep Alive Rsp function (called when a
3709 response is being received over the bus from HAL)
3710
3711 @param pWDICtx: pointer to the WLAN DAL context
3712 pEventData: pointer to the event information structure
3713
3714 @see
3715 @return Result of the function call
3716*/
3717WDI_Status
3718WDI_ProcessKeepAliveRsp
3719(
3720 WDI_ControlBlockType* pWDICtx,
3721 WDI_EventInfoType* pEventData
3722);
3723
3724
3725/**
3726 @brief Process wowl add ptrn Rsp function (called when a
3727 response is being received over the bus from HAL)
3728
3729 @param pWDICtx: pointer to the WLAN DAL context
3730 pEventData: pointer to the event information structure
3731
3732 @see
3733 @return Result of the function call
3734*/
3735WDI_Status
3736WDI_ProcessWowlAddBcPtrnRsp
3737(
3738 WDI_ControlBlockType* pWDICtx,
3739 WDI_EventInfoType* pEventData
3740);
3741
3742/**
3743 @brief Process wowl delete ptrn Rsp function (called when a
3744 response is being received over the bus from HAL)
3745
3746 @param pWDICtx: pointer to the WLAN DAL context
3747 pEventData: pointer to the event information structure
3748
3749 @see
3750 @return Result of the function call
3751*/
3752WDI_Status
3753WDI_ProcessWowlDelBcPtrnRsp
3754(
3755 WDI_ControlBlockType* pWDICtx,
3756 WDI_EventInfoType* pEventData
3757);
3758
3759/**
3760 @brief Process wowl enter Rsp function (called when a response
3761 is being received over the bus from HAL)
3762
3763 @param pWDICtx: pointer to the WLAN DAL context
3764 pEventData: pointer to the event information structure
3765
3766 @see
3767 @return Result of the function call
3768*/
3769WDI_Status
3770WDI_ProcessWowlEnterRsp
3771(
3772 WDI_ControlBlockType* pWDICtx,
3773 WDI_EventInfoType* pEventData
3774);
3775
3776/**
3777 @brief Process wowl exit Rsp function (called when a response
3778 is being received over the bus from HAL)
3779
3780 @param pWDICtx: pointer to the WLAN DAL context
3781 pEventData: pointer to the event information structure
3782
3783 @see
3784 @return Result of the function call
3785*/
3786WDI_Status
3787WDI_ProcessWowlExitRsp
3788(
3789 WDI_ControlBlockType* pWDICtx,
3790 WDI_EventInfoType* pEventData
3791);
3792
3793/**
3794 @brief Process Configure Apps CPU wakeup State Rsp function
3795 (called when a response is being received over the bus
3796 from HAL)
3797
3798 @param pWDICtx: pointer to the WLAN DAL context
3799 pEventData: pointer to the event information structure
3800
3801 @see
3802 @return Result of the function call
3803*/
3804WDI_Status
3805WDI_ProcessConfigureAppsCpuWakeupStateRsp
3806(
3807 WDI_ControlBlockType* pWDICtx,
3808 WDI_EventInfoType* pEventData
3809);
3810/**
3811 @brief Process Flush AC Rsp function (called when a response
3812 is being received over the bus from HAL)
3813
3814 @param pWDICtx: pointer to the WLAN DAL context
3815 pEventData: pointer to the event information structure
3816
3817 @see
3818 @return Result of the function call
3819*/
3820WDI_Status
3821WDI_ProcessFlushAcRsp
3822(
3823 WDI_ControlBlockType* pWDICtx,
3824 WDI_EventInfoType* pEventData
3825);
3826
3827/**
3828 @brief Process BT AMP event Rsp function (called when a
3829 response is being received over the bus from HAL)
3830
3831 @param pWDICtx: pointer to the WLAN DAL context
3832 pEventData: pointer to the event information structure
3833
3834 @see
3835 @return Result of the function call
3836*/
3837WDI_Status
3838WDI_ProcessBtAmpEventRsp
3839(
3840 WDI_ControlBlockType* pWDICtx,
3841 WDI_EventInfoType* pEventData
3842);
3843
3844/**
3845 @brief Process ADD SELF STA Rsp function (called
3846 when a response is being received over the bus from HAL)
3847
3848 @param pWDICtx: pointer to the WLAN DAL context
3849 pEventData: pointer to the event information structure
3850
3851 @see
3852 @return Result of the function call
3853*/
3854WDI_Status
3855WDI_ProcessAddSTASelfRsp
3856(
3857 WDI_ControlBlockType* pWDICtx,
3858 WDI_EventInfoType* pEventData
3859);
3860
3861 /**
3862 @brief WDI_ProcessDelSTASelfRsp function (called when a
3863 response is being received over the bus from HAL)
3864
3865 @param pWDICtx: pointer to the WLAN DAL context
3866 pEventData: pointer to the event information structure
3867
3868 @see
3869 @return Result of the function call
3870*/
3871WDI_Status
3872WDI_ProcessDelSTASelfRsp
3873(
3874 WDI_ControlBlockType* pWDICtx,
3875 WDI_EventInfoType* pEventData
3876);
3877
Jeff Johnsone7245742012-09-05 17:12:55 -07003878#ifdef FEATURE_OEM_DATA_SUPPORT
3879/**
3880 @brief Start Oem Data Rsp function (called when a
3881 response is being received over the bus from HAL)
3882
3883 @param pWDICtx: pointer to the WLAN DAL context
3884 pEventData: pointer to the event information structure
3885
3886 @see
3887 @return Result of the function call
3888*/
3889WDI_Status
3890WDI_ProcessStartOemDataRsp
3891(
3892 WDI_ControlBlockType* pWDICtx,
3893 WDI_EventInfoType* pEventData
3894);
3895#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003896
3897 /**
3898 @brief WDI_ProcessHostResumeRsp function (called when a
3899 response is being received over the bus from HAL)
3900
3901 @param pWDICtx: pointer to the WLAN DAL context
3902 pEventData: pointer to the event information structure
3903
3904 @see
3905 @return Result of the function call
3906*/
3907WDI_Status
3908WDI_ProcessHostResumeRsp
3909(
3910 WDI_ControlBlockType* pWDICtx,
3911 WDI_EventInfoType* pEventData
3912);
3913
3914/**
3915 @brief Process set tx per tracking Rsp function (called when a
3916 response is being received over the bus from HAL)
3917
3918 @param pWDICtx: pointer to the WLAN DAL context
3919 pEventData: pointer to the event information structure
3920
3921 @see
3922 @return Result of the function call
3923*/
3924WDI_Status
3925WDI_ProcessSetTxPerTrackingRsp
3926(
3927 WDI_ControlBlockType* pWDICtx,
3928 WDI_EventInfoType* pEventData
3929);
3930
3931/**
3932 @brief Process Power Params Rsp function (called when a
3933 response is being received over the bus from HAL)
3934
3935 @param pWDICtx: pointer to the WLAN DAL context
3936 pEventData: pointer to the event information structure
3937
3938 @see
3939 @return Result of the function call
3940*/
3941WDI_Status
3942WDI_ProcessSetPowerParamsRsp
3943(
3944 WDI_ControlBlockType* pWDICtx,
3945 WDI_EventInfoType* pEventData
3946);
3947
3948/**
3949 @brief Process Set TM Level Rsp function (called when a
3950 response is being received over the bus from HAL)
3951
3952 @param pWDICtx: pointer to the WLAN DAL context
3953 pEventData: pointer to the event information structure
3954
3955 @see
3956 @return Result of the function call
3957*/
3958WDI_Status
3959WDI_ProcessSetTmLevelRsp
3960(
3961 WDI_ControlBlockType* pWDICtx,
3962 WDI_EventInfoType* pEventData
3963);
3964
3965/*==========================================================================
3966 Indications from HAL
3967 ==========================================================================*/
3968/**
3969 @brief Process Low RSSI Indication function (called when an
3970 indication of this kind is being received over the bus
3971 from HAL)
3972
3973 @param pWDICtx: pointer to the WLAN DAL context
3974 pEventData: pointer to the event information structure
3975
3976 @see
3977 @return Result of the function call
3978*/
3979WDI_Status
3980WDI_ProcessLowRSSIInd
3981(
3982 WDI_ControlBlockType* pWDICtx,
3983 WDI_EventInfoType* pEventData
3984);
3985
3986/**
3987 @brief Process Missed Beacon Indication function (called when
3988 an indication of this kind is being received over the
3989 bus from HAL)
3990
3991 @param pWDICtx: pointer to the WLAN DAL context
3992 pEventData: pointer to the event information structure
3993
3994 @see
3995 @return Result of the function call
3996*/
3997WDI_Status
3998WDI_ProcessMissedBeaconInd
3999(
4000 WDI_ControlBlockType* pWDICtx,
4001 WDI_EventInfoType* pEventData
4002);
4003
4004
4005/**
4006 @brief Process Unk Addr Frame Indication function (called when
4007 an indication of this kind is being received over the
4008 bus from HAL)
4009
4010 @param pWDICtx: pointer to the WLAN DAL context
4011 pEventData: pointer to the event information structure
4012
4013 @see
4014 @return Result of the function call
4015*/
4016WDI_Status
4017WDI_ProcessUnkAddrFrameInd
4018(
4019 WDI_ControlBlockType* pWDICtx,
4020 WDI_EventInfoType* pEventData
4021);
4022
4023
4024/**
4025 @brief Process MIC Failure Indication function (called when an
4026 indication of this kind is being received over the bus
4027 from HAL)
4028
4029 @param pWDICtx: pointer to the WLAN DAL context
4030 pEventData: pointer to the event information structure
4031
4032 @see
4033 @return Result of the function call
4034*/
4035WDI_Status
4036WDI_ProcessMicFailureInd
4037(
4038 WDI_ControlBlockType* pWDICtx,
4039 WDI_EventInfoType* pEventData
4040);
4041
4042/**
4043 @brief Process Fatal Failure Indication function (called when
4044 an indication of this kind is being received over the
4045 bus from HAL)
4046
4047 @param pWDICtx: pointer to the WLAN DAL context
4048 pEventData: pointer to the event information structure
4049
4050 @see
4051 @return Result of the function call
4052*/
4053WDI_Status
4054WDI_ProcessFatalErrorInd
4055(
4056 WDI_ControlBlockType* pWDICtx,
4057 WDI_EventInfoType* pEventData
4058);
4059
4060/**
4061 @brief Process Delete STA Indication function (called when
4062 an indication of this kind is being received over the
4063 bus from HAL)
4064
4065 @param pWDICtx: pointer to the WLAN DAL context
4066 pEventData: pointer to the event information structure
4067
4068 @see
4069 @return Result of the function call
4070*/
4071WDI_Status
4072WDI_ProcessDelSTAInd
4073(
4074 WDI_ControlBlockType* pWDICtx,
4075 WDI_EventInfoType* pEventData
4076);
4077
4078/**
4079*@brief Process Coex Indication function (called when
4080 an indication of this kind is being received over the
4081 bus from HAL)
4082
4083 @param pWDICtx: pointer to the WLAN DAL context
4084 pEventData: pointer to the event information structure
4085
4086 @see
4087 @return Result of the function call
4088*/
4089WDI_Status
4090WDI_ProcessCoexInd
4091(
4092 WDI_ControlBlockType* pWDICtx,
4093 WDI_EventInfoType* pEventData
4094);
4095
4096/**
4097*@brief Process Tx Complete Indication function (called when
4098 an indication of this kind is being received over the
4099 bus from HAL)
4100
4101 @param pWDICtx: pointer to the WLAN DAL context
4102 pEventData: pointer to the event information structure
4103
4104 @see
4105 @return Result of the function call
4106*/
4107WDI_Status
4108WDI_ProcessTxCompleteInd
4109(
4110 WDI_ControlBlockType* pWDICtx,
4111 WDI_EventInfoType* pEventData
4112);
4113
Jeff Johnson295189b2012-06-20 16:38:30 -07004114/**
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304115*@brief Process Tdls Indication function (called when
4116 an indication of this kind is being received over the
4117 bus from HAL)
4118
4119 @param pWDICtx: pointer to the WLAN DAL context
4120 pEventData: pointer to the event information structure
4121
4122 @see
4123 @return Result of the function call
4124*/
4125WDI_Status
4126WDI_ProcessTdlsInd
4127(
4128 WDI_ControlBlockType* pWDICtx,
4129 WDI_EventInfoType* pEventData
4130);
4131
4132/**
Viral Modid86bde22012-12-10 13:09:21 -08004133*@brief Process Noa Start Indication function (called when
4134 an indication of this kind is being received over the
4135 bus from HAL)
4136
4137 @param pWDICtx: pointer to the WLAN DAL context
4138 pEventData: pointer to the event information structure
4139
4140 @see
4141 @return Result of the function call
4142*/
4143WDI_Status
4144WDI_ProcessP2pNoaStartInd
4145(
4146 WDI_ControlBlockType* pWDICtx,
4147 WDI_EventInfoType* pEventData
4148);
4149
4150/**
Jeff Johnson295189b2012-06-20 16:38:30 -07004151*@brief Process Noa Attr Indication function (called when
4152 an indication of this kind is being received over the
4153 bus from HAL)
4154
4155 @param pWDICtx: pointer to the WLAN DAL context
4156 pEventData: pointer to the event information structure
4157
4158 @see
4159 @return Result of the function call
4160*/
4161WDI_Status
4162WDI_ProcessP2pNoaAttrInd
4163(
4164 WDI_ControlBlockType* pWDICtx,
4165 WDI_EventInfoType* pEventData
4166);
Jeff Johnson295189b2012-06-20 16:38:30 -07004167
4168/**
4169*@brief Process Tx Per Hit Indication function (called when
4170 an indication of this kind is being received over the
4171 bus from HAL)
4172
4173 @param pWDICtx: pointer to the WLAN DAL context
4174 pEventData: pointer to the event information structure
4175
4176 @see
4177 @return Result of the function call
4178*/
4179WDI_Status
4180WDI_ProcessTxPerHitInd
4181(
4182 WDI_ControlBlockType* pWDICtx,
4183 WDI_EventInfoType* pEventData
4184);
4185
4186#ifdef WLAN_FEATURE_VOWIFI_11R
4187/**
4188 @brief Process Aggrgated Add TSpec Request function (called when Main FSM
4189 allows it)
4190
4191 @param pWDICtx: pointer to the WLAN DAL context
4192 pEventData: pointer to the event information structure
4193
4194 @see
4195 @return Result of the function call
4196*/
4197WDI_Status
4198WDI_ProcessAggrAddTSpecReq
4199(
4200 WDI_ControlBlockType* pWDICtx,
4201 WDI_EventInfoType* pEventData
4202);
4203
4204/**
4205 @brief Process Add TSpec Rsp function (called when a response
4206 is being received over the bus from HAL)
4207
4208 @param pWDICtx: pointer to the WLAN DAL context
4209 pEventData: pointer to the event information structure
4210
4211 @see
4212 @return Result of the function call
4213*/
4214WDI_Status
4215WDI_ProcessAggrAddTSpecRsp
4216(
4217 WDI_ControlBlockType* pWDICtx,
4218 WDI_EventInfoType* pEventData
4219);
4220
4221#endif /* WLAN_FEATURE_VOWIFI_11R */
4222
Jeff Johnson295189b2012-06-20 16:38:30 -07004223/**
4224 @brief WDI_ProcessFTMCommandReq
4225 Process FTM Command, simply route to HAL
4226
4227 @param pWDICtx: pointer to the WLAN DAL context
4228 pEventData: pointer to the event information structure
4229
4230 @see
4231 @return Result of the function call
4232*/
4233WDI_Status
4234WDI_ProcessFTMCommandReq
4235(
4236 WDI_ControlBlockType* pWDICtx,
4237 WDI_EventInfoType* pEventData
4238);
4239
4240/**
4241 @brief WDI_ProcessFTMCommandRsp
4242 Process FTM Command Response from HAL, simply route to HDD FTM
4243
4244 @param pWDICtx: pointer to the WLAN DAL context
4245 pEventData: pointer to the event information structure
4246
4247 @see
4248 @return Result of the function call
4249*/
4250WDI_Status
4251WDI_ProcessFTMCommandRsp
4252(
4253 WDI_ControlBlockType* pWDICtx,
4254 WDI_EventInfoType* pEventData
4255);
Jeff Johnson295189b2012-06-20 16:38:30 -07004256/**
4257 @brief WDI_ProcessHALDumpCmdReq
4258 Process Hal Dump Command, simply route to HAL
4259
4260 @param pWDICtx: pointer to the WLAN DAL context
4261 pEventData: pointer to the event information structure
4262
4263 @see
4264 @return Result of the function call
4265*/
4266WDI_Status
4267WDI_ProcessHALDumpCmdReq
4268(
4269 WDI_ControlBlockType* pWDICtx,
4270 WDI_EventInfoType* pEventData
4271);
4272
4273/**
4274 @brief WDI_ProcessHALDumpCmdRsp
4275 Process Hal Dump Command Response from HAL, simply route to HDD FTM
4276
4277 @param pWDICtx: pointer to the WLAN DAL context
4278 pEventData: pointer to the event information structure
4279
4280 @see
4281 @return Result of the function call
4282*/
4283WDI_Status
4284WDI_ProcessHALDumpCmdRsp
4285(
4286 WDI_ControlBlockType* pWDICtx,
4287 WDI_EventInfoType* pEventData
4288);
4289/*========================================================================
4290 Internal Helper Routines
4291========================================================================*/
4292
4293/**
4294 @brief WDI_CleanCB - internal helper routine used to clean the
4295 WDI Main Control Block
4296
4297 @param pWDICtx - pointer to the control block
4298
4299 @return Result of the function call
4300*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004301WDI_Status
Jeff Johnson295189b2012-06-20 16:38:30 -07004302WDI_CleanCB
4303(
4304 WDI_ControlBlockType* pWDICtx
4305);
4306
4307/**
4308 @brief Main FSM Close function for all states except BUSY
4309
4310
4311 @param pWDICtx: pointer to the WLAN DAL context
4312 pEventData: pointer to the event information structure
4313
4314 @see
4315 @return Result of the function call
4316*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004317WDI_Status
Jeff Johnson295189b2012-06-20 16:38:30 -07004318WDI_ProcessRequest
4319(
4320 WDI_ControlBlockType* pWDICtx,
4321 WDI_EventInfoType* pEventData
4322);
4323
4324/**
4325 @brief Get message helper function - it allocates memory for a
4326 message that is to be sent to HAL accross the bus and
4327 prefixes it with a send message header
4328
4329 @param pWDICtx: pointer to the WLAN DAL context
4330 wdiReqType: type of the request being sent
4331 uBufferLen: message buffer len
4332 pMsgBuffer: resulting allocated buffer
4333 puDataOffset: offset in the buffer where the caller
4334 can start copying its message data
4335 puBufferSize: the resulting buffer size (offset+buff
4336 len)
4337
4338 @see
4339 @return Result of the function call
4340*/
4341WDI_Status
4342WDI_GetMessageBuffer
4343(
4344 WDI_ControlBlockType* pWDICtx,
4345 WDI_RequestEnumType wdiReqType,
4346 wpt_uint16 usBufferLen,
4347 wpt_uint8** pMsgBuffer,
4348 wpt_uint16* pusDataOffset,
4349 wpt_uint16* pusBufferSize
4350);
4351
4352/**
4353 @brief WDI_DetectedDeviceError - called internally by DAL when
4354 it has detected a failure in the device
4355
4356 @param pWDICtx: pointer to the WLAN DAL context
4357 usErrorCode: error code detected by WDI or received
4358 from HAL
4359
4360 @see
4361 @return None
4362*/
4363void
4364WDI_DetectedDeviceError
4365(
4366 WDI_ControlBlockType* pWDICtx,
4367 wpt_uint16 usErrorCode
4368);
4369
4370/*=========================================================================
4371 QUEUE SUPPORT UTILITY FUNCTIONS
4372=========================================================================*/
4373
4374/**
4375 @brief Utility function used by the DAL Core to help queue a
4376 request that cannot be processed right away.
4377 @param
4378
4379 pWDICtx: - pointer to the WDI control block
4380 pEventData: - pointer to the evnt info that needs to be
4381 queued
4382
4383 @see
4384 @return Result of the operation
4385*/
4386WDI_Status
4387WDI_QueuePendingReq
4388(
4389 WDI_ControlBlockType* pWDICtx,
4390 WDI_EventInfoType* pEventData
4391);
4392
4393/**
4394 @brief Utility function used by the DAL Core to clear any
4395 pending requests - all req cb will be called with
4396 failure and the queue will be emptied.
4397 @param
4398
4399 pWDICtx: - pointer to the WDI control block
4400
4401 @see
4402 @return Result of the operation
4403*/
4404WDI_Status
4405WDI_ClearPendingRequests
4406(
4407 WDI_ControlBlockType* pWDICtx
4408);
4409
4410/**
4411 @brief This callback is invoked by the wpt when a timer that
4412 we started on send message has expire - this should
4413 never happen - it means device is stuck and cannot
4414 reply - trigger catastrophic failure
4415 @param
4416
4417 pUserData: the callback data of the user (ptr to WDI CB)
4418
4419 @see
4420 @return None
4421*/
4422void
4423WDI_ResponseTimerCB
4424(
4425 void *pUserData
4426);
4427
4428/*==========================================================================
4429 CONTRL TRANSPORT INTERACTION
4430
4431 Callback function registered with the control transport - for receiving
4432 notifications and packets
4433==========================================================================*/
4434/**
4435 @brief This callback is invoked by the control transport
4436 when it wishes to send up a notification like the ones
4437 mentioned above.
4438
4439 @param
4440
4441 wctsHandle: handle to the control transport service
4442 wctsEvent: the event being notified
4443 wctsNotifyCBData: the callback data of the user
4444
4445 @see WCTS_OpenTransport
4446
4447 @return None
4448*/
4449void
4450WDI_NotifyMsgCTSCB
4451(
4452 WCTS_HandleType wctsHandle,
4453 WCTS_NotifyEventType wctsEvent,
4454 void* wctsNotifyCBData
4455);
4456
4457/**
4458 @brief This callback is invoked by the control transport
4459 when it wishes to send up a packet received over the
4460 bus.
4461
4462 @param
4463
4464 wctsHandle: handle to the control transport service
4465 pMsg: the packet
4466 uLen: the packet length
4467 wctsRxMsgCBData: the callback data of the user
4468
4469 @see WCTS_OpenTransport
4470
4471 @return None
4472*/
4473void
4474WDI_RXMsgCTSCB
4475(
4476 WCTS_HandleType wctsHandle,
4477 void* pMsg,
4478 wpt_uint32 uLen,
4479 void* wctsRxMsgCBData
4480);
4481
4482/**
4483 @brief Process response helper function
4484
4485
4486 @param pWDICtx: pointer to the WLAN DAL context
4487 pEventData: pointer to the event information structure
4488
4489 @see
4490 @return Result of the function call
4491*/
4492WDI_Status
4493WDI_ProcessResponse
4494(
4495 WDI_ControlBlockType* pWDICtx,
4496 WDI_EventInfoType* pEventData
4497);
4498
4499/**
4500 @brief Send message helper function - sends a message over the
4501 bus using the control tranport and saves some info in
4502 the CB
4503
4504 @param pWDICtx: pointer to the WLAN DAL context
4505 pSendBuffer: buffer to be sent
4506
4507 uSendSize size of the buffer to be sent
4508 pRspCb: response callback - save in the WDI
4509 CB
4510 pUserData: user data associated with the
4511 callback
4512 wdiExpectedResponse: the code of the response that is
4513 expected to be rx-ed for this request
4514
4515 @see
4516 @return Result of the function call
4517*/
4518WDI_Status
4519WDI_SendMsg
4520(
4521 WDI_ControlBlockType* pWDICtx,
4522 wpt_uint8* pSendBuffer,
4523 wpt_uint32 uSendSize,
4524 void* pRspCb,
4525 void* pUserData,
4526 WDI_ResponseEnumType wdiExpectedResponse
4527);
4528
4529
4530/**
4531 @brief Send indication helper function - sends a message over
4532 the bus using the control transport and saves some info
4533 in the CB
4534
4535 @param pWDICtx: pointer to the WLAN DAL context
4536 pSendBuffer: buffer to be sent
4537 usSendSize: size of the buffer to be sent
4538
4539 @see
4540 @return Result of the function call
4541*/
4542WDI_Status
4543WDI_SendIndication
4544(
4545 WDI_ControlBlockType* pWDICtx,
4546 wpt_uint8* pSendBuffer,
4547 wpt_uint32 usSendSize
4548);
4549
4550/**
4551 @brief Utility function used by the DAL Core to help dequeue
4552 and schedule for execution a pending request
4553 @param
4554
4555 pWDICtx: - pointer to the WDI control block
4556 pEventData: - pointer to the evnt info that needs to be
4557 queued
4558
4559 @see
4560 @return Result of the operation
4561*/
4562WDI_Status
4563WDI_DequeuePendingReq
4564(
4565 WDI_ControlBlockType* pWDICtx
4566);
4567
4568/**
4569 @brief Utility function used by the DAL Core to help queue
4570 an association request that cannot be processed right
4571 away.- The assoc requests will be queued by BSSID
4572 @param
4573
4574 pWDICtx: - pointer to the WDI control block
4575 pEventData: pointer to the evnt info that needs to be queued
4576 macBSSID: bssid
4577
4578 @see
4579 @return Result of the operation
4580*/
4581WDI_Status
4582WDI_QueueNewAssocRequest
4583(
4584 WDI_ControlBlockType* pWDICtx,
4585 WDI_EventInfoType* pEventData,
4586 wpt_macAddr macBSSID
4587);
4588
4589/**
4590 @brief Utility function used by the DAL Core to help queue
4591 an association request that cannot be processed right
4592 away.- The assoc requests will be queued by BSSID
4593 @param
4594
4595 pWDICtx: - pointer to the WDI control block
4596 pSession: - session in which to queue
4597 pEventData: pointer to the event info that needs to be
4598 queued
4599
4600 @see
4601 @return Result of the operation
4602*/
4603WDI_Status
4604WDI_QueueAssocRequest
4605(
4606 WDI_ControlBlockType* pWDICtx,
4607 WDI_BSSSessionType* pSession,
4608 WDI_EventInfoType* pEventData
4609);
4610
4611/**
4612 @brief Utility function used by the DAL Core to help dequeue
4613 an association request that was pending
4614 The request will be queued up in front of the main
4615 pending queue for immediate processing
4616 @param
4617
4618 pWDICtx: - pointer to the WDI control block
4619
4620
4621 @see
4622 @return Result of the operation
4623*/
4624WDI_Status
4625WDI_DequeueAssocRequest
4626(
4627 WDI_ControlBlockType* pWDICtx
4628);
4629
4630/**
4631 @brief Helper routine used to init the BSS Sessions in the WDI control block
4632
4633
4634 @param pWDICtx: pointer to the WLAN DAL context
4635
4636 @see
4637*/
4638void
4639WDI_ResetAssocSessions
4640(
4641 WDI_ControlBlockType* pWDICtx
4642);
4643
4644/**
4645 @brief Helper routine used to find an empty session in the WDI
4646 CB
4647
4648
4649 @param pWDICtx: pointer to the WLAN DAL context
4650 pSession: pointer to the session (if found)
4651
4652 @see
4653 @return Index of the session in the array
4654*/
4655wpt_uint8
4656WDI_FindEmptySession
4657(
4658 WDI_ControlBlockType* pWDICtx,
4659 WDI_BSSSessionType** ppSession
4660);
4661
4662/**
Hoonki Lee9af07cf2013-04-24 01:21:58 -07004663 @brief Helper routine used to get the total count of active
Jeff Johnson295189b2012-06-20 16:38:30 -07004664 sessions
Hoonki Lee9af07cf2013-04-24 01:21:58 -07004665
4666
4667 @param pWDICtx: pointer to the WLAN DAL context
4668 macBSSID: pointer to BSSID. If NULL, get all the session.
4669 If not NULL, count ActiveSession by excluding (TRUE) or including (FALSE) skipBSSID.
4670 skipBSSID: if TRUE, get all the sessions except matching to macBSSID. If FALSE, get all session.
4671 This argument is ignored if macBSSID is NULL.
Jeff Johnson295189b2012-06-20 16:38:30 -07004672 @see
4673 @return Number of sessions in use
4674*/
4675wpt_uint8
4676WDI_GetActiveSessionsCount
Hoonki Lee9af07cf2013-04-24 01:21:58 -07004677(
4678 WDI_ControlBlockType* pWDICtx,
4679 wpt_macAddr macBSSID,
4680 wpt_boolean skipBSSID
Jeff Johnson295189b2012-06-20 16:38:30 -07004681);
4682
4683/**
4684 @brief Helper routine used to delete session in the WDI
4685 CB
4686
4687
4688 @param pWDICtx: pointer to the WLAN DAL context
4689 pSession: pointer to the session (if found)
4690
4691 @see
4692 @return Index of the session in the array
4693*/
4694void
4695WDI_DeleteSession
4696(
4697 WDI_ControlBlockType* pWDICtx,
4698 WDI_BSSSessionType* ppSession
4699);
4700
4701/**
4702 @brief Helper routine used to find a session based on the BSSID
4703
4704
4705 @param pWDICtx: pointer to the WLAN DAL context
4706 macBSSID: BSSID of the session
4707 ppSession: out pointer to the session (if found)
4708
4709 @see
4710 @return Index of the session in the array
4711*/
4712wpt_uint8
4713WDI_FindAssocSession
4714(
4715 WDI_ControlBlockType* pWDICtx,
4716 wpt_macAddr macBSSID,
4717 WDI_BSSSessionType** ppSession
4718);
4719
4720
4721/**
4722 @brief Helper routine used to find a session based on the BSSID
4723
4724
4725 @param pWDICtx: pointer to the WLAN DAL context
4726 usBssIdx: BSS Index of the session
4727 ppSession: out pointer to the session (if found)
4728
4729 @see
4730 @return Index of the session in the array
4731*/
4732wpt_uint8
4733WDI_FindAssocSessionByBSSIdx
4734(
4735 WDI_ControlBlockType* pWDICtx,
4736 wpt_uint16 usBssIdx,
4737 WDI_BSSSessionType** ppSession
4738);
4739
4740/**
4741 @brief Helper routine used to find a session based on the BSSID
4742
4743
4744 @param pWDICtx: pointer to the WLAN DAL context
4745 usBssIdx: BSS Index of the session
4746 ppSession: out pointer to the session (if found)
4747
4748 @see
4749 @return Index of the session in the array
4750*/
4751wpt_uint8
4752WDI_FindAssocSessionByIdx
4753(
4754 WDI_ControlBlockType* pWDICtx,
4755 wpt_uint16 usBssIdx,
4756 WDI_BSSSessionType** ppSession
4757);
4758
4759/**
4760 @brief Helper routine used to find a session based on the BSSID
4761 @param pContext: pointer to the WLAN DAL context
4762 @param pDPContext: pointer to the Datapath context
4763
4764 @see
4765 @return
4766*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004767void
Jeff Johnson295189b2012-06-20 16:38:30 -07004768WDI_DS_AssignDatapathContext
4769(
4770 void *pContext,
4771 void *pDPContext
4772);
4773
4774/**
4775 @brief Helper routine used to find a session based on the BSSID
4776
4777
4778 @param pContext: pointer to the WLAN DAL context
4779
4780 @see
4781 @return pointer to Datapath context
4782*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004783void *
Jeff Johnson295189b2012-06-20 16:38:30 -07004784WDI_DS_GetDatapathContext
4785(
4786 void *pContext
4787);
4788
4789/**
4790 @brief Helper routine used to find a session based on the BSSID
4791
4792
4793 @param pContext: pointer to the WLAN DAL context
4794 @param pDTDriverContext: pointer to the Transport Driver context
4795
4796 @see
4797 @return void
4798*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004799void
Jeff Johnson295189b2012-06-20 16:38:30 -07004800WDT_AssignTransportDriverContext
4801(
4802 void *pContext,
4803 void *pDTDriverContext
4804);
4805
4806/**
4807 @brief Helper routine used to find a session based on the BSSID
4808
4809
4810 @param pWDICtx: pointer to the WLAN DAL context
4811
4812 @see
4813 @return pointer to datapath context
4814*/
Jeff Johnson51019dc2013-02-21 16:44:09 -08004815void *
Jeff Johnson295189b2012-06-20 16:38:30 -07004816WDT_GetTransportDriverContext
4817(
4818 void *pContext
4819);
4820
4821#ifdef FEATURE_WLAN_SCAN_PNO
4822/**
4823 @brief Process Set Preferred Network List Request function
4824
4825 @param pWDICtx: pointer to the WLAN DAL context
4826 pEventData: pointer to the event information structure
4827
4828 @see
4829 @return Result of the function call
4830*/
4831WDI_Status
4832WDI_ProcessSetPreferredNetworkReq
4833(
4834 WDI_ControlBlockType* pWDICtx,
4835 WDI_EventInfoType* pEventData
4836);
4837
4838/**
4839 @brief Process Set RSSI Filter Request function
4840
4841 @param pWDICtx: pointer to the WLAN DAL context
4842 pEventData: pointer to the event information structure
4843
4844 @see
4845 @return Result of the function call
4846*/
4847WDI_Status
4848WDI_ProcessSetRssiFilterReq
4849(
4850 WDI_ControlBlockType* pWDICtx,
4851 WDI_EventInfoType* pEventData
4852);
4853
4854/**
4855 @brief Process Update Scan Params function
4856
4857 @param pWDICtx: pointer to the WLAN DAL context
4858 pEventData: pointer to the event information structure
4859
4860 @see
4861 @return Result of the function call
4862*/
4863WDI_Status
4864WDI_ProcessUpdateScanParamsReq
4865(
4866 WDI_ControlBlockType* pWDICtx,
4867 WDI_EventInfoType* pEventData
4868);
4869
4870/**
4871 @brief Process Preferred Network Found Indication function
4872
4873 @param pWDICtx: pointer to the WLAN DAL context
4874 pEventData: pointer to the event information structure
4875
4876 @see
4877 @return Result of the function call
4878*/
4879WDI_Status
4880WDI_ProcessPrefNetworkFoundInd
4881(
4882 WDI_ControlBlockType* pWDICtx,
4883 WDI_EventInfoType* pEventData
4884);
4885
4886/**
4887 @brief Process PNO Rsp function (called when a
4888 response is being received over the bus from HAL)
4889
4890 @param pWDICtx: pointer to the WLAN DAL context
4891 pEventData: pointer to the event information structure
4892
4893 @see
4894 @return Result of the function call
4895*/
4896WDI_Status
4897WDI_ProcessSetPreferredNetworkRsp
4898(
4899 WDI_ControlBlockType* pWDICtx,
4900 WDI_EventInfoType* pEventData
4901);
4902
4903/**
4904 @brief Process RSSI Filter Rsp function (called when a
4905 response is being received over the bus from HAL)
4906
4907 @param pWDICtx: pointer to the WLAN DAL context
4908 pEventData: pointer to the event information structure
4909
4910 @see
4911 @return Result of the function call
4912*/
4913WDI_Status
4914WDI_ProcessSetRssiFilterRsp
4915(
4916 WDI_ControlBlockType* pWDICtx,
4917 WDI_EventInfoType* pEventData
4918);
4919
4920/**
4921 @brief Process Update Scan Params Rsp function (called when a
4922 response is being received over the bus from HAL)
4923
4924 @param pWDICtx: pointer to the WLAN DAL context
4925 pEventData: pointer to the event information structure
4926
4927 @see
4928 @return Result of the function call
4929*/
4930WDI_Status
4931WDI_ProcessUpdateScanParamsRsp
4932(
4933 WDI_ControlBlockType* pWDICtx,
4934 WDI_EventInfoType* pEventData
4935);
4936#endif // FEATURE_WLAN_SCAN_PNO
4937
Gopichand Nakkala5e5668f2013-05-03 13:13:06 -07004938
4939#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4940/**
4941 @brief Process Start Roam Candidate Lookup Request function
4942
4943 @param pWDICtx: pointer to the WLAN DAL context
4944 pEventData: pointer to the event information structure
4945
4946 @see
4947 @return Result of the function call
4948*/
4949WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004950WDI_ProcessRoamScanOffloadReq
Gopichand Nakkala5e5668f2013-05-03 13:13:06 -07004951(
4952 WDI_ControlBlockType* pWDICtx,
4953 WDI_EventInfoType* pEventData
4954);
4955/**
4956 @brief Process Start Roam Candidate Lookup Response function (called when a
4957 response is being received over the bus from HAL)
4958
4959 @param pWDICtx: pointer to the WLAN DAL context
4960 pEventData: pointer to the event information structure
4961
4962 @see
4963 @return Result of the function call
4964*/
4965WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004966WDI_ProcessRoamScanOffloadRsp
Gopichand Nakkala5e5668f2013-05-03 13:13:06 -07004967(
4968 WDI_ControlBlockType* pWDICtx,
4969 WDI_EventInfoType* pEventData
4970);
4971#endif
4972
4973
Jeff Johnson295189b2012-06-20 16:38:30 -07004974#ifdef WLAN_FEATURE_PACKET_FILTERING
4975/**
4976 @brief Process 8023 Multicast List Request function
4977
4978 @param pWDICtx: pointer to the WLAN DAL context
4979 pEventData: pointer to the event information structure
4980
4981 @see
4982 @return Result of the function call
4983*/
4984WDI_Status
4985WDI_Process8023MulticastListReq
4986(
4987 WDI_ControlBlockType* pWDICtx,
4988 WDI_EventInfoType* pEventData
4989);
4990
4991/**
4992 @brief Process Receive Filter Set Filter Request function
4993
4994 @param pWDICtx: pointer to the WLAN DAL context
4995 pEventData: pointer to the event information structure
4996
4997 @see
4998 @return Result of the function call
4999*/
5000WDI_Status
5001WDI_ProcessReceiveFilterSetFilterReq
5002(
5003 WDI_ControlBlockType* pWDICtx,
5004 WDI_EventInfoType* pEventData
5005);
5006
5007/**
5008 @brief Process D0 PC Filter Match Count Request function
5009
5010 @param pWDICtx: pointer to the WLAN DAL context
5011 pEventData: pointer to the event information structure
5012
5013 @see
5014 @return Result of the function call
5015*/
5016WDI_Status
5017WDI_ProcessFilterMatchCountReq
5018(
5019 WDI_ControlBlockType* pWDICtx,
5020 WDI_EventInfoType* pEventData
5021);
5022
5023/**
5024 @brief Process Receive Filter Clear Filter Request function
5025
5026 @param pWDICtx: pointer to the WLAN DAL context
5027 pEventData: pointer to the event information structure
5028
5029 @see
5030 @return Result of the function call
5031*/
5032WDI_Status
5033WDI_ProcessReceiveFilterClearFilterReq
5034(
5035 WDI_ControlBlockType* pWDICtx,
5036 WDI_EventInfoType* pEventData
5037);
5038
5039/**
5040 @brief Process 8023 Multicast List Response function
5041
5042 @param pWDICtx: pointer to the WLAN DAL context
5043 pEventData: pointer to the event information structure
5044
5045 @see
5046 @return Result of the function call
5047*/
5048WDI_Status
5049WDI_Process8023MulticastListRsp
5050(
5051 WDI_ControlBlockType* pWDICtx,
5052 WDI_EventInfoType* pEventData
5053);
5054
5055/**
5056 @brief Process Receive Filter Set Filter Response function
5057
5058 @param pWDICtx: pointer to the WLAN DAL context
5059 pEventData: pointer to the event information structure
5060
5061 @see
5062 @return Result of the function call
5063*/
5064WDI_Status
5065WDI_ProcessReceiveFilterSetFilterRsp
5066(
5067 WDI_ControlBlockType* pWDICtx,
5068 WDI_EventInfoType* pEventData
5069);
5070
5071/**
5072 @brief Process D0 PC Filter Match Count Response function
5073
5074 @param pWDICtx: pointer to the WLAN DAL context
5075 pEventData: pointer to the event information structure
5076
5077 @see
5078 @return Result of the function call
5079*/
5080WDI_Status
5081WDI_ProcessFilterMatchCountRsp
5082(
5083 WDI_ControlBlockType* pWDICtx,
5084 WDI_EventInfoType* pEventData
5085);
5086
5087/**
5088 @brief Process Receive Filter Clear Filter Response function
5089
5090 @param pWDICtx: pointer to the WLAN DAL context
5091 pEventData: pointer to the event information structure
5092
5093 @see
5094 @return Result of the function call
5095*/
5096WDI_Status
5097WDI_ProcessReceiveFilterClearFilterRsp
5098(
5099 WDI_ControlBlockType* pWDICtx,
5100 WDI_EventInfoType* pEventData
5101);
5102#endif // WLAN_FEATURE_PACKET_FILTERING
5103
5104#ifdef WLAN_FEATURE_GTK_OFFLOAD
5105/**
5106 @brief Process set GTK Offload Request function
5107
5108 @param pWDICtx: pointer to the WLAN DAL context
5109 pEventData: pointer to the event information structure
5110
5111 @see
5112 @return Result of the function call
5113*/
5114WDI_Status
5115WDI_ProcessGTKOffloadReq
5116(
5117 WDI_ControlBlockType* pWDICtx,
5118 WDI_EventInfoType* pEventData
5119);
5120
5121/**
5122 @brief Process GTK Offload Get Information Request function
5123
5124 @param pWDICtx: pointer to the WLAN DAL context
5125 pEventData: pointer to the event information structure
5126
5127 @see
5128 @return Result of the function call
5129*/
5130WDI_Status
5131WDI_ProcessGTKOffloadGetInfoReq
5132(
5133 WDI_ControlBlockType* pWDICtx,
5134 WDI_EventInfoType* pEventData
5135);
5136
5137/**
5138 @brief Process host offload Rsp function (called when a
5139 response is being received over the bus from HAL)
5140
5141 @param pWDICtx: pointer to the WLAN DAL context
5142 pEventData: pointer to the event information structure
5143
5144 @see
5145 @return Result of the function call
5146*/
5147WDI_Status
5148WDI_ProcessGtkOffloadRsp
5149(
5150 WDI_ControlBlockType* pWDICtx,
5151 WDI_EventInfoType* pEventData
5152);
5153
5154/**
5155 @brief Process GTK Offload Get Information Response function
5156
5157 @param pWDICtx: pointer to the WLAN DAL context
5158 pEventData: pointer to the event information structure
5159
5160 @see
5161 @return Result of the function call
5162*/
5163WDI_Status
5164WDI_ProcessGTKOffloadGetInfoRsp
5165(
5166 WDI_ControlBlockType* pWDICtx,
5167 WDI_EventInfoType* pEventData
5168);
5169#endif // WLAN_FEATURE_GTK_OFFLOAD
5170
5171#ifdef WLAN_WAKEUP_EVENTS
5172WDI_Status
5173WDI_ProcessWakeReasonInd
5174(
5175 WDI_ControlBlockType* pWDICtx,
5176 WDI_EventInfoType* pEventData
5177);
5178#endif // WLAN_WAKEUP_EVENTS
5179
5180/**
5181 @brief Process Host-FW Capability Exchange Request function
5182
5183 @param pWDICtx: pointer to the WLAN DAL context
5184 pEventData: pointer to the event information structure
5185
5186 @see
5187 @return Result of the function call
5188*/
5189WDI_Status
5190WDI_ProcessFeatureCapsExchangeReq
5191(
5192 WDI_ControlBlockType* pWDICtx,
5193 WDI_EventInfoType* pEventData
5194);
5195
5196/**
5197 @brief Process Host-FW Capability Exchange Response function
5198
5199 @param pWDICtx: pointer to the WLAN DAL context
5200 pEventData: pointer to the event information structure
5201
5202 @see
5203 @return Result of the function call
5204*/
5205WDI_Status
5206WDI_ProcessFeatureCapsExchangeRsp
5207(
5208 WDI_ControlBlockType* pWDICtx,
5209 WDI_EventInfoType* pEventData
5210);
5211
Mohit Khanna4a70d262012-09-11 16:30:12 -07005212#ifdef WLAN_FEATURE_11AC
5213WDI_Status
5214WDI_ProcessUpdateVHTOpModeReq
5215(
5216 WDI_ControlBlockType* pWDICtx,
5217 WDI_EventInfoType* pEventData
5218);
5219
5220WDI_Status
5221WDI_ProcessUpdateVHTOpModeRsp
5222(
5223 WDI_ControlBlockType* pWDICtx,
5224 WDI_EventInfoType* pEventData
5225);
5226#endif
5227
Gopichand Nakkala5e5668f2013-05-03 13:13:06 -07005228#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5229/**
5230 * @brief WDI_wdiEdTypeEncToEdTypeEnc -
5231 * The firmware expects the Encryption type to be in EdType.
5232 * This function converts the WdiEdType encryption to EdType.
5233 * @param tEdType : EdType to which the encryption needs to be converted.
5234 * @param WDI_EdType : wdiEdType passed from the upper layer.
5235 * @see
5236 * @return none
5237 * */
5238void
5239WDI_wdiEdTypeEncToEdTypeEnc
5240(
5241 tEdType *EdType,
5242 WDI_EdType wdiEdType
5243);
5244#endif
5245
Jeff Johnson295189b2012-06-20 16:38:30 -07005246#endif /*WLAN_QCT_WDI_I_H*/
5247