PageRenderTime 31ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 1ms

/drivers/net/wireless/tiwlan1251/common/src/hal/hl_ctrl/whalParams.c

http://github.com/CyanogenMod/cm-kernel
C | 1579 lines | 815 code | 204 blank | 560 comment | 95 complexity | 48afe5ba38443abadf7d91e6c204fcfc MD5 | raw file
Possible License(s): AGPL-1.0, GPL-2.0, LGPL-2.0

Large files files are truncated, but you can click here to view the full file

  1. /****************************************************************************
  2. **+-----------------------------------------------------------------------+**
  3. **| |**
  4. **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved. |**
  5. **| All rights reserved. |**
  6. **| |**
  7. **| Redistribution and use in source and binary forms, with or without |**
  8. **| modification, are permitted provided that the following conditions |**
  9. **| are met: |**
  10. **| |**
  11. **| * Redistributions of source code must retain the above copyright |**
  12. **| notice, this list of conditions and the following disclaimer. |**
  13. **| * Redistributions in binary form must reproduce the above copyright |**
  14. **| notice, this list of conditions and the following disclaimer in |**
  15. **| the documentation and/or other materials provided with the |**
  16. **| distribution. |**
  17. **| * Neither the name Texas Instruments nor the names of its |**
  18. **| contributors may be used to endorse or promote products derived |**
  19. **| from this software without specific prior written permission. |**
  20. **| |**
  21. **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |**
  22. **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |**
  23. **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
  24. **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |**
  25. **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
  26. **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |**
  27. **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
  28. **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
  29. **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |**
  30. **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
  31. **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |**
  32. **| |**
  33. **+-----------------------------------------------------------------------+**
  34. ****************************************************************************/
  35. /****************************************************************************
  36. *
  37. * MODULE: whalParams.c
  38. * PURPOSE: Holds all the whal parameters
  39. *
  40. ****************************************************************************/
  41. #include "whalCommon.h"
  42. #include "whalHwDefs.h"
  43. #include "802_11Defs.h"
  44. #include "whalParams.h"
  45. #include "whalBus_Api.h"
  46. /******************************* definitions ********************************/
  47. #define HW_MODULATION_PBCC 0x80
  48. #define HW_MODULATION_OFDM 0x40
  49. /*
  50. * Internals
  51. */
  52. void whal_ParamsInitDmaParams (WhalParams_T *pWhalParams);
  53. int whal_ParamsInitWlanParams (WhalParams_T *pWhalParams);
  54. int whal_ParamsInitBssInfoParams(WhalParams_T *pWhalParams, BOOL TxFlashEnable);
  55. int whal_ParamsInitGenParams (WhalParams_T *pWhalParams);
  56. int whal_ParamsInitHwInfoParams (WhalParams_T *pWhalParams);
  57. int whal_ParamsInitGenCounters (WhalParams_T *pWhalParams);
  58. void whal_ParamsSetQidToAcTable (WhalParams_T *pWhalParams,UINT8 Qid,UINT8 AcId);
  59. /****************************************************************************
  60. * whal_params_Create()
  61. ****************************************************************************
  62. * DESCRIPTION: Create the whal parameters(data base) object
  63. *
  64. * INPUTS:
  65. *
  66. * OUTPUT: None
  67. *
  68. * RETURNS: The Created object
  69. ****************************************************************************/
  70. WhalParams_T *whal_params_Create(TI_HANDLE hOs, BOOL TxFlashEnable)
  71. {
  72. WhalParams_T *pObj;
  73. pObj = os_memoryAlloc(hOs, sizeof(WhalParams_T));
  74. if (pObj == NULL)
  75. return NULL;
  76. os_memoryZero(hOs, (void *)pObj, sizeof(WhalParams_T));
  77. pObj->hOs = hOs;
  78. whal_ParamsInitDmaParams(pObj);
  79. whal_ParamsInitGenParams(pObj);
  80. whal_ParamsInitBssInfoParams(pObj,TxFlashEnable);
  81. whal_ParamsInitWlanParams(pObj);
  82. whal_ParamsInitGenCounters(pObj);
  83. return(pObj);
  84. }
  85. /****************************************************************************
  86. * whal_params_Destroy()
  87. ****************************************************************************
  88. * DESCRIPTION: Destroy the object
  89. *
  90. * INPUTS:
  91. * WhalParams_T The object to free
  92. *
  93. * OUTPUT: None
  94. *
  95. * RETURNS: OK or NOK
  96. ****************************************************************************/
  97. int whal_params_Destroy(WhalParams_T *pWhalParams)
  98. {
  99. if (pWhalParams)
  100. os_memoryFree(pWhalParams->hOs, pWhalParams, sizeof(WhalParams_T));
  101. return OK;
  102. }
  103. /****************************************************************************
  104. * whal_params_Config()
  105. ****************************************************************************
  106. * DESCRIPTION: Config the object
  107. *
  108. * INPUTS:
  109. * pWhalParams The object
  110. * hReport The reports objects
  111. *
  112. * OUTPUT: None
  113. *
  114. * RETURNS: OK or NOK
  115. ****************************************************************************/
  116. int whal_params_Config(WhalParams_T *pWhalParams, TI_HANDLE hReport)
  117. {
  118. pWhalParams->hReport = hReport;
  119. return OK;
  120. }
  121. /*
  122. * --------------------------------------------------------------------------
  123. * DmaParams_T - Rx/Tx Queues and Bufs params
  124. * --------------------------------------------------------------------------
  125. */
  126. /* defaults for large queue size */
  127. #define DEFAULT_UCAST_PRIORITY 0
  128. #define DEFAULT_RX_Q_PRIORITY 0
  129. #define DEFAULT_NUM_STATIONS 1
  130. #define DEFAULT_RXQ_PRIORITY 0 /* low 0 .. 15 high */
  131. #define DEFAULT_RXQ_TYPE 0x07 /* All frames, Data/Ctrl/Mgmt -- not documented well */
  132. /* only for AP */
  133. #define DEFAULT_NUM_BCAST_TX_DESC 16 /* 8 increase number of BC frames */
  134. #define DEFAULT_BCAST_PRIORITY 0x81
  135. /****************************************************************************
  136. * whal_ParamsInitDmaParams()
  137. ****************************************************************************
  138. * DESCRIPTION: Initiate DmaParams to the default values
  139. *
  140. * INPUTS:
  141. *
  142. * OUTPUT: None
  143. *
  144. * RETURNS: OK or NOK
  145. ****************************************************************************/
  146. void whal_ParamsInitDmaParams(WhalParams_T *pWhalParams)
  147. {
  148. }
  149. /****************************************************************************
  150. * whal_ParamsGetDmaParams()
  151. ****************************************************************************
  152. * DESCRIPTION: return DmaParams pointer
  153. ****************************************************************************/
  154. DmaParams_T *whal_ParamsGetDmaParams(WhalParams_T *pWhalParams)
  155. {
  156. return (&pWhalParams->DmaParams);
  157. }
  158. /****************************************************************************
  159. * whal_ParamsSetDmaParams()
  160. ****************************************************************************
  161. * DESCRIPTION: set new DmaParams
  162. ****************************************************************************/
  163. int whal_ParamsSetDmaParams(WhalParams_T *pWhalParams)
  164. {
  165. DmaParams_T *pDmaParams = whal_ParamsGetDmaParams(pWhalParams);
  166. int i;
  167. /* Initialize the Params object database fields*/
  168. pDmaParams->rxMemBlkNumber = 35; /*pInitParams->rxMemBlkNumber;*/
  169. pDmaParams->txMinMemBlkNumber = 64; /*pInitParams->txMinMemBlkNumber;*/
  170. pDmaParams->BlockSize = HAL_CTRL_ACX_BLOCK_SIZE_DEF; /*pInitParams->blockSize;*/
  171. pDmaParams->NumRxQueues = 1;
  172. pDmaParams->NumTxQueues = MAX_NUM_OF_TX_QUEUES; /*pInitParams->numTxQueues;*/
  173. pDmaParams->RxNumDesc = HAL_CTRL_ACX_RX_DESC_DEF; /*pInitParams->rxDescNum;*/
  174. /* TRACE_BUFFER_MAX_SIZE is UINT32 so multiply by 4 to have the actual length */
  175. pDmaParams->TraceBufferSize = (TRACE_BUFFER_MAX_SIZE * 4); /*pInitParams->TraceBufferSize;*/
  176. pDmaParams->TraceBufferDoPrint = FALSE; /*pInitParams->bDoPrint;*/
  177. if ((pDmaParams->NumTxQueues > MAX_NUM_OF_TX_QUEUES) || (pDmaParams->NumTxQueues < 1) )
  178. {
  179. WLAN_REPORT_REPLY(pWhalParams->hReport, HAL_HW_CTRL_MODULE_LOG,
  180. ("\nwhal_ParamsSetDmaParams: numTxQueues is invalid, setting it to 1. numTxQueues=%d\n",pDmaParams->NumTxQueues ));
  181. pDmaParams->NumTxQueues = 1;
  182. }
  183. for (i=0;i<pDmaParams->NumTxQueues;i++)
  184. {
  185. pDmaParams->TxNumDesc[i] = HAL_CTRL_ACX_TX_DESC_DEF; /*pInitParams->tx_attrib_queue[i].numDesc;*/
  186. pDmaParams->TxQPriority[i] = i; /*pInitParams->tx_attrib_queue[i].priority; */
  187. }
  188. /* default values */
  189. pDmaParams->RxQPriority = DEFAULT_RX_Q_PRIORITY;
  190. pDmaParams->NumStations = DEFAULT_NUM_STATIONS;
  191. pDmaParams->RxQueue_Priority = DEFAULT_RXQ_PRIORITY;
  192. pDmaParams->RxQueue_Type = DEFAULT_RXQ_TYPE;
  193. /* only for AP */
  194. #ifdef CONFIGURE_BSS_TYPE_AP
  195. pDmaParams->NumTxQueues = 2;
  196. pDmaParams->TxNumDesc[1] = DEFAULT_NUM_BCAST_TX_DESC;
  197. pDmaParams->TxQPriority[1] = DEFAULT_BCAST_PRIORITY;
  198. #endif
  199. return OK;
  200. }
  201. /****************************************************************************
  202. * whal_ParamsSetRoamingParams()
  203. ****************************************************************************
  204. * DESCRIPTION: set new DmaParams
  205. ****************************************************************************/
  206. int whal_ParamsSetRoamingParams(WhalParams_T *pWhalParams)
  207. {
  208. pWhalParams->WlanParams.roamTriggers.rssiThreshold = RSSI_DEFAULT_THRESHOLD;
  209. pWhalParams->WlanParams.roamTriggers.rssiFilterWeight = RSSI_DEFAULT_WEIGHT;
  210. pWhalParams->WlanParams.roamTriggers.rssiFilterDepth = RSSI_DEFAULT_DEPTH;
  211. pWhalParams->WlanParams.roamTriggers.lowRSSIEventType = LOW_RSSI_EVENT_LEVEL;
  212. pWhalParams->WlanParams.roamTriggers.snrThreshold = SNR_DEFAULT_THRESHOLD;
  213. pWhalParams->WlanParams.roamTriggers.snrFilterWeight = SNR_DEFAULT_WEIGHT;
  214. pWhalParams->WlanParams.roamTriggers.snrFilterDepth = SNR_DEFAULT_DEPTH;
  215. pWhalParams->WlanParams.roamTriggers.lowSNREventType = LOW_SNR_EVENT_LEVEL;
  216. pWhalParams->WlanParams.roamTriggers.BssLossTimeout = NO_BEACON_DEFAULT_TIMEOUT;
  217. pWhalParams->WlanParams.roamTriggers.TsfMissThreshold = OUT_OF_SYNC_DEFAULT_THRESHOLD;
  218. return OK;
  219. }
  220. /****************************************************************************
  221. * whal_ParamsSetQueueParams()
  222. ****************************************************************************
  223. * DESCRIPTION: set new QueueParams
  224. ****************************************************************************/
  225. int whal_ParamsSetQueueParams(WhalParams_T *pWhalParams,queueTrafficParams_t *pQtrafficParams)
  226. {
  227. pWhalParams->QueuesParams.isQueueConfigured[pQtrafficParams->queueID] = TRUE;
  228. os_memoryCopy(pWhalParams->hOs,(void *)&(pWhalParams->QueuesParams.queues[pQtrafficParams->queueID]),(void *)pQtrafficParams,sizeof(queueTrafficParams_t));
  229. return OK;
  230. }
  231. /****************************************************************************
  232. * whal_ParamsSetAcParams()
  233. ****************************************************************************
  234. * DESCRIPTION: set new QueueParams
  235. ****************************************************************************/
  236. void whal_ParamsSetAcParams(WhalParams_T *pWhalParams,acQosParams_t *pAcQosParams)
  237. {
  238. pWhalParams->AcParams.isAcConfigured[pAcQosParams->ac] = TRUE;
  239. os_memoryCopy(pWhalParams->hOs,(void *)&(pWhalParams->AcParams.ac[pAcQosParams->ac]),(void *)pAcQosParams,sizeof(acQosParams_t));
  240. }
  241. /****************************************************************************
  242. * whal_ParamsGetTxParams()
  243. ****************************************************************************
  244. * DESCRIPTION: set new DmaParams
  245. ****************************************************************************/
  246. TxParam_t *whal_ParamsGetTxParams (WhalParams_T *pWhalParams)
  247. {
  248. return (&pWhalParams->TxParams);
  249. }
  250. /****************************************************************************
  251. * whal_ParamsSetTrafficParams()
  252. ****************************************************************************
  253. * DESCRIPTION: Traffic Parameters :(IE ACX_TID_CFG)
  254. ****************************************************************************/
  255. int whal_ParamsSetTrafficParams(WhalParams_T *pWhalParams,whaCtrl_acTrafficParams_t* pTconfParams)
  256. {
  257. os_memoryCopy(pWhalParams->hOs,
  258. (void *)&(pWhalParams->TxParams.halTrafficParams[pTconfParams->acId]),
  259. (void *)pTconfParams,sizeof(whaCtrl_acTrafficParams_t));
  260. return OK;
  261. }
  262. /****************************************************************************
  263. * whal_ParamsSetTxRateClassParams()
  264. ****************************************************************************
  265. * DESCRIPTION: set new TxRateParams
  266. ****************************************************************************/
  267. void whal_ParamsSetTxRateClassParams(WhalParams_T *pWhalParams,txRatePolicy_t *pTxRatePolicy)
  268. {
  269. UINT8 i;
  270. txRateClass_t *pTxRateClass;
  271. for(i = 0; i < pTxRatePolicy->numOfRateClasses; i++)
  272. {
  273. pTxRateClass = &pTxRatePolicy->rateClass[i];
  274. os_memoryCopy(pWhalParams->hOs,(void *)&(pWhalParams->BssInfoParams.TxRateClassParams.rateClass[i]),(void *)pTxRateClass,sizeof(txRateClass_t));
  275. }
  276. pWhalParams->BssInfoParams.TxRateClassParams.numOfRateClasses = pTxRatePolicy->numOfRateClasses;
  277. }
  278. /****************************************************************************
  279. * whal_ParamsSetTxRateClassParams()
  280. ****************************************************************************
  281. * DESCRIPTION: set new TxRateParams
  282. ****************************************************************************/
  283. txRatePolicy_t* whal_ParamsGetTxRateClassParams(WhalParams_T *pWhalParams)
  284. {
  285. return &pWhalParams->BssInfoParams.TxRateClassParams;
  286. }
  287. /****************************************************************************
  288. * whal_ParamsGetTxParams()
  289. ****************************************************************************
  290. * Traffic Parameters :(IE ACX_TID_CFG)
  291. ****************************************************************************/
  292. whaCtrl_acTrafficParams_t* whal_ParamsGetTrafficParams(WhalParams_T *pWhalParams,UINT8 AcID)
  293. {
  294. return (&pWhalParams->TxParams.halTrafficParams[AcID]);
  295. }
  296. /****************************************************************************
  297. * whal_ParamsSetAccessCategoryParams()
  298. ****************************************************************************
  299. * DESCRIPTION: Access Category Parameters :(IE ACX_AC_CFG)
  300. ****************************************************************************/
  301. int whal_ParamsSetAccessCategoryParams(WhalParams_T *pWhalParams,acQueuesParams_t* pAcQueuesParams)
  302. {
  303. /* Calculate the Qid from the Ac and save in a local table */
  304. whal_ParamsSetQidToAcTable(pWhalParams, pAcQueuesParams->qId, pAcQueuesParams->acId);
  305. os_memoryCopy(pWhalParams->hOs,
  306. (void *)&(pWhalParams->TxParams.halAcQueueParams[pAcQueuesParams->qId]),
  307. (void *)pAcQueuesParams, sizeof(acQueuesParams_t));
  308. return OK;
  309. }
  310. /****************************************************************************
  311. * whal_ParamsSetAccessCategoryAckPolicy()
  312. ****************************************************************************
  313. * DESCRIPTION: set Ac Ack Policy according to Ac ID , No Ack = 0, Ack = 1
  314. ****************************************************************************/
  315. int whal_ParamsSetAccessCategoryAckPolicy(WhalParams_T *pWhalParams, BOOL AckPolicy,UINT8 AcID)
  316. {
  317. WLAN_REPORT_INFORMATION(pWhalParams->hReport, HAL_HW_CTRL_MODULE_LOG,
  318. ("\n whal_ParamsSetAccessCategoryAckPolicy: Set Access Category =%d to Ack Policy = %d \n", AcID, AckPolicy));
  319. pWhalParams->TxParams.AckPolicy[AcID] = AckPolicy;
  320. return OK;
  321. }
  322. /****************************************************************************
  323. * whal_ParamsSetQidToAcTable()
  324. ****************************************************************************
  325. * DESCRIPTION: set Qid according to Queue ID
  326. ****************************************************************************/
  327. void whal_ParamsSetQidToAcTable(WhalParams_T *pWhalParams,UINT8 Qid,UINT8 AcId)
  328. {
  329. pWhalParams->TxParams.QidToAcTable[Qid] = AcId;
  330. }
  331. /****************************************************************************
  332. * whal_ParamsGetAcIdFromQid()
  333. ****************************************************************************
  334. * DESCRIPTION: Get the Ac Id according to the Queue id
  335. ****************************************************************************/
  336. UINT8 whal_ParamsGetAcIdFromQid(WhalParams_T *pWhalParams,UINT8 Qid)
  337. {
  338. return (pWhalParams->TxParams.QidToAcTable[Qid]);
  339. }
  340. /****************************************************************************
  341. * whal_ParamsGetAtimWindow()
  342. ****************************************************************************
  343. * DESCRIPTION: return the ATim Window
  344. ****************************************************************************/
  345. UINT16 whal_ParamsGetAtimWindow (WhalParams_T *pWhalParams)
  346. {
  347. return (pWhalParams->BssInfoParams.ATimWindow);
  348. }
  349. /****************************************************************************
  350. * whal_ParamsSetAtimWindow()
  351. ****************************************************************************
  352. * DESCRIPTION: set the ATim Window
  353. ****************************************************************************/
  354. void whal_ParamsSetAtimWindow(WhalParams_T *pWhalParams, UINT16 ATimWindow)
  355. {
  356. pWhalParams->BssInfoParams.ATimWindow = ATimWindow;
  357. }
  358. /*
  359. * --------------------------------------------------------------------------
  360. * Bss Info params
  361. * --------------------------------------------------------------------------
  362. */
  363. #define DEFAULT_HW_GEN_PREAMBLE_TYPE CCK_LONG /* Long Preamble */
  364. #define DEFAULT_HW_GEN_TX_RATE RATE_2MBPS
  365. #define DEFAULT_HW_GEN_TX_RATE_DRIVER_FORMAT DRV_RATE_2M
  366. int genMacCopy(char *Mac2, char *Mac1)
  367. {
  368. register int MacSize=6;
  369. while(MacSize--)
  370. *Mac2++ = *Mac1++;
  371. return OK;
  372. }
  373. /****************************************************************************
  374. * whal_ParamsInitBssInfoParams()
  375. ****************************************************************************
  376. * DESCRIPTION: Initiate BssInfo to the default values
  377. *
  378. * INPUTS:
  379. *
  380. * OUTPUT: None
  381. *
  382. * RETURNS:
  383. ****************************************************************************/
  384. int whal_ParamsInitBssInfoParams(WhalParams_T *pWhalParams, BOOL TxFlashEnable)
  385. {
  386. BssInfoParams_T *pBssInfoParams = &pWhalParams->BssInfoParams;
  387. pBssInfoParams->txCtrlFrmRateDriverFormat = DEFAULT_HW_GEN_TX_RATE_DRIVER_FORMAT;
  388. pBssInfoParams->txCtrlFrmModulation = DEFAULT_HW_GEN_PREAMBLE_TYPE;
  389. pBssInfoParams->txCtrlFrmRate = DEFAULT_HW_GEN_TX_RATE;
  390. pBssInfoParams->txMgmtFrmModulation = DEFAULT_HW_GEN_PREAMBLE_TYPE;
  391. pBssInfoParams->txMgmtFrmRate = DEFAULT_HW_GEN_TX_RATE;
  392. pBssInfoParams->RadioChannel = DEFAULT_HW_RADIO_CHANNEL;
  393. pBssInfoParams->Ctrl = 0;
  394. /* Intilaize the ctrl field in the BSS join structure */
  395. /* Only bit_7 in the ctrl field is vurrently in use.
  396. If bit_7 is on => Doing Tx flash before joining new AP */
  397. if(TxFlashEnable)
  398. pBssInfoParams->Ctrl |= JOIN_CMD_CTRL_TX_FLUSH;
  399. return OK;
  400. }
  401. /****************************************************************************
  402. * whal_ParamsGetBssInfoParams()
  403. ****************************************************************************
  404. * DESCRIPTION: return pointer to the BssInfo params
  405. ****************************************************************************/
  406. BssInfoParams_T *whal_ParamsGetBssInfoParams(WhalParams_T *pWhalParams)
  407. {
  408. return (&pWhalParams->BssInfoParams);
  409. }
  410. /****************************************************************************
  411. * whal_ParamsGetRadioChannel()
  412. ****************************************************************************
  413. * DESCRIPTION: return the radio channel
  414. ****************************************************************************/
  415. UINT8 whal_ParamsGetRadioChannel(WhalParams_T *pWhalParams)
  416. {
  417. return (pWhalParams->BssInfoParams.RadioChannel);
  418. }
  419. /****************************************************************************
  420. * whal_ParamsSetRadioChannel()
  421. ****************************************************************************
  422. * DESCRIPTION: set the radio channel
  423. ****************************************************************************/
  424. void whal_ParamsSetRadioChannel(WhalParams_T *pWhalParams, int Channel)
  425. {
  426. pWhalParams->BssInfoParams.RadioChannel = (UINT8)Channel;
  427. }
  428. /****************************************************************************
  429. * whal_ParamsGetDefaultChannel()
  430. ****************************************************************************
  431. * DESCRIPTION: return the default channel to start from
  432. ****************************************************************************/
  433. UINT8 whal_ParamsGetDefaultChannel(WhalParams_T *pWhalParams)
  434. {
  435. WlanParams_T *pWlanParams = &pWhalParams->WlanParams;
  436. if (RADIO_BAND_5_0_GHZ == pWlanParams->RadioBand)
  437. {
  438. return pWlanParams->calibrationChannel5_0;
  439. }
  440. else
  441. {
  442. return pWlanParams->calibrationChannel2_4;
  443. }
  444. }
  445. /****************************************************************************
  446. * whal_ParamsSetReqBssType()
  447. ****************************************************************************
  448. * DESCRIPTION: set the bss type (driver enum)
  449. ****************************************************************************/
  450. void whal_ParamsSetReqBssType(WhalParams_T *pWhalParams, int Val)
  451. {
  452. pWhalParams->BssInfoParams.ReqBssType = Val;
  453. }
  454. /****************************************************************************
  455. * whal_ParamsGetReqBssType()
  456. ****************************************************************************
  457. * DESCRIPTION: get the bss type (driver enum)
  458. ****************************************************************************/
  459. UINT8 whal_ParamsGetReqBssType(WhalParams_T *pWhalParams)
  460. {
  461. return pWhalParams->BssInfoParams.ReqBssType;
  462. }
  463. /****************************************************************************
  464. * whal_ParamsSetBssType()
  465. ****************************************************************************
  466. * DESCRIPTION: set the bss type (public enum)
  467. ****************************************************************************/
  468. void whal_ParamsSetBssType(WhalParams_T *pWhalParams, int Val)
  469. {
  470. pWhalParams->BssInfoParams.BssType = Val;
  471. }
  472. /****************************************************************************
  473. * whal_ParamsSetRadioBand()
  474. ****************************************************************************
  475. * DESCRIPTION: set the radio band
  476. ****************************************************************************/
  477. void whal_ParamsSetRadioBand(WhalParams_T *pWhalParams, int RadioBand)
  478. {
  479. pWhalParams->WlanParams.RadioBand = (UINT8)RadioBand;
  480. }
  481. /****************************************************************************
  482. * whal_ParamsGetRadioBand()
  483. ****************************************************************************
  484. * DESCRIPTION: get the radio band
  485. ****************************************************************************/
  486. UINT8 whal_ParamsGetRadioBand(WhalParams_T *pWhalParams)
  487. {
  488. return (pWhalParams->WlanParams.RadioBand);
  489. }
  490. /****************************************************************************
  491. * whal_ParamsSetPowerSaveState()
  492. ****************************************************************************
  493. * DESCRIPTION: set the power save state
  494. ****************************************************************************/
  495. void whal_ParamsSetPowerSaveState(WhalParams_T *pWhalParams, UINT8 CurrPowerSaveState)
  496. {
  497. pWhalParams->WlanParams.CurrPowerSaveState = (UINT8)CurrPowerSaveState;
  498. }
  499. /****************************************************************************
  500. * whal_ParamsGetPowerSaveState()
  501. ****************************************************************************
  502. * DESCRIPTION: get the power save state
  503. ****************************************************************************/
  504. UINT8 whal_ParamsGetPowerSaveState(WhalParams_T *pWhalParams)
  505. {
  506. return (pWhalParams->WlanParams.CurrPowerSaveState);
  507. }
  508. /****************************************************************************
  509. * whal_ParamsGetBssType()
  510. ****************************************************************************
  511. * DESCRIPTION: return the bss type
  512. ****************************************************************************/
  513. UINT8 whal_ParamsGetBssType(WhalParams_T *pWhalParams)
  514. {
  515. return (pWhalParams->BssInfoParams.BssType);
  516. }
  517. /****************************************************************************
  518. * whal_ParamsSetBeaconInterval()
  519. ****************************************************************************
  520. * DESCRIPTION: set the beacon interval
  521. ****************************************************************************/
  522. void whal_ParamsSetBeaconInterval(WhalParams_T *pWhalParams, UINT16 Val)
  523. {
  524. pWhalParams->BssInfoParams.BeaconInterval = Val;
  525. }
  526. /****************************************************************************
  527. * whal_ParamsGetBeaconInterval()
  528. ****************************************************************************
  529. * DESCRIPTION: return the beacon interval
  530. ****************************************************************************/
  531. UINT16 whal_ParamsGetBeaconInterval(WhalParams_T *pWhalParams)
  532. {
  533. return (pWhalParams->BssInfoParams.BeaconInterval);
  534. }
  535. /****************************************************************************
  536. * whal_ParamsSetDtimCount()
  537. ****************************************************************************
  538. * DESCRIPTION: set the dtim count interval
  539. ****************************************************************************/
  540. void whal_ParamsSetDtimCount(WhalParams_T *pWhalParams, UINT8 Val)
  541. {
  542. pWhalParams->BssInfoParams.DtimInterval = Val;
  543. }
  544. /****************************************************************************
  545. * whal_ParamsGetDtimCount()
  546. ****************************************************************************
  547. * DESCRIPTION: return the Dtim count interval
  548. ****************************************************************************/
  549. UINT8 whal_ParamsGetDtimCount(WhalParams_T *pWhalParams)
  550. {
  551. return (pWhalParams->BssInfoParams.DtimInterval);
  552. }
  553. /****************************************************************************
  554. * whal_ParamsGetBssId()
  555. ****************************************************************************
  556. * DESCRIPTION: return the Bss Id
  557. ****************************************************************************/
  558. UINT8 *whal_ParamsGetBssId(WhalParams_T *pWhalParams)
  559. {
  560. return (pWhalParams->BssInfoParams.BssId);
  561. }
  562. /****************************************************************************
  563. * whal_ParamsSetBssId()
  564. ****************************************************************************
  565. * DESCRIPTION: set the Bss Id
  566. ****************************************************************************/
  567. void whal_ParamsSetBssId(WhalParams_T *pWhalParams, char *BssId)
  568. {
  569. genMacCopy((char *)pWhalParams->BssInfoParams.BssId, BssId);
  570. }
  571. /****************************************************************************
  572. * whal_ParamsGetElm_Ssid()
  573. ****************************************************************************
  574. * DESCRIPTION: return the SSID info element
  575. ****************************************************************************/
  576. dot11_SSID_t *whal_ParamsGetElm_Ssid(WhalParams_T *pWhalParams)
  577. {
  578. return (&pWhalParams->BssInfoParams.WlanElm_Ssid);
  579. }
  580. /****************************************************************************
  581. * whal_ParamsSetSsid()
  582. ****************************************************************************
  583. * DESCRIPTION: set the SSID
  584. ****************************************************************************/
  585. void whal_ParamsSetSsid(WhalParams_T *pWhalParams, char *InputSsid, UINT8 SsidLength)
  586. {
  587. BssInfoParams_T *pBssInfoParams = &pWhalParams->BssInfoParams;
  588. pBssInfoParams->WlanElm_Ssid.hdr.eleLen = SsidLength;
  589. os_memoryZero(pWhalParams->hOs, (void *)pBssInfoParams->WlanElm_Ssid.serviceSetId,
  590. sizeof(pBssInfoParams->WlanElm_Ssid.serviceSetId));
  591. os_memoryCopy(pWhalParams->hOs, (void *)pBssInfoParams->WlanElm_Ssid.serviceSetId, (void *)InputSsid, SsidLength);
  592. }
  593. /****************************************************************************
  594. * whal_ParamsSetBasicRates()
  595. ****************************************************************************
  596. * DESCRIPTION: set the basic rate set
  597. ****************************************************************************/
  598. void whal_ParamsSetBasicRatesSet(WhalParams_T *pWhalParams, UINT16 BasicRateSet)
  599. {
  600. pWhalParams->BssInfoParams.BasicRateSet = BasicRateSet;
  601. }
  602. /****************************************************************************
  603. * whal_ParamsSetHwGenTxParams()
  604. ****************************************************************************
  605. * DESCRIPTION: set the hardware and firmware generated Tx rate (convert to HW coding).
  606. *
  607. ****************************************************************************/
  608. void whal_ParamsSetHwGenTxParams(WhalParams_T *pWhalParams, rate_e TxRate, BOOL bCtrlFrame)
  609. {
  610. /* Set The Rate & modulation for CTS, RTS, and PS-Poll frames (not including CTS-protection). */
  611. if (bCtrlFrame)
  612. {
  613. pWhalParams->BssInfoParams.txCtrlFrmRateDriverFormat = TxRate;
  614. whalUtils_ConvertAppRate(TxRate, &pWhalParams->BssInfoParams.txCtrlFrmRate);
  615. whalUtils_FindHwModulationByDrvRate(TxRate, &pWhalParams->BssInfoParams.txCtrlFrmModulation, pWhalParams->WlanParams.preamble);
  616. }
  617. /* Set The Rate & modulation for Beacon and Probe-Response frames (IBSS). */
  618. else
  619. {
  620. whalUtils_ConvertAppRate(TxRate, &pWhalParams->BssInfoParams.txMgmtFrmRate);
  621. whalUtils_FindHwModulationByDrvRate(TxRate, &pWhalParams->BssInfoParams.txMgmtFrmModulation, pWhalParams->WlanParams.preamble);
  622. }
  623. }
  624. /****************************************************************************
  625. * whal_ParamsSetBasicRates()
  626. ****************************************************************************
  627. * DESCRIPTION: set the basic rate set
  628. ****************************************************************************/
  629. void whal_ParamsSetSupportedRatesSet(WhalParams_T *pWhalParams, UINT16 SupportedRateSet)
  630. {
  631. pWhalParams->BssInfoParams.SupportedRateSet = SupportedRateSet;
  632. }
  633. /****************************************************************************
  634. * whal_ParamsGetMacPreambleParams()
  635. ****************************************************************************
  636. * DESCRIPTION: return pointer to the Mac Preamble Params
  637. ****************************************************************************/
  638. void whal_ParamsGetMacPreambleParams(WhalParams_T *pWhalParams, UINT8* earlyWakeUp)
  639. {
  640. *earlyWakeUp = pWhalParams->WlanParams.earlyWakeUp;
  641. }
  642. /*
  643. * --------------------------------------------------------------------------
  644. * wlan params
  645. * --------------------------------------------------------------------------
  646. */
  647. #define DEFAULT_CW_MIN 15
  648. #define DEFAULT_USE_DEVICE_ERROR_INTERRUPT 1
  649. /****************************************************************************
  650. * whal_ParamsInitWlanParams()
  651. ****************************************************************************
  652. * DESCRIPTION: Initiate GenParams to the default values
  653. *
  654. * INPUTS:
  655. *
  656. * OUTPUT: None
  657. *
  658. * RETURNS:
  659. ****************************************************************************/
  660. int whal_ParamsInitWlanParams(WhalParams_T *pWhalParams)
  661. {
  662. WlanParams_T *pWlanParams = &pWhalParams->WlanParams;
  663. /*
  664. * init filters as station (start/join with BssType will overwrite the values)
  665. */
  666. whal_ParamsSetRxFilter(pWhalParams, RX_CONFIG_OPTION_MY_DST_MY_BSS, RX_FILTER_OPTION_FILTER_ALL);
  667. pWlanParams->UseDeviceErrorInterrupt = DEFAULT_USE_DEVICE_ERROR_INTERRUPT;
  668. /*
  669. * All other params are zero and will be set externally on the Create/Config phase
  670. */
  671. return OK;
  672. }
  673. /****************************************************************************
  674. * whal_ParamsGetWlanParams()
  675. ****************************************************************************
  676. * DESCRIPTION: return pointer to the GenParams
  677. ****************************************************************************/
  678. WlanParams_T *whal_ParamsGetWlanParams(WhalParams_T *pWhalParams)
  679. {
  680. return (&pWhalParams->WlanParams);
  681. }
  682. /****************************************************************************
  683. * whal_ParamsSetFragmentThreshold()
  684. ****************************************************************************
  685. * DESCRIPTION: set the fragmentation threshold
  686. ****************************************************************************/
  687. void whal_ParamsSetFragmentThreshold(WhalParams_T *pWhalParams, int FragSize)
  688. {
  689. pWhalParams->WlanParams.FragmentThreshold = FragSize;
  690. }
  691. /****************************************************************************
  692. * whal_ParamsPrintFragmentThreshold()
  693. ****************************************************************************
  694. * DESCRIPTION: print the fragmentation threshold
  695. ****************************************************************************/
  696. void whal_ParamsPrintFragmentThreshold(WhalParams_T *pWhalParams)
  697. {
  698. WLAN_REPORT_REPLY(pWhalParams->hReport, HAL_HW_CTRL_MODULE_LOG,
  699. ("\n FragmentThreshold = %d\n", pWhalParams->WlanParams.FragmentThreshold));
  700. }
  701. /****************************************************************************
  702. * whal_ParamsPrintFragmentThreshold()
  703. ****************************************************************************
  704. * DESCRIPTION: print the fragmentation threshold
  705. ****************************************************************************/
  706. UINT8 whal_ParamsIsFragmentOnHal(WhalParams_T *pWhalParams)
  707. {
  708. return (pWhalParams->WlanParams.FragmentationOnHal);
  709. }
  710. /****************************************************************************
  711. * whal_ParamsGetFragmentThreshold()
  712. ****************************************************************************
  713. * DESCRIPTION: return the fragmentation threshold
  714. ****************************************************************************/
  715. UINT32 whal_ParamsGetFragmentThreshold(WhalParams_T *pWhalParams)
  716. {
  717. return (pWhalParams->WlanParams.FragmentThreshold);
  718. }
  719. /****************************************************************************
  720. * whal_ParamsGetFragmentThreshold()
  721. ****************************************************************************
  722. * DESCRIPTION: return the fragmentation threshold
  723. ****************************************************************************/
  724. UINT8 whal_ParamsGetMaxSitesFragCollect(WhalParams_T *pWhalParams)
  725. {
  726. return (pWhalParams->WlanParams.maxSitesFragCollect);
  727. }
  728. /****************************************************************************
  729. * whal_ParamsSetRtsThreshold()
  730. ****************************************************************************
  731. * DESCRIPTION: set the rts threshold
  732. ****************************************************************************/
  733. void whal_ParamsSetRtsThreshold(WhalParams_T *pWhalParams, int RtsSize)
  734. {
  735. pWhalParams->WlanParams.RtsThreshold = RtsSize;
  736. }
  737. /****************************************************************************
  738. * whal_ParamsSetListenInterval()
  739. ****************************************************************************
  740. * DESCRIPTION: set the Listen Interval
  741. ****************************************************************************/
  742. void whal_ParamsSetListenInterval(WhalParams_T *pWhalParams, UINT8 Val)
  743. {
  744. pWhalParams->WlanParams.ListenInterval = Val;
  745. }
  746. /****************************************************************************
  747. * whal_ParamsGetListenInterval()
  748. ****************************************************************************
  749. * DESCRIPTION: get the Listen Interval
  750. ****************************************************************************/
  751. UINT8 whal_ParamsGetListenInterval(WhalParams_T *pWhalParams)
  752. {
  753. return (pWhalParams->WlanParams.ListenInterval);
  754. }
  755. /****************************************************************************
  756. * whal_ParamsSetRxFilter()
  757. ****************************************************************************
  758. * DESCRIPTION: set the wlan hardware filters
  759. ****************************************************************************/
  760. void whal_ParamsSetRxFilter(WhalParams_T *pWhalParams, UINT32 RxConfigOption, UINT32 RxFilterOption)
  761. {
  762. pWhalParams->WlanParams.RxConfigOption = RxConfigOption;
  763. pWhalParams->WlanParams.RxFilterOption = RxFilterOption;
  764. pWhalParams->WlanParams.RxConfigOption |= RX_CFG_ENABLE_PHY_HEADER_PLCP;
  765. #if defined (TNETW_MASTER_MODE) || defined (TNETW_USB_MODE)
  766. pWhalParams->WlanParams.RxConfigOption |= RX_CFG_COPY_RX_STATUS;
  767. #endif
  768. if(pWhalParams->WlanParams.RxDisableBroadcast)
  769. pWhalParams->WlanParams.RxConfigOption |= RX_CFG_DISABLE_BCAST;
  770. }
  771. /****************************************************************************
  772. * whal_ParamsGetRxFilter()
  773. ****************************************************************************
  774. * DESCRIPTION: Get the wlan hardware filters
  775. ****************************************************************************/
  776. void whal_ParamsGetRxFilter(WhalParams_T *pWhalParams, UINT32* pRxConfigOption, UINT32* pRxFilterOption)
  777. {
  778. *pRxConfigOption = pWhalParams->WlanParams.RxConfigOption;
  779. *pRxFilterOption = pWhalParams->WlanParams.RxFilterOption;
  780. }
  781. /****************************************************************************
  782. * whal_ParamsSetarpIpAddressesTable()
  783. ****************************************************************************
  784. * DESCRIPTION: set the wlan hardware filters
  785. ****************************************************************************/
  786. void whal_ParamsSetarpIpAddressesTable(WhalParams_T * pWhalParams, IpAddress_t * IP_addr, IPver_e IP_ver)
  787. {
  788. pWhalParams->WlanParams.arp_IP_ver = IP_ver;
  789. if (IP_ver == IP_VER_4)
  790. {
  791. os_memoryCopy(pWhalParams->hOs, (PVOID)pWhalParams->WlanParams.arp_IP_addr.addr, (PVOID)IP_addr, IP_V4_ADDR_LEN);
  792. }
  793. else /* IP_VER_6*/
  794. {
  795. os_memoryCopy(pWhalParams->hOs, (PVOID)pWhalParams->WlanParams.arp_IP_addr.addr, (PVOID)IP_addr, IP_V6_ADDR_LEN);
  796. }
  797. }
  798. /****************************************************************************
  799. * whal_ParamsGetarpIpAddressesTable()
  800. ****************************************************************************
  801. * DESCRIPTION: get the wlan hardware filters
  802. ****************************************************************************/
  803. void whal_ParamsGetarpIpAddressesTable(WhalParams_T * pWhalParams, IpAddress_t * IP_addr, IPver_e* pIP_ver)
  804. {
  805. *pIP_ver = (IPver_e)pWhalParams->WlanParams.arp_IP_ver;
  806. if (*pIP_ver == IP_VER_4)
  807. {
  808. os_memoryCopy(pWhalParams->hOs, (PVOID)IP_addr, (PVOID)pWhalParams->WlanParams.arp_IP_addr.addr, IP_V4_ADDR_LEN);
  809. }
  810. else /* IP_VER_6*/
  811. {
  812. os_memoryCopy(pWhalParams->hOs, (PVOID)IP_addr, (PVOID)pWhalParams->WlanParams.arp_IP_addr.addr, IP_V6_ADDR_LEN);
  813. }
  814. }
  815. /****************************************************************************
  816. * whal_ParamsSetarpIpFilterEnabled()
  817. ****************************************************************************
  818. * DESCRIPTION: set the wlan hardware filters
  819. ****************************************************************************/
  820. void whal_ParamsSetarpIpFilterEnabled(WhalParams_T * pWhalParams, UINT8 isEnabled)
  821. {
  822. if ( NULL != pWhalParams )
  823. {
  824. pWhalParams->WlanParams.isArpIpFilteringEnabled = isEnabled;
  825. }
  826. }
  827. /****************************************************************************
  828. * whal_ParamsGetarpIpFilterEnabled()
  829. ****************************************************************************
  830. * DESCRIPTION: set the wlan hardware filters
  831. ****************************************************************************/
  832. void whal_ParamsGetarpIpFilterEnabled(WhalParams_T * pWhalParams, UINT8* pisEnabled)
  833. {
  834. if ( NULL != pWhalParams )
  835. {
  836. *pisEnabled = pWhalParams->WlanParams.isArpIpFilteringEnabled;
  837. }
  838. }
  839. /****************************************************************************
  840. * whal_ParamsSetGroupAddressesTable()
  841. ****************************************************************************
  842. * DESCRIPTION: set the Group addr table
  843. ****************************************************************************/
  844. void whal_ParamsSetGroupAddressesTable(WhalParams_T *pWhalParams, UINT8 isEnabled, UINT8 numGroupAddrs, macAddress_t *Group_addr)
  845. {
  846. int i;
  847. pWhalParams->WlanParams.numGroupAddrs = numGroupAddrs;
  848. pWhalParams->WlanParams.isMacAddrFilteringnabled = isEnabled;
  849. for ( i=0 ; i < numGroupAddrs; i++)
  850. {
  851. os_memoryCopy(pWhalParams->hOs, (PVOID)&(pWhalParams->WlanParams.Group_addr[i]), (PVOID)&(Group_addr->addr[MAC_ADDR_SIZE*i]), MAC_ADDR_SIZE);
  852. }
  853. }
  854. /****************************************************************************
  855. * whal_ParamsGetGroupAddressesTable()
  856. ****************************************************************************
  857. * DESCRIPTION: get the Group addr table
  858. ****************************************************************************/
  859. void whal_ParamsGetGroupAddressesTable(WhalParams_T *pWhalParams, UINT8* pisEnabled, UINT8* pnumGroupAddrs, macAddress_t *Group_addr)
  860. {
  861. int i;
  862. *pnumGroupAddrs = pWhalParams->WlanParams.numGroupAddrs;
  863. *pisEnabled = pWhalParams->WlanParams.isMacAddrFilteringnabled;
  864. os_memoryZero(pWhalParams->hOs, Group_addr, sizeof(Group_addr));
  865. for (i=0 ; i < *pnumGroupAddrs; i++)
  866. {
  867. os_memoryCopy(pWhalParams->hOs, (void *)&(Group_addr->addr[MAC_ADDR_SIZE*i]), &pWhalParams->WlanParams.Group_addr[i], MAC_ADDR_SIZE);
  868. }
  869. }
  870. /****************************************************************************
  871. * whal_ParamsGetCurrAntenna()
  872. ****************************************************************************
  873. * DESCRIPTION: get the current antenna setting
  874. ****************************************************************************/
  875. UINT8 whal_ParamsGetCurrAntenna(WhalParams_T *pWhalParams)
  876. {
  877. return (pWhalParams->WlanParams.CurrAntenna);
  878. }
  879. /*
  880. * --------------------------------------------------------------------------
  881. * General params
  882. * --------------------------------------------------------------------------
  883. */
  884. #define DEFAULT_TRACE_ENABLE 0
  885. #define DEFAULT_TRACE_OUT 0
  886. #define DEFAULT_PBCC_DYNAMIC_ENABLE_VAL 0
  887. #define DEFAULT_PBCC_DYNAMIC_INTERVAL 500 /* ticks */
  888. #define DEFAULT_PBCC_DYNAMIC_IGNORE_MCAST 0
  889. /****************************************************************************
  890. * whal_ParamsInitGenParams()
  891. ****************************************************************************
  892. * DESCRIPTION: Initiate GenParams to the default values
  893. *
  894. * INPUTS:
  895. *
  896. * OUTPUT: None
  897. *
  898. * RETURNS:
  899. ****************************************************************************/
  900. int whal_ParamsInitGenParams(WhalParams_T *pWhalParams)
  901. {
  902. GenParams_T *pGenParams = &pWhalParams->GenParams;
  903. whal_ParamsSetPbccDynamicEnableVal(pWhalParams, DEFAULT_PBCC_DYNAMIC_ENABLE_VAL);
  904. pGenParams->PbccDynamicInterval = DEFAULT_PBCC_DYNAMIC_INTERVAL;
  905. pGenParams->PbccDynamicIgnoreMcast = DEFAULT_PBCC_DYNAMIC_IGNORE_MCAST;
  906. pGenParams->TraceEnable = DEFAULT_TRACE_ENABLE;
  907. pGenParams->TraceOut = DEFAULT_TRACE_OUT;
  908. return OK;
  909. }
  910. /****************************************************************************
  911. * whal_ParamsInitGenCounters()
  912. ****************************************************************************
  913. * DESCRIPTION: Initiate GenCounters to the default values
  914. *
  915. * INPUTS:
  916. *
  917. * OUTPUT: None
  918. *
  919. * RETURNS:
  920. ****************************************************************************/
  921. int whal_ParamsInitGenCounters(WhalParams_T *pWhalParams)
  922. {
  923. GenCounters_T *pGenCounters = &pWhalParams->GenCounters;
  924. pGenCounters->FcsErrCnt = 0;
  925. return OK;
  926. }
  927. /****************************************************************************
  928. * whal_ParamsGetGenParams()
  929. ****************************************************************************
  930. * DESCRIPTION: return pointer to the GenParams
  931. ****************************************************************************/
  932. GenParams_T *whal_ParamsGetGenParams(WhalParams_T *pWhalParams)
  933. {
  934. return (&pWhalParams->GenParams);
  935. }
  936. /****************************************************************************
  937. * whal_ParamsGetPbccDynamicEnableVal()
  938. ****************************************************************************
  939. * DESCRIPTION: return the use of Dynamic pbcc enable
  940. ****************************************************************************/
  941. UINT32 whal_ParamsGetPbccDynamicEnableVal(WhalParams_T *pWhalParams)
  942. {
  943. return (pWhalParams->GenParams.PbccDynamicEnable);
  944. }
  945. /****************************************************************************
  946. * whal_ParamsSetPbccDynamic()
  947. ****************************************************************************
  948. * DESCRIPTION: set the use of Dynamic pbcc enable
  949. ****************************************************************************/
  950. void whal_ParamsSetPbccDynamicEnableVal(WhalParams_T *pWhalParams, int EnableVal)
  951. {
  952. pWhalParams->GenParams.PbccDynamicEnable = EnableVal;
  953. if (EnableVal)
  954. whal_ParamsSetRxFilter(pWhalParams, (UINT16)RX_CONFIG_OPTION_ANY_DST_ANY_BSS, (UINT16)RX_FILTER_OPTION_DEF);
  955. else
  956. whal_ParamsSetRxFilter(pWhalParams, (UINT16)RX_CONFIG_OPTION_ANY_DST_MY_BSS, (UINT16)RX_FILTER_OPTION_DEF);
  957. }
  958. /*
  959. * --------------------------------------------------------------------------
  960. * Wlan hardware Info params
  961. * --------------------------------------------------------------------------
  962. */
  963. /****************************************************************************
  964. * whal_ParamsInitHwInfoParams()
  965. ****************************************************************************
  966. * DESCRIPTION: Initiate Hw info params
  967. *
  968. * INPUTS:
  969. *
  970. * OUTPUT: None
  971. *
  972. * RETURNS:
  973. ****************************************************************************/
  974. int whal_ParamsInitHwInfoParams(WhalParams_T *pWhalParams)
  975. {
  976. return OK;
  977. }
  978. /****************************************************************************
  979. * whal_ParamsGetSrcMac()
  980. ****************************************************************************
  981. * DESCRIPTION: return the AP mac address
  982. ****************************************************************************/
  983. UINT8 *whal_ParamsGetSrcMac(WhalParams_T *pWhalParams)
  984. {
  985. return (pWhalParams->HwInfoParams.SrcMacAddr);
  986. }
  987. /****************************************************************************
  988. * whal_ParamsSetSrcMac()
  989. ****************************************************************************
  990. * DESCRIPTION: set the SrcMac
  991. ****************************************************************************/
  992. void whal_ParamsSetSrcMac(WhalParams_T *pWhalParams, char *SrcMac)
  993. {
  994. genMacCopy((char *)pWhalParams->HwInfoParams.SrcMacAddr, SrcMac);
  995. }
  996. /****************************************************************************
  997. * whal_ParamsGetRadioType()
  998. ****************************************************************************
  999. * DESCRIPTION: return the Radio type from the ConfigOptions
  1000. ****************************************************************************/
  1001. char whal_ParamsGetRadioType(WhalParams_T *pWhalParams)
  1002. {
  1003. return (pWhalParams->WlanParams.radioType);
  1004. }
  1005. /****************************************************************************
  1006. * whal_ParamsHwNvramPrint()
  1007. ****************************************************************************
  1008. * DESCRIPTION: Print ConfigOptions
  1009. ****************************************************************************/
  1010. void whal_ParamsHwNvramPrint(WhalParams_T *pWhalParams)
  1011. {
  1012. /* for future use */
  1013. }
  1014. /****************************************************************************
  1015. * whal_ParamsGetAcxVersion()
  1016. ****************************************************************************
  1017. * DESCRIPTION: return wlan hardware/software version
  1018. ****************************************************************************/
  1019. ACXRevision_t *whal_ParamsGetAcxVersion(WhalParams_T *pWhalParams)
  1020. {
  1021. return (&pWhalParams->HwInfoParams.AcxVersion);
  1022. }
  1023. /****************************************************************************
  1024. * whal_ParamsGetFwVersion()
  1025. **…

Large files files are truncated, but you can click here to view the full file