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