import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / connectivity / combo / drv_wlan / mt6630 / wlan / include / nic / nic.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_3/include/nic/nic.h#1 $
3 */
4
5 /*! \file "nic.h"
6 \brief The declaration of nic functions
7
8 Detail description.
9 */
10
11
12
13 /*
14 ** $Log: nic.h $
15 **
16 ** 03 11 2014 eason.tsai
17 ** [ALPS01070904] [Need Patch] [Volunteer Patch][MT6630][Driver]MT6630 Wi-Fi Patch
18 ** update rssi command
19 **
20 ** 08 13 2013 terry.wu
21 ** [BORA00002207] [MT6630 Wi-Fi] TXM & MQM Implementation
22 ** 1. Assign TXD.PID by wlan index
23 ** 2. Some bug fix
24 **
25 ** 06 19 2013 cp.wu
26 ** [BORA00002227] [MT6630 Wi-Fi][Driver] Update for Makefile and HIFSYS modifications
27 ** update MAC address handling logic
28 **
29 ** 01 23 2013 cp.wu
30 ** [BORA00002253] [MT6630 Wi-Fi][Driver][Firmware] Add NLO and timeout mechanism to SCN module
31 ** modify AIS behavior: stop join trial if failed
32 **
33 ** 01 22 2013 cp.wu
34 ** [BORA00002253] [MT6630 Wi-Fi][Driver][Firmware] Add NLO and timeout mechanism to SCN module
35 ** modification for ucBssIndex migration
36 **
37 ** 01 21 2013 terry.wu
38 ** [BORA00002207] [MT6630 Wi-Fi] TXM & MQM Implementation
39 ** Update TX path based on new ucBssIndex modifications.
40 **
41 ** 01 17 2013 cm.chang
42 ** [BORA00002149] [MT6630 Wi-Fi] Initial software development
43 ** Use ucBssIndex to replace eNetworkTypeIndex
44 **
45 ** 09 17 2012 cm.chang
46 ** [BORA00002149] [MT6630 Wi-Fi] Initial software development
47 ** Duplicate source from MT6620 v2.3 driver branch
48 ** (Davinci label: MT6620_WIFI_Driver_V2_3_120913_1942_As_MT6630_Base)
49 *
50 * 11 01 2011 chinglan.wang
51 * NULL
52 * Modify the Wi-Fi method of the flush TX queue when disconnect the AP.
53 * If disconnect the AP and flush all the data frame in the TX queue, WPS cannot do the 4-way handshake to connect to the AP..
54 *
55 * 07 18 2011 chinghwa.yu
56 * [WCXRP00000063] Update BCM CoEx design and settings[WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
57 * Add CMD/Event for RDD and BWCS.
58 *
59 * 05 11 2011 cp.wu
60 * [WCXRP00000718] [MT6620 Wi-Fi] modify the behavior of setting tx power
61 * ACPI APIs migrate to wlan_lib.c for glue layer to invoke.
62 *
63 * 04 11 2011 yuche.tsai
64 * [WCXRP00000627] [Volunteer Patch][MT6620][Driver] Pending MMPUD of P2P Network may crash system issue.
65 * Fix kernel panic issue when MMPDU of P2P is pending in driver.
66 *
67 * 03 02 2011 cp.wu
68 * [WCXRP00000503] [MT6620 Wi-Fi][Driver] Take RCPI brought by association response as initial RSSI right after connection is built.
69 * use RCPI brought by ASSOC-RESP after connection is built as initial RCPI to avoid using a uninitialized MAC-RX RCPI.
70 *
71 * 02 01 2011 cm.chang
72 * [WCXRP00000415] [MT6620 Wi-Fi][Driver] Check if any memory leakage happens when uninitializing in DGB mode
73 * .
74 *
75 * 01 27 2011 tsaiyuan.hsu
76 * [WCXRP00000392] [MT6620 Wi-Fi][Driver] Add Roaming Support
77 * add roaming fsm
78 * 1. not support 11r, only use strength of signal to determine roaming.
79 * 2. not enable CFG_SUPPORT_ROAMING until completion of full test.
80 * 3. in 6620, adopt work-around to avoid sign extension problem of cck of hw
81 * 4. assume that change of link quality in smooth way.
82 *
83 * 10 26 2010 cp.wu
84 * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check[WCXRP00000137] [MT6620 Wi-Fi] [FW] Support NIC capability query command
85 * 1) update NVRAM content template to ver 1.02
86 * 2) add compile option for querying NIC capability (default: off)
87 * 3) modify AIS 5GHz support to run-time option, which could be turned on by registry or NVRAM setting
88 * 4) correct auto-rate compiler error under linux (treat warning as error)
89 * 5) simplify usage of NVRAM and REG_INFO_T
90 * 6) add version checking between driver and firmware
91 *
92 * 10 26 2010 eddie.chen
93 * [WCXRP00000134] [MT6620 Wi-Fi][Driver] Add a registry to enable auto rate for SQA test by using E1 EVB
94 * Add auto rate parameter in registry.
95 *
96 * 10 12 2010 cp.wu
97 * [WCXRP00000084] [MT6620 Wi-Fi][Driver][FW] Add fixed rate support for distance test
98 * add HT (802.11n) fixed rate support.
99 *
100 * 10 08 2010 cp.wu
101 * [WCXRP00000084] [MT6620 Wi-Fi][Driver][FW] Add fixed rate support for distance test
102 * adding fixed rate support for distance test. (from registry setting)
103 *
104 * 10 05 2010 cp.wu
105 * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
106 * 1) add NVRAM access API
107 * 2) fake scanning result when NVRAM doesn't exist and/or version mismatch. (off by compiler option)
108 * 3) add OID implementation for NVRAM read/write service
109 *
110 * 10 04 2010 cp.wu
111 * [WCXRP00000077] [MT6620 Wi-Fi][Driver][FW] Eliminate use of ENUM_NETWORK_TYPE_T and replaced by ENUM_NETWORK_TYPE_INDEX_T only
112 * remove ENUM_NETWORK_TYPE_T definitions
113 *
114 * 09 21 2010 cp.wu
115 * [WCXRP00000053] [MT6620 Wi-Fi][Driver] Reset incomplete and might leads to BSOD when entering RF test with AIS associated
116 * Do a complete reset with STA-REC null checking for RF test re-entry
117 *
118 * 09 08 2010 cp.wu
119 * NULL
120 * use static memory pool for storing IEs of scanning result.
121 *
122 * 09 01 2010 cp.wu
123 * NULL
124 * HIFSYS Clock Source Workaround
125 *
126 * 08 25 2010 george.huang
127 * NULL
128 * update OID/ registry control path for PM related settings
129 *
130 * 08 12 2010 cp.wu
131 * NULL
132 * [AIS-FSM] honor registry setting for adhoc running mode. (A/B/G)
133 *
134 * 08 03 2010 cp.wu
135 * NULL
136 * Centralize mgmt/system service procedures into independent calls.
137 *
138 * 07 28 2010 cp.wu
139 * NULL
140 * 1) eliminate redundant variable eOPMode in prAdapter->rWlanInfo
141 * 2) change nicMediaStateChange() API prototype
142 *
143 * 07 14 2010 yarco.yang
144 *
145 * 1. Remove CFG_MQM_MIGRATION
146 * 2. Add CMD_UPDATE_WMM_PARMS command
147 *
148 * 07 08 2010 cp.wu
149 *
150 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
151 *
152 * 07 06 2010 george.huang
153 * [WPD00001556]Basic power managemenet function
154 * Update arguments for nicUpdateBeaconIETemplate()
155 *
156 * 07 06 2010 cp.wu
157 * [WPD00003833][MT6620 and MT5931] Driver migration
158 * STA-REC is maintained by CNM only.
159 *
160 * 07 05 2010 cp.wu
161 * [WPD00003833][MT6620 and MT5931] Driver migration
162 * 1) ignore RSN checking when RSN is not turned on.
163 * 2) set STA-REC deactivation callback as NULL
164 * 3) add variable initialization API based on PHY configuration
165 *
166 * 06 30 2010 cp.wu
167 * [WPD00003833][MT6620 and MT5931] Driver migration
168 * sync. with CMD/EVENT document ver0.07.
169 *
170 * 06 29 2010 cp.wu
171 * [WPD00003833][MT6620 and MT5931] Driver migration
172 * 1) sync to. CMD/EVENT document v0.03
173 * 2) simplify DTIM period parsing in scan.c only, bss.c no longer parses it again.
174 * 3) send command packet to indicate FW-PM after
175 * a) 1st beacon is received after AIS has connected to an AP
176 * b) IBSS-ALONE has been created
177 * c) IBSS-MERGE has occured
178 *
179 * 06 25 2010 george.huang
180 * [WPD00001556]Basic power managemenet function
181 * Create beacon update path, with expose bssUpdateBeaconContent()
182 *
183 * 06 22 2010 cp.wu
184 * [WPD00003833][MT6620 and MT5931] Driver migration
185 * 1) add command warpper for STA-REC/BSS-INFO sync.
186 * 2) enhance command packet sending procedure for non-oid part
187 * 3) add command packet definitions for STA-REC/BSS-INFO sync.
188 *
189 * 06 21 2010 cp.wu
190 * [WPD00003833][MT6620 and MT5931] Driver migration
191 * implement TX_DONE callback path.
192 *
193 * 06 11 2010 cp.wu
194 * [WPD00003833][MT6620 and MT5931] Driver migration
195 * 1) migrate assoc.c.
196 * 2) add ucTxSeqNum for tracking frames which needs TX-DONE awareness
197 * 3) add configuration options for CNM_MEM and RSN modules
198 * 4) add data path for management frames
199 * 5) eliminate rPacketInfo of MSDU_INFO_T
200 *
201 * 06 10 2010 cp.wu
202 * [WPD00003833][MT6620 and MT5931] Driver migration
203 * 1) eliminate CFG_CMD_EVENT_VERSION_0_9
204 * 2) when disconnected, indicate nic directly (no event is needed)
205 *
206 * 06 06 2010 kevin.huang
207 * [WPD00003832][MT6620 5931] Create driver base
208 * [MT6620 5931] Create driver base
209 *
210 * 04 26 2010 cp.wu
211 * [WPD00001943]Create WiFi test driver framework on WinXP
212 * 1) surpress compiler warning
213 * 2) when acqruing LP-own, keep writing WHLPCR whenever OWN is not acquired yet
214 *
215 * 04 13 2010 cp.wu
216 * [WPD00003823][MT6620 Wi-Fi] Add Bluetooth-over-Wi-Fi support
217 * add framework for BT-over-Wi-Fi support.
218 * * * * * * * * * 1) prPendingCmdInfo is replaced by queue for multiple handler capability
219 * * * * * * * * * 2) command sequence number is now increased atomically
220 * * * * * * * * * 3) private data could be hold and taken use for other purpose
221 *
222 * 04 12 2010 cp.wu
223 * [WPD00001943]Create WiFi test driver framework on WinXP
224 * add channel frequency <-> number conversion
225 *
226 * 03 19 2010 cp.wu
227 * [WPD00001943]Create WiFi test driver framework on WinXP
228 * 1) add ACPI D0/D3 state switching support
229 * * * * * 2) use more formal way to handle interrupt when the status is retrieved from enhanced RX response
230 *
231 * 03 17 2010 cp.wu
232 * [WPD00001943]Create WiFi test driver framework on WinXP
233 * always process TX interrupt first then RX interrupt.
234 *
235 * 02 25 2010 cp.wu
236 * [WPD00001943]Create WiFi test driver framework on WinXP
237 * correct behavior to prevent duplicated RX handling for RX0_DONE and RX1_DONE
238 *
239 * 02 23 2010 cp.wu
240 * [WPD00001943]Create WiFi test driver framework on WinXP
241 * add checksum offloading support.
242 ** \main\maintrunk.MT6620WiFiDriver_Prj\5 2009-10-13 21:58:58 GMT mtk01084
243 ** update for new HW architecture design
244 ** \main\maintrunk.MT6620WiFiDriver_Prj\4 2009-04-24 21:12:55 GMT mtk01104
245 ** Add function prototype nicRestoreSpiDefMode()
246 ** \main\maintrunk.MT6620WiFiDriver_Prj\3 2009-03-19 18:32:54 GMT mtk01084
247 ** update for basic power management functions
248 ** \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-03-10 20:16:32 GMT mtk01426
249 ** Init for develop
250 **
251 */
252
253 #ifndef _NIC_H
254 #define _NIC_H
255
256 /*******************************************************************************
257 * C O M P I L E R F L A G S
258 ********************************************************************************
259 */
260
261 /*******************************************************************************
262 * C O N S T A N T S
263 ********************************************************************************
264 */
265
266 /*******************************************************************************
267 * D A T A T Y P E S
268 ********************************************************************************
269 */
270
271
272 struct _REG_ENTRY_T {
273 UINT_32 u4Offset;
274 UINT_32 u4Value;
275 };
276
277 struct _TABLE_ENTRY_T {
278 P_REG_ENTRY_T pu4TablePtr;
279 UINT_16 u2Size;
280 };
281
282 /*! INT status to event map */
283 typedef struct _INT_EVENT_MAP_T {
284 UINT_32 u4Int;
285 UINT_32 u4Event;
286 } INT_EVENT_MAP_T, *P_INT_EVENT_MAP_T;
287
288
289 enum ENUM_INT_EVENT_T {
290 INT_EVENT_ABNORMAL,
291 INT_EVENT_SW_INT,
292 INT_EVENT_TX,
293 INT_EVENT_RX,
294 INT_EVENT_NUM
295 };
296
297 typedef enum _ENUM_IE_UPD_METHOD_T {
298 IE_UPD_METHOD_UPDATE_RANDOM,
299 IE_UPD_METHOD_UPDATE_ALL,
300 IE_UPD_METHOD_DELETE_ALL,
301 } ENUM_IE_UPD_METHOD_T, *P_ENUM_IE_UPD_METHOD_T;
302
303
304 /*******************************************************************************
305 * E X T E R N A L R E F E R E N C E S
306 ********************************************************************************
307 */
308
309 /*******************************************************************************
310 * P U B L I C D A T A
311 ********************************************************************************
312 */
313
314 /*******************************************************************************
315 * P R I V A T E D A T A
316 ********************************************************************************
317 */
318
319 /*******************************************************************************
320 * M A C R O S
321 ********************************************************************************
322 */
323
324
325 /*******************************************************************************
326 * F U N C T I O N D E C L A R A T I O N S
327 ********************************************************************************
328 */
329 /*----------------------------------------------------------------------------*/
330 /* Routines in nic.c */
331 /*----------------------------------------------------------------------------*/
332 WLAN_STATUS nicAllocateAdapterMemory(IN P_ADAPTER_T prAdapter);
333
334 VOID nicReleaseAdapterMemory(IN P_ADAPTER_T prAdapter);
335
336 VOID nicDisableInterrupt(IN P_ADAPTER_T prAdapter);
337
338 VOID nicEnableInterrupt(IN P_ADAPTER_T prAdapter);
339
340 WLAN_STATUS nicProcessIST(IN P_ADAPTER_T prAdapter);
341
342 WLAN_STATUS nicProcessIST_impl(IN P_ADAPTER_T prAdapter, IN UINT_32 u4IntStatus);
343
344 WLAN_STATUS nicInitializeAdapter(IN P_ADAPTER_T prAdapter);
345
346 VOID nicMCRInit(IN P_ADAPTER_T prAdapter);
347
348 BOOL nicVerifyChipID(IN P_ADAPTER_T prAdapter);
349
350
351 #if CFG_SDIO_INTR_ENHANCE
352 VOID nicSDIOInit(IN P_ADAPTER_T prAdapter);
353
354 VOID nicSDIOReadIntStatus(IN P_ADAPTER_T prAdapter, OUT PUINT_32 pu4IntStatus);
355 #endif
356
357 VOID nicPmTriggerDriverOwn(IN P_ADAPTER_T prAdapter);
358
359 BOOLEAN nicpmSetDriverOwn(IN P_ADAPTER_T prAdapter);
360
361 VOID nicpmSetFWOwn(IN P_ADAPTER_T prAdapter, IN BOOLEAN fgEnableGlobalInt);
362
363 BOOLEAN nicpmSetAcpiPowerD0(IN P_ADAPTER_T prAdapter);
364
365 BOOLEAN nicpmSetAcpiPowerD3(IN P_ADAPTER_T prAdapter);
366
367
368 #if defined(_HIF_SPI)
369 void nicRestoreSpiDefMode(IN P_ADAPTER_T prAdapter);
370 #endif
371
372 VOID nicProcessSoftwareInterrupt(IN P_ADAPTER_T prAdapter);
373
374 VOID nicProcessAbnormalInterrupt(IN P_ADAPTER_T prAdapter);
375
376 VOID nicPutMailbox(IN P_ADAPTER_T prAdapter, IN UINT_32 u4MailboxNum, IN UINT_32 u4Data);
377
378 VOID nicGetMailbox(IN P_ADAPTER_T prAdapter, IN UINT_32 u4MailboxNum, OUT PUINT_32 pu4Data);
379
380 VOID nicSetSwIntr(IN P_ADAPTER_T prAdapter, IN UINT_32 u4SwIntrBitmap);
381
382 P_CMD_INFO_T nicGetPendingCmdInfo(IN P_ADAPTER_T prAdapter, IN UINT_8 ucSeqNum);
383
384 P_MSDU_INFO_T
385 nicGetPendingTxMsduInfo(IN P_ADAPTER_T prAdapter, IN UINT_8 ucWlanIndex, IN UINT_8 ucSeqNum);
386
387 P_MSDU_INFO_T nicGetPendingStaMMPDU(IN P_ADAPTER_T prAdapter, IN UINT_8 ucStaRecIdx);
388
389 VOID nicFreePendingTxMsduInfoByBssIdx(IN P_ADAPTER_T prAdapter, IN UINT_8 ucBssIndex);
390
391 UINT_8 nicIncreaseCmdSeqNum(IN P_ADAPTER_T prAdapter);
392
393 UINT_8 nicIncreaseTxSeqNum(IN P_ADAPTER_T prAdapter);
394
395 /* Media State Change */
396 WLAN_STATUS
397 nicMediaStateChange(IN P_ADAPTER_T prAdapter,
398 IN UINT_8 ucBssIndex, IN P_EVENT_CONNECTION_STATUS prConnectionStatus);
399
400 WLAN_STATUS
401 nicMediaJoinFailure(IN P_ADAPTER_T prAdapter, IN UINT_8 ucBssIndex, IN WLAN_STATUS rStatus);
402
403 /* Utility function for channel number conversion */
404 UINT_32 nicChannelNum2Freq(IN UINT_32 u4ChannelNum);
405
406 UINT_32 nicFreq2ChannelNum(IN UINT_32 u4FreqInKHz);
407
408 UINT_8 nicGetVhtS1 (IN UINT_8 ucPrimaryChannel);
409
410
411 /* firmware command wrapper */
412 /* NETWORK (WIFISYS) */
413 WLAN_STATUS nicActivateNetwork(IN P_ADAPTER_T prAdapter, IN UINT_8 ucBssIndex);
414
415 WLAN_STATUS nicDeactivateNetwork(IN P_ADAPTER_T prAdapter, IN UINT_8 ucBssIndex);
416
417
418 /* BSS-INFO */
419 WLAN_STATUS nicUpdateBss(IN P_ADAPTER_T prAdapter, IN UINT_8 ucBssIndex);
420
421 /* BSS-INFO Indication (PM) */
422 WLAN_STATUS nicPmIndicateBssCreated(IN P_ADAPTER_T prAdapter, IN UINT_8 ucBssIndex);
423
424 WLAN_STATUS nicPmIndicateBssConnected(IN P_ADAPTER_T prAdapter, IN UINT_8 ucBssIndex);
425
426 WLAN_STATUS nicPmIndicateBssAbort(IN P_ADAPTER_T prAdapter, IN UINT_8 ucBssIndex);
427
428 /* Beacon Template Update */
429 WLAN_STATUS
430 nicUpdateBeaconIETemplate(IN P_ADAPTER_T prAdapter,
431 IN ENUM_IE_UPD_METHOD_T eIeUpdMethod,
432 IN UINT_8 ucBssIndex,
433 IN UINT_16 u2Capability, IN PUINT_8 aucIe, IN UINT_16 u2IELen);
434
435 WLAN_STATUS nicQmUpdateWmmParms(IN P_ADAPTER_T prAdapter, IN UINT_8 ucBssIndex);
436
437 WLAN_STATUS nicSetAutoTxPower(IN P_ADAPTER_T prAdapter, IN P_CMD_AUTO_POWER_PARAM_T prAutoPwrParam);
438
439 /*----------------------------------------------------------------------------*/
440 /* Calibration Control */
441 /*----------------------------------------------------------------------------*/
442 WLAN_STATUS nicUpdateTxPower(IN P_ADAPTER_T prAdapter, IN P_CMD_TX_PWR_T prTxPwrParam);
443
444 WLAN_STATUS nicUpdate5GOffset(IN P_ADAPTER_T prAdapter, IN P_CMD_5G_PWR_OFFSET_T pr5GPwrOffset);
445
446 WLAN_STATUS nicUpdateDPD(IN P_ADAPTER_T prAdapter, IN P_CMD_PWR_PARAM_T prDpdCalResult);
447
448
449 /*----------------------------------------------------------------------------*/
450 /* PHY configuration */
451 /*----------------------------------------------------------------------------*/
452 VOID nicSetAvailablePhyTypeSet(IN P_ADAPTER_T prAdapter);
453
454 /*----------------------------------------------------------------------------*/
455 /* MGMT and System Service Control */
456 /*----------------------------------------------------------------------------*/
457 VOID nicInitSystemService(IN P_ADAPTER_T prAdapter);
458
459 VOID nicResetSystemService(IN P_ADAPTER_T prAdapter);
460
461 VOID nicUninitSystemService(IN P_ADAPTER_T prAdapter);
462
463 VOID nicInitMGMT(IN P_ADAPTER_T prAdapter, IN P_REG_INFO_T prRegInfo);
464
465 VOID nicUninitMGMT(IN P_ADAPTER_T prAdapter);
466
467 WLAN_STATUS
468 nicConfigPowerSaveProfile(IN P_ADAPTER_T prAdapter,
469 UINT_8 ucBssIndex, PARAM_POWER_MODE ePwrMode, BOOLEAN fgEnCmdEvent);
470
471 WLAN_STATUS nicEnterCtiaMode(IN P_ADAPTER_T prAdapter, BOOLEAN fgEnterCtia, BOOLEAN fgEnCmdEvent);
472
473 /*----------------------------------------------------------------------------*/
474 /* Scan Result Processing */
475 /*----------------------------------------------------------------------------*/
476 VOID
477 nicAddScanResult(IN P_ADAPTER_T prAdapter,
478 IN PARAM_MAC_ADDRESS rMacAddr,
479 IN P_PARAM_SSID_T prSsid,
480 IN UINT_32 u4Privacy,
481 IN PARAM_RSSI rRssi,
482 IN ENUM_PARAM_NETWORK_TYPE_T eNetworkType,
483 IN P_PARAM_802_11_CONFIG_T prConfiguration,
484 IN ENUM_PARAM_OP_MODE_T eOpMode,
485 IN PARAM_RATES_EX rSupportedRates, IN UINT_16 u2IELength, IN PUINT_8 pucIEBuf);
486
487 VOID nicFreeScanResultIE(IN P_ADAPTER_T prAdapter, IN UINT_32 u4Idx);
488
489 /*----------------------------------------------------------------------------*/
490 /* Fixed Rate Hacking */
491 /*----------------------------------------------------------------------------*/
492 WLAN_STATUS
493 nicUpdateRateParams(IN P_ADAPTER_T prAdapter,
494 IN ENUM_REGISTRY_FIXED_RATE_T eRateSetting,
495 IN PUINT_8 pucDesiredPhyTypeSet,
496 IN PUINT_16 pu2DesiredNonHTRateSet,
497 IN PUINT_16 pu2BSSBasicRateSet,
498 IN PUINT_8 pucMcsSet, IN PUINT_8 pucSupMcs32, IN PUINT_16 u2HtCapInfo);
499
500 /*----------------------------------------------------------------------------*/
501 /* Write registers */
502 /*----------------------------------------------------------------------------*/
503 WLAN_STATUS nicWriteMcr(IN P_ADAPTER_T prAdapter, IN UINT_32 u4Address, IN UINT_32 u4Value);
504
505 /*----------------------------------------------------------------------------*/
506 /* Update auto rate */
507 /*----------------------------------------------------------------------------*/
508 WLAN_STATUS
509 nicRlmArUpdateParms(IN P_ADAPTER_T prAdapter,
510 IN UINT_32 u4ArSysParam0,
511 IN UINT_32 u4ArSysParam1, IN UINT_32 u4ArSysParam2, IN UINT_32 u4ArSysParam3);
512
513 /*----------------------------------------------------------------------------*/
514 /* Enable/Disable Roaming */
515 /*----------------------------------------------------------------------------*/
516 WLAN_STATUS nicRoamingUpdateParams(IN P_ADAPTER_T prAdapter, IN UINT_32 u4EnableRoaming);
517
518
519 VOID nicPrintFirmwareAssertInfo(IN P_ADAPTER_T prAdapter);
520
521 /*----------------------------------------------------------------------------*/
522 /* Link Quality Updating */
523 /*----------------------------------------------------------------------------*/
524 VOID
525 nicUpdateLinkQuality(IN P_ADAPTER_T prAdapter,
526 IN UINT_8 ucBssIndex, IN P_EVENT_LINK_QUALITY_V2 prEventLinkQuality);
527
528 VOID
529 nicUpdateRSSI(IN P_ADAPTER_T prAdapter,
530 IN UINT_8 ucBssIndex, IN INT_8 cRssi, IN INT_8 cLinkQuality);
531
532 VOID nicUpdateLinkSpeed(IN P_ADAPTER_T prAdapter, IN UINT_8 ucBssIndex, IN UINT_16 u2LinkSpeed);
533
534 #if CFG_SUPPORT_RDD_TEST_MODE
535 WLAN_STATUS nicUpdateRddTestMode(IN P_ADAPTER_T prAdapter, IN P_CMD_RDD_CH_T prRddChParam);
536 #endif
537
538 /*----------------------------------------------------------------------------*/
539 /* Address Setting Apply */
540 /*----------------------------------------------------------------------------*/
541 WLAN_STATUS nicApplyNetworkAddress(IN P_ADAPTER_T prAdapter);
542
543 #endif /* _NIC_H */