nic.h 19 KB

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