Home | History | Annotate | Download | only in Ctrl

Lines Matching refs:pCtrlData

60 static void ctrlData_setTxRatePolicies(ctrlData_t *pCtrlData);
69 static void ctrlData_storeTSRateSet(ctrlData_t *pCtrlData, txDataQosParams_t *tsrsParams);
70 static rate_e ctrlData_getClosestTSRate(ctrlData_t *pCtrlData, UINT32 ac, rate_e givenRate);
195 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
210 pCtrlData->hWhalCtrl = hWhalCtrl;
211 pCtrlData->hSiteMgr = hSiteMgrHandle;
212 pCtrlData->hTxData = hTxData;
213 pCtrlData->hRxData = hRxData;
214 pCtrlData->hOs = hOs;
215 pCtrlData->hReport = hReport;
216 pCtrlData->hAPConn = hAPConnection;
217 pCtrlData->hEvHandler = hEvHandler;
218 pCtrlData->hTrafficMonitor = hTrafficMonitor;
220 pCtrlData->disassocSentCBObj = disassocSentCBObj;
221 pCtrlData->disassocSentCBFunc = disassocSentCBFunc;
224 pCtrlData->ctrlDataRateControlEnable = ctrlDataInitParams->ctrlDataRateControlEnable;
225 pCtrlData->ctrlDataIbssProtectionType = ctrlDataInitParams->ctrlDataDesiredIbssProtection;
226 pCtrlData->ctrlDataRtsCtsStatus = ctrlDataInitParams->ctrlDataDesiredCtsRtsStatus;
229 pCtrlData->ctrlDataFourXEnable = ctrlDataInitParams->ctrlDataFourXEnable;
230 pCtrlData->ctrlDataCerruentFourXstate = ctrlDataInitParams->ctrlDataFourXEnable;
232 pCtrlData->ctrlDataFourXEnable = FALSE;
233 pCtrlData->ctrlDataCerruentFourXstate = FALSE;
236 MAC_COPY(pCtrlData->hOs, (&pCtrlData->ctrlDataDeviceMacAddress),
239 pCtrlData->ctrlDataStartStoplinkControlAlg = DEF_START_STOP_LINK_CTRL_ALG;
240 pCtrlData->ctrlDataCurrentBasicRate = DEF_BASIC_RATE;
241 pCtrlData->ctrlDataBasicRateBitMask = DEF_BASIC_RATE_MASK;
242 pCtrlData->ctrlDataCurrentBasicModulationType = DRV_MODULATION_QPSK;
243 pCtrlData->ctrlDataCurrentModulationType = DEF_CURRENT_MUDULATION_TYPE;
244 pCtrlData->ctrlDataCurrentBssType = BSS_INFRASTRUCTURE;
245 os_memoryCopy(pCtrlData->hOs, &pCtrlData->ctrlDataRateTables,
251 pCtrlData->bIsClassAvailable[clientIDindex] = TRUE;
253 pCtrlData->currClientRateMask[clientIDindex] = ALL_RATES_AVAILABLE;
254 pCtrlData->nextClientRateMask[clientIDindex] = ALL_RATES_AVAILABLE;
260 pCtrlData->ctrlDataTxRatePolicy.rateClass[clientIDindex*MAX_NUM_OF_AC+ac].longRetryLimit = ctrlDataInitParams->ctrlDataTxRatePolicy[clientIDindex].longRetryLimit;
261 pCtrlData->ctrlDataTxRatePolicy.rateClass[clientIDindex*MAX_NUM_OF_AC+ac].shortRetryLimit = ctrlDataInitParams->ctrlDataTxRatePolicy[clientIDindex].shortRetryLimit;
266 pCtrlData->policyClassRatesArrayCck[clientIDindex].txRate[TxRateIndex] = ctrlDataInitParams->policyClassRatesArrayCck[clientIDindex].txRate[TxRateIndex];
267 pCtrlData->policyClassRatesArrayPbcc[clientIDindex].txRate[TxRateIndex] = ctrlDataInitParams->policyClassRatesArrayPbcc[clientIDindex].txRate[TxRateIndex];
268 pCtrlData->policyClassRatesArrayOfdm[clientIDindex].txRate[TxRateIndex] = ctrlDataInitParams->policyClassRatesArrayOfdm[clientIDindex].txRate[TxRateIndex];
269 pCtrlData->policyClassRatesArrayOfdmA[clientIDindex].txRate[TxRateIndex] = ctrlDataInitParams->policyClassRatesArrayOfdmA[clientIDindex].txRate[TxRateIndex];
273 pCtrlData->currClientRateID = USER_RATE_CLASS;
274 pCtrlData->configuredClientRateID = USER_RATE_CLASS;
276 pCtrlData->ctrlDataCurrentRateTable = &pCtrlData->ctrlDataRateTables.ctrlDataCckRateTable;
279 ctrlData_resetCounters(pCtrlData);
282 rateAdaptation_config(pCtrlData->pRateAdaptation, hOs, hReport, pCtrlData, hEvHandler,
287 fourX_config(pCtrlData->pFourX, hOs, hReport, hMemMngr, hWhalCtrl, hTxData,
292 Status = Classifier_config(pCtrlData->pClsfr, hOs, hReport, &ctrlDataInitParams->ClsfrInitParam);
300 pCtrlData->ctrlDataTrafficIntensityEventsEnabled = ctrlDataInitParams->ctrlDataTrafficThresholdEnabled;
301 pCtrlData->ctrlDataTrafficIntensityThresholds.uHighThreshold = ctrlDataInitParams->ctrlDataTrafficThreshold.uHighThreshold;
302 pCtrlData->ctrlDataTrafficIntensityThresholds.uLowThreshold = ctrlDataInitParams->ctrlDataTrafficThreshold.uLowThreshold;
303 pCtrlData->ctrlDataTrafficIntensityThresholds.TestInterval = ctrlDataInitParams->ctrlDataTrafficThreshold.TestInterval;
305 WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
307 pCtrlData->ctrlDataTrafficIntensityEventsEnabled,
308 pCtrlData->ctrlDataTrafficIntensityThresholds.uHighThreshold,
309 pCtrlData->ctrlDataTrafficIntensityThresholds.uLowThreshold,
310 pCtrlData->ctrlDataTrafficIntensityThresholds.TestInterval));
313 ctrlData_RegisterTrafficIntensityEvents (pCtrlData);
316 ctrlData_ToggleTrafficIntensityNotification (pCtrlData, pCtrlData->ctrlDataTrafficIntensityEventsEnabled);
318 WLAN_REPORT_INIT(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
339 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
342 if( pCtrlData == NULL )
344 WLAN_REPORT_ERROR(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
350 rateAdaptation_destroy(pCtrlData->pRateAdaptation);
352 fourX_destroy(pCtrlData->pFourX);
354 pCtrlData->pClsfr);
358 os_memoryFree(pCtrlData->hOs, hCtrlData, sizeof(ctrlData_t));
379 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
381 /* WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
387 pParamInfo->content.ctrlDataRateControlEnable = pCtrlData->ctrlDataRateControlEnable;
391 pParamInfo->content.ctrlDataFourXEnable = pCtrlData->ctrlDataFourXEnable;
395 if (pCtrlData->ctrlDataCurrentBssType == BSS_INFRASTRUCTURE)
397 pParamInfo->content.ctrlDataCerruentFourXstate = pCtrlData->ctrlDataCerruentFourXstate;
399 pParamInfo->content.ctrlDataCerruentFourXstate = pCtrlData->ctrlDataFourXEnable;
405 MAC_COPY(pCtrlData->hOs, (&pParamInfo->content.ctrlDataCurrentBSSID),
406 (&pCtrlData->ctrlDataCurrentBSSID));
410 pParamInfo->content.ctrlDataCurrentBssType = pCtrlData->ctrlDataCurrentBssType;
414 pParamInfo->content.ctrlDataCurrentModulationType = pCtrlData->ctrlDataCurrentModulationType;
418 pParamInfo->content.ctrlDataCurrentPreambleType = pCtrlData->ctrlDataCurrentPreambleType;
422 MAC_COPY(pCtrlData->hOs, (&pParamInfo->content.ctrlDataDeviceMacAddress), (&pCtrlData->ctrlDataDeviceMacAddress));
426 pParamInfo->content.ctrlDataCurrentBasicRate = pCtrlData->ctrlDataCurrentBasicRate;
430 pParamInfo->content.ctrlDataBasicRateBitMask = pCtrlData->ctrlDataBasicRateBitMask;
434 pParamInfo->content.ctrlDataCurrentBasicModulationType = pCtrlData->ctrlDataCurrentBasicModulationType;
438 os_memoryCopy(pCtrlData->hOs,&pParamInfo->content.ctrlDataCounters,
439 &pCtrlData->ctrlDataCounters, sizeof(ctrlDataCounters_t));
443 pParamInfo->content.ctrlDataCurrentRateMask = pCtrlData->ctrlDataCurrentRateMask;
447 pParamInfo->content.ctrlDataProtectionEnabled = pCtrlData->ctrlDataProtectionEnabled;
451 pParamInfo->content.ctrlDataIbssProtecionType = pCtrlData->ctrlDataIbssProtectionType;
455 pParamInfo->content.ctrlDataRtsCtsStatus = pCtrlData->ctrlDataRtsCtsStatus;
459 Classifier_getClsfrType (pCtrlData->pClsfr,&pParamInfo->content.ctrlDataClsfrType);
465 pParamInfo->content.TxRatePolicy.rateClass[USER_RATE_CLASS].shortRetryLimit = pCtrlData->ctrlDataTxRatePolicy.rateClass[USER_RATE_CLASS].shortRetryLimit;
472 pParamInfo->content.TxRatePolicy.rateClass[USER_RATE_CLASS].longRetryLimit = pCtrlData->ctrlDataTxRatePolicy.rateClass[USER_RATE_CLASS].longRetryLimit;
477 pParamInfo->content.ctrlDataTrafficIntensityThresholds.uHighThreshold = pCtrlData->ctrlDataTrafficIntensityThresholds.uHighThreshold;
478 pParamInfo->content.ctrlDataTrafficIntensityThresholds.uLowThreshold = pCtrlData->ctrlDataTrafficIntensityThresholds.uLowThreshold;
479 pParamInfo->content.ctrlDataTrafficIntensityThresholds.TestInterval = pCtrlData->ctrlDataTrafficIntensityThresholds.TestInterval;
484 /* WLAN_REPORT_ERROR(pCtrlData->hReport, TX_DATA_MODULE_LOG,
511 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
516 pParamInfo->content.ctrlDataCurrentPreambleType = pCtrlData->ctrlDataCurrentPreambleType;
578 * INPUTS: pCtrlData - the object
583 static void ctrlData_setTxRatePolicies(ctrlData_t *pCtrlData)
591 pCtrlData->currClientRateID = pCtrlData->configuredClientRateID;
596 shortRetryLimit = pCtrlData->ctrlDataTxRatePolicy.rateClass[fwPolicyID].shortRetryLimit;
597 longRetryLimit = pCtrlData->ctrlDataTxRatePolicy.rateClass[fwPolicyID].longRetryLimit;
600 pCtrlData->bIsClassAvailable[clientIDindex] = TRUE;
603 pCtrlData->currClientRateMask[clientIDindex] = pCtrlData->nextClientRateMask[clientIDindex];
610 if (pCtrlData->tsrsParameters[ac].supportedRatesMask[clientIDindex] != 0)
614 policyClassRateMask = pCtrlData->tsrsParameters[ac].policyClassRateMask[clientIDindex];
618 policyClassRateMask = ctrlData_buildHwBitMapFromArray(&(pCtrlData->pCurrPolicyClassRatesArray[clientIDindex]));
623 pCtrlData->ctrlDataCurrentRateTable, /* according to radio mode */
624 pCtrlData->ctrlDataCurrentRateMask, /* AP supported rates */
625 pCtrlData->currClientRateMask[clientIDindex], /* STA supported rates */
630 WLAN_REPORT_ERROR(pCtrlData->hReport,CTRL_DATA_MODULE_LOG,
632 pCtrlData->bIsClassAvailable[clientIDindex] = FALSE;
633 pCtrlData->currClientRateID = USER_RATE_CLASS;
645 if (pCtrlData->ctrlDataRateControlEnable)
650 pCtrlData->ctrlDataTxRatePolicy.rateClass[fwPolicyID].txRate[txRateIndex] =
651 (pCtrlData->pCurrPolicyClassRatesArray[clientIDindex].txRate[txRateIndex] > 1) ?
652 pCtrlData->pCurrPolicyClassRatesArray[clientIDindex].txRate[txRateIndex] : 1;
657 pCtrlData->ctrlDataTxRatePolicy.rateClass[fwPolicyID].txRate[txRateIndex] =
659 pCtrlData->ctrlDataTxRatePolicy.rateClass[fwPolicyID].flags |= TX_POLICY_FLAGS_TRUNCATE;
664 pCtrlData->ctrlDataTxRatePolicy.rateClass[fwPolicyID].txRate[txRateIndex] = 0;
667 WLAN_REPORT_INFORMATION(pCtrlData->hReport,CTRL_DATA_MODULE_LOG,
668 ("%s: AC %d, class %d, rate 0x%x[%d]\n", __FUNCTION__, ac, clientIDindex, hwRateIndex, pCtrlData->ctrlDataTxRatePolicy.rateClass[fwPolicyID].txRate[txRateIndex]));
674 pCtrlData->tsrsParameters[ac].fwPolicyID[clientIDindex] = fwPolicyID++;
679 WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
682 pCtrlData->ctrlDataTxRatePolicy.numOfRateClasses = fwPolicyID;
684 param.content.pTxRatePlicy = &pCtrlData->ctrlDataTxRatePolicy;
686 whalCtrl_SetParam(pCtrlData->hWhalCtrl, &param);
707 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
711 /* WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
717 pCtrlData->ctrlDataRateControlEnable = pParamInfo->content.ctrlDataRateControlEnable;
718 selectRateTable(pCtrlData, pCtrlData->ctrlDataCurrentRateMask);
720 ctrlData_setTxRatePolicies(pCtrlData);
722 rateAdaptation_buildRateMapTable(pCtrlData->pRateAdaptation,
723 pCtrlData->ctrlDataCurrentRateTable,
724 pCtrlData->ctrlDataCurrentRateMask,
725 pCtrlData->currClientRateMask[pCtrlData->currClientRateID],
726 pCtrlData->ctrlDataCurrentModulationType,
727 pCtrlData->ctrlDataCerruentFourXstate,
728 pCtrlData->ctrlDataCurrentBssType);
734 if(pCtrlData->ctrlDataRateControlEnable == TRUE )
738 if( pCtrlData->ctrlDataStartStoplinkControlAlg == TRUE)
741 rateAdaptation_start(pCtrlData->pRateAdaptation);
746 rateAdaptation_stop(pCtrlData->pRateAdaptation);
751 rateAdaptation_stopTimer(pCtrlData->pRateAdaptation);
757 pCtrlData->ctrlDataFourXEnable = pParamInfo->content.ctrlDataFourXEnable;
758 if(pCtrlData->ctrlDataStartStoplinkControlAlg == TRUE)
760 if(pCtrlData->ctrlDataFourXEnable == TRUE)
762 pCtrlData->ctrlDataCerruentFourXstate = TRUE;
766 pCtrlData->ctrlDataCerruentFourXstate = FALSE;
769 rateAdaptation_update4xEnable(pCtrlData->pRateAdaptation,
770 pCtrlData->ctrlDataCerruentFourXstate,
771 pCtrlData->ctrlDataCurrentBssType );
774 pCtrlData->ctrlDataFourXEnable = FALSE;
775 pCtrlData->ctrlDataCerruentFourXstate = FALSE;
783 pCtrlData->configuredClientRateID = clientID;
785 if (clientID == pCtrlData->currClientRateID)
792 if (TRUE == pCtrlData->bIsClassAvailable[clientID])
795 pCtrlData->currClientRateID = clientID;
796 selectRateTable(pCtrlData, pCtrlData->ctrlDataCurrentRateMask);
797 rateAdaptation_buildRateMapTable(pCtrlData->pRateAdaptation,
798 pCtrlData->ctrlDataCurrentRateTable,
799 pCtrlData->ctrlDataCurrentRateMask,
800 pCtrlData->currClientRateMask[pCtrlData->currClientRateID],
801 pCtrlData->ctrlDataCurrentModulationType,
802 pCtrlData->ctrlDataCerruentFourXstate,
803 pCtrlData->ctrlDataCurrentBssType);
810 WLAN_REPORT_ERROR(pCtrlData->hReport,CTRL_DATA_MODULE_LOG,
819 pCtrlData->nextClientRateMask[pParamInfo->content.ctrlDataRateClassMask.clientID] =
825 if((pCtrlData->ctrlDataFourXEnable == TRUE) &&
826 (pCtrlData->ctrlDataCurrentBssType == BSS_INFRASTRUCTURE))
827 pCtrlData->ctrlDataCerruentFourXstate = pParamInfo->content.ctrlDataCerruentFourXstate;
829 pCtrlData->ctrlDataCerruentFourXstate = FALSE;
831 pCtrlData->ctrlDataCerruentFourXstate = FALSE;
836 MAC_COPY(pCtrlData->hOs, (&pCtrlData->ctrlDataCurrentBSSID),
845 pCtrlData->ctrlDataCurrentBssType = pParamInfo->content.ctrlDataCurrentBssType;
849 pCtrlData->ctrlDataCurrentModulationType = pParamInfo->content.ctrlDataCurrentModulationType;
852 rateAdaptation_updateModulation(pCtrlData->pRateAdaptation,
853 pCtrlData->ctrlDataCurrentModulationType,
854 pCtrlData->ctrlDataCurrentBssType);
863 pCtrlData->ctrlDataCurrentPreambleType = pParamInfo->content.ctrlDataCurrentPreambleType;
870 status = whalCtrl_SetMacAddress(pCtrlData->hWhalCtrl, &pParamInfo->content.ctrlDataDeviceMacAddress);
871 WLAN_REPORT_ERROR(pCtrlData->hReport, TX_DATA_MODULE_LOG,
874 MAC_COPY(pCtrlData->hOs, (&pCtrlData->ctrlDataDeviceMacAddress),
882 pCtrlData->ctrlDataCurrentBasicRate = pParamInfo->content.ctrlDataCurrentBasicRate;
884 pCtrlData->ctrlDataBasicRateBitMask = rateAdaptation_Utils_buildRateBitMap(pCtrlData->pRateAdaptation,
885 pCtrlData->ctrlDataCurrentRateTable,
886 pCtrlData->ctrlDataCurrentBasicRate,
887 pCtrlData->ctrlDataCurrentRateMask,
888 pCtrlData->currClientRateMask[USER_RATE_CLASS]);
892 pCtrlData->ctrlDataBasicRateBitMask = pParamInfo->content.ctrlDataBasicRateBitMask;
896 pCtrlData->ctrlDataCurrentBasicModulationType = pParamInfo->content.ctrlDataCurrentBasicModulationType;
901 pCtrlData->ctrlDataCurrentRateMask = pParamInfo->content.ctrlDataCurrentRateMask;
902 selectRateTable(pCtrlData, pCtrlData->ctrlDataCurrentRateMask);
903 rateAdaptation_buildRateMapTable(pCtrlData->pRateAdaptation,
904 pCtrlData->ctrlDataCurrentRateTable,
905 pCtrlData->ctrlDataCurrentRateMask,
906 pCtrlData->currClientRateMask[pCtrlData->currClientRateID],
907 (modulationType_e)pCtrlData->ctrlDataCerruentFourXstate,
908 pCtrlData->ctrlDataCurrentModulationType,
909 pCtrlData->ctrlDataCurrentBssType);
915 rateAdaptation_setCurrentRate(pCtrlData->pRateAdaptation, pParamInfo->content.ctrlDataCurrentActiveRate);
920 ctrlData_storeTSRateSet(pCtrlData, &pParamInfo->content.txDataQosParams);
925 if (pCtrlData->ctrlDataProtectionEnabled != pParamInfo->content.ctrlDataProtectionEnabled)
927 pCtrlData->ctrlDataProtectionEnabled = pParamInfo->content.ctrlDataProtectionEnabled;
931 if(pCtrlData->ctrlDataProtectionEnabled == TRUE)
936 whalCtrl_SetParam(pCtrlData->hWhalCtrl,&param);
941 if(pCtrlData->ctrlDataProtectionEnabled == TRUE)
944 whalCtrl_GetParam(pCtrlData->hWhalCtrl,&param);
945 pCtrlData->lastFragmentThreshold = param.content.halCtrlFragThreshold;
950 param.content.halCtrlFragThreshold = pCtrlData->lastFragmentThreshold;
952 whalCtrl_SetParam(pCtrlData->hWhalCtrl,&param);
958 pCtrlData->ctrlDataIbssProtectionType = pParamInfo->content.ctrlDataIbssProtecionType;
962 if(pCtrlData->ctrlDataIbssProtectionType != ERP_PROTECTION_NONE)
967 whalCtrl_SetParam(pCtrlData->hWhalCtrl,&param);
972 pCtrlData->ctrlDataRtsCtsStatus = pParamInfo->content.ctrlDataRtsCtsStatus;
975 ctrlData_clsfrSetClsfrType (pCtrlData->pClsfr,pParamInfo->content.ctrlDataClsfrType);
979 Classifier_InsertClsfrEntry(pCtrlData->pClsfr, 1, &pParamInfo->content.ctrlDataClsfrInsertTable);
983 classifier_RemoveClsfrEntry(pCtrlData->pClsfr, &pParamInfo->content.ctrlDataClsfrInsertTable);
987 Classifier_deriveUserPriorityFromStream (pCtrlData->pClsfr,&pParamInfo->content.ctrlDataUpOfStream);
993 pCtrlData->ctrlDataTxRatePolicy.rateClass[USER_RATE_CLASS].shortRetryLimit = pParamInfo->content.TxRatePolicy.rateClass[USER_RATE_CLASS].shortRetryLimit;
1000 pCtrlData->ctrlDataTxRatePolicy.rateClass[USER_RATE_CLASS].longRetryLimit = pParamInfo->content.TxRatePolicy.rateClass[USER_RATE_CLASS].longRetryLimit;
1006 ctrlData_ToggleTrafficIntensityNotification (pCtrlData, (BOOL)pParamInfo->content.ctrlDataTrafficIntensityEventsFlag);
1016 if ((localParams->uHighThreshold != pCtrlData->ctrlDataTrafficIntensityThresholds.uHighThreshold) ||
1017 (localParams->uLowThreshold != pCtrlData->ctrlDataTrafficIntensityThresholds.uLowThreshold) ||
1018 (localParams->TestInterval != pCtrlData->ctrlDataTrafficIntensityThresholds.TestInterval))
1021 os_memoryCopy(pCtrlData->hOs, &pCtrlData->ctrlDataTrafficIntensityThresholds,
1025 savedEnableFlag = pCtrlData->ctrlDataTrafficIntensityEventsEnabled;
1028 ctrlData_ToggleTrafficIntensityNotification (pCtrlData, FALSE);
1031 ctrlData_UnregisterTrafficIntensityEvents (pCtrlData);
1034 ctrlData_RegisterTrafficIntensityEvents (pCtrlData);
1037 ctrlData_ToggleTrafficIntensityNotification (pCtrlData, savedEnableFlag);
1045 WLAN_REPORT_ERROR(pCtrlData->hReport, TX_DATA_MODULE_LOG,
1069 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1070 rateAdaptation_t* pRateAdaptation = (rateAdaptation_t*)pCtrlData->pRateAdaptation;
1093 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1098 siteMgr_getParam(pCtrlData->hSiteMgr, &param);
1106 pCtrlData->ctrlDataCurrentRateTable = &pCtrlData->ctrlDataRateTables.ctrlDataPbccRateTable;
1107 pCtrlData->pCurrPolicyClassRatesArray = pCtrlData->policyClassRatesArrayPbcc;
1111 pCtrlDatapCtrlData->ctrlDataRateTables.ctrlDataCckRateTable;
1112 pCtrlData->pCurrPolicyClassRatesArray = pCtrlData->policyClassRatesArrayCck;
1125 pCtrlData->ctrlDataCurrentRateTable = &pCtrlData->ctrlDataRateTables.ctrlDataPbccRateTable;
1126 pCtrlData->pCurrPolicyClassRatesArray = pCtrlData->policyClassRatesArrayPbcc;
1130 pCtrlData->ctrlDataCurrentRateTable = &pCtrlData->ctrlDataRateTables.ctrlDataOfdmRateTable ;
1131 pCtrlData->pCurrPolicyClassRatesArray = pCtrlData->policyClassRatesArrayOfdm;
1136 pCtrlData->ctrlDataCurrentRateTable = &pCtrlData->ctrlDataRateTables.ctrlDataOfdmARateTable;
1137 pCtrlData->pCurrPolicyClassRatesArray = pCtrlData->policyClassRatesArrayOfdmA;
1142 WLAN_REPORT_ERROR(pCtrlData->hReport,CTRL_DATA_MODULE_LOG,
1168 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1170 pCtrlData->ctrlDataStartStoplinkControlAlg = TRUE;
1174 if(pCtrlData->ctrlDataRateControlEnable == TRUE)
1176 rateAdaptation_start(pCtrlData->pRateAdaptation);
1180 WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1201 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1204 pCtrlData->ctrlDataStartStoplinkControlAlg = FALSE;
1207 pCtrlData->ctrlDataCurrentModulationType = DEF_CURRENT_MUDULATION_TYPE;
1210 pCtrlData->ctrlDataCurrentPreambleType = DEF_CURRENT_PREAMBLE;
1213 pCtrlData->ctrlDataCurrentBasicRate = DEF_BASIC_RATE;
1214 pCtrlData->ctrlDataBasicRateBitMask = DEF_BASIC_RATE_MASK;
1215 pCtrlData->ctrlDataCurrentBasicModulationType = DRV_MODULATION_QPSK;
1217 os_memoryZero(pCtrlData->hOs,
1218 &pCtrlData->tsrsParameters,
1219 sizeof(pCtrlData->tsrsParameters));
1221 WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1224 rateAdaptation_stop(pCtrlData->pRateAdaptation);
1246 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1248 if(pCtrlData->ctrlDataStartStoplinkControlAlg == FALSE)
1251 if((pCtrlData->ctrlDataFourXEnable == TRUE) &&
1252 (pCtrlData->ctrlDataCurrentBssType == BSS_INFRASTRUCTURE))
1255 if(fourX_rxMsdu(pCtrlData->pFourX, pRxMsdu) != OK)
1257 WLAN_REPORT_ERROR(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1284 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1287 os_memoryZero(pCtrlData->hOs, pTxAttr, sizeof(txData_attr_t));
1290 if( ((txFlags & TX_DATA_MULTICAST_FRAME) && (pCtrlData->ctrlDataCurrentBssType == BSS_INDEPENDENT)) ||
1294 if (pCtrlData->ctrlDataCurrentRateMask & DRV_RATE_MASK_2_BARKER)
1300 pTxAttr->Rate = ctrlData_getClosestTSRate(pCtrlData, ac, pCtrlData->ctrlDataCurrentBasicRate);
1304 pTxAttr->txRatePolicyId = pCtrlData->tsrsParameters[ac].fwPolicyID[USER_RATE_CLASS];
1309 pRateModulation = rateAdaptation_getCurrent(pCtrlData->pRateAdaptation);
1310 pTxAttr->Rate = ctrlData_getClosestTSRate(pCtrlData, ac, pRateModulation->rate);
1313 pTxAttr->txRatePolicyId = pCtrlData->tsrsParameters[ac].fwPolicyID[pCtrlData->currClientRateID];
1322 siteMgr_getParam(pCtrlData->hSiteMgr, &param);
1325 getMaxRate(pCtrlData->ctrlDataBasicRateBitMask,
1337 WLAN_REPORT_DEBUG_TX(pCtrlData->hReport,
1365 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1386 if((pCtrlData->ctrlDataRateControlEnable == TRUE ) &&
1387 (pCtrlData->ctrlDataStartStoplinkControlAlg == TRUE) &&
1391 rateAdaptation_updateRateAdaptation(pCtrlData->pRateAdaptation, txActualRate,
1398 WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,("Call disconnect test upon NULL data"));
1399 pCtrlData->disassocSentCBFunc( pCtrlData->disassocSentCBObj );
1405 WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1407 pCtrlData->disassocSentCBFunc( pCtrlData->disassocSentCBObj );
1410 if(txData_isQueueUseMediumTime(pCtrlData->hTxData , qId) == TRUE )
1412 WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1416 txData_updateUsedTime(pCtrlData->hTxData,
1423 txData_txCompleteUpdate( pCtrlData->hTxData, pTxCompleteAttr );
1440 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1442 os_memoryZero(pCtrlData->hOs,&pCtrlData->ctrlDataCounters,
1462 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1464 MAC_COPY(pCtrlData->hOs, (pCurrBssid), (&pCtrlData->ctrlDataCurrentBSSID));
1465 *pCurrBssType = pCtrlData->ctrlDataCurrentBssType;
1486 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1488 if((pCtrlData->ctrlDataFourXEnable == TRUE) &&
1489 (pCtrlData->ctrlDataCurrentBssType == BSS_INFRASTRUCTURE))
1491 Status = fourXManager_get4xInfoElemnt(pCtrlData->pFourX, fourXInfoElemnt);
1510 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1512 *fourXEnable = pCtrlData->ctrlDataCerruentFourXstate;
1531 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1533 if((pCtrlData->ctrlDataFourXEnable == TRUE) &&
1534 (pCtrlData->ctrlDataCurrentBssType == BSS_INFRASTRUCTURE))
1536 return (fourXManager_evalSite(pCtrlData->pFourX, site4xParams, matchingLevel));
1558 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1560 if((pCtrlData->ctrlDataFourXEnable == TRUE) &&
1561 (pCtrlData
1563 status = fourXManager_setSite(pCtrlData->pFourX, site4xParams);
1567 pCtrlData->ctrlDataCerruentFourXstate = FALSE;
1569 pCtrlData->ctrlDataCerruentFourXstate = TRUE;
1595 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1603 if(pCtrlData->ctrlDataCerruentFourXstate == TRUE)
1606 status = fourX_txMsduDeQueue(pCtrlData->pFourX, buildMsduPtr, pMsduList, pHwTxInformation);
1612 ctrlData_getTxAttributes(pCtrlData, (*buildMsduPtr)->txFlags, pWhalTx_attr, QOS_AC_BE); /* stub */
1634 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1636 if(pCtrlData->ctrlDataCerruentFourXstate == TRUE)
1638 fourX_txMsduBeforInsertToQueue(pCtrlData->pFourX, msduPtr);
1661 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1663 rateAdaptation_setTspecsRateEvent(pCtrlData->pRateAdaptation, acID, enableEvent);
1684 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1686 rateAdaptation_setTspecsRateThresholds(pCtrlData->pRateAdaptation, acID, highRateThreshold, lowRateThreshold);
1719 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1727 WLAN_REPORT_ERROR(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1732 return (Classifier_classifyTxMSDU(pCtrlData->pClsfr, pMsdu, packet_DTag));
1763 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1768 return (Classifier_setClsfrType(pCtrlData->pClsfr, (clsfr_type_e)newClsfrType.ClsfrType));
1782 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1789 TrafficMonitor_StartEventNotif (pCtrlData->hTrafficMonitor,pCtrlData->ctrlDataTrafficThresholdEvents[idx]);
1791 WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1798 TrafficMonitor_StopEventNotif (pCtrlData->hTrafficMonitor,pCtrlData->ctrlDataTrafficThresholdEvents[idx]);
1800 WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1803 pCtrlData->ctrlDataTrafficIntensityEventsEnabled = enabledFlag;
1815 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1821 TrafficMonitor_UnregEvent (pCtrlData->hTrafficMonitor,pCtrlData->ctrlDataTrafficThresholdEvents[idx]);
1824 WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1838 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
1848 TrafficAlertRegParm.TimeIntervalMs = pCtrlData->ctrlDataTrafficIntensityThresholds.TestInterval;
1849 TrafficAlertRegParm.Threshold = pCtrlData->ctrlDataTrafficIntensityThresholds.uHighThreshold;
1851 pCtrlData->ctrlDataTrafficThresholdEvents[0] = TrafficMonitor_RegEvent(pCtrlData->hTrafficMonitor,&TrafficAlertRegParm,FALSE);
1853 if (pCtrlData->ctrlDataTrafficThresholdEvents[0] == NULL)
1855 WLAN_REPORT_ERROR(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1864 TrafficAlertRegParm.Threshold = pCtrlData->ctrlDataTrafficIntensityThresholds.uHighThreshold;
1865 pCtrlData->ctrlDataTrafficThresholdEvents[1] = TrafficMonitor_RegEvent(pCtrlData->hTrafficMonitor,&TrafficAlertRegParm,FALSE);
1867 if (pCtrlData->ctrlDataTrafficThresholdEvents[1] == NULL)
1869 WLAN_REPORT_ERROR(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1875 status = TrafficMonitor_SetRstCondition(pCtrlData->hTrafficMonitor,
1876 pCtrlData->ctrlDataTrafficThresholdEvents[0],
1877 pCtrlData->ctrlDataTrafficThresholdEvents[1],
1882 WLAN_REPORT_ERROR (pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1890 TrafficAlertRegParm.Threshold = pCtrlData->ctrlDataTrafficIntensityThresholds.uLowThreshold;
1891 pCtrlData->ctrlDataTrafficThresholdEvents[2] = TrafficMonitor_RegEvent(pCtrlData->hTrafficMonitor,&TrafficAlertRegParm,FALSE);
1893 if (pCtrlData->ctrlDataTrafficThresholdEvents[2] == NULL)
1895 WLAN_REPORT_ERROR(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1904 TrafficAlertRegParm.Threshold = pCtrlData->ctrlDataTrafficIntensityThresholds.uLowThreshold;
1905 pCtrlData->ctrlDataTrafficThresholdEvents[3] = TrafficMonitor_RegEvent(pCtrlData->hTrafficMonitor,&TrafficAlertRegParm,FALSE);
1907 if (pCtrlData->ctrlDataTrafficThresholdEvents[3] == NULL)
1909 WLAN_REPORT_ERROR(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1915 status = TrafficMonitor_SetRstCondition(pCtrlData->hTrafficMonitor,
1916 pCtrlData->ctrlDataTrafficThresholdEvents[2],
1917 pCtrlData->ctrlDataTrafficThresholdEvents[3],
1922 WLAN_REPORT_ERROR (pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1926 WLAN_REPORT_INFORMATION(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
1941 ctrlData_t *pCtrlData = (ctrlData_t *)Context;
1949 EvHandlerSendEvent(pCtrlData->hEvHandler, IPC_EVENT_TRAFFIC_INTENSITY_THRESHOLD_CROSSED, (UINT8 *)&crossInfo,sizeof(trafficIntensityThresholdCross_t));
1955 EvHandlerSendEvent(pCtrlData->hEvHandler, IPC_EVENT_TRAFFIC_INTENSITY_THRESHOLD_CROSSED, (UINT8 *)&crossInfo,sizeof(trafficIntensityThresholdCross_t));
1961 EvHandlerSendEvent(pCtrlData->hEvHandler, IPC_EVENT_TRAFFIC_INTENSITY_THRESHOLD_CROSSED, (UINT8 *)&crossInfo,sizeof(trafficIntensityThresholdCross_t));
1967 EvHandlerSendEvent(pCtrlData->hEvHandler, IPC_EVENT_TRAFFIC_INTENSITY_THRESHOLD_CROSSED, (UINT8 *)&crossInfo,sizeof(trafficIntensityThresholdCross_t));
1970 WLAN_REPORT_ERROR(pCtrlData->hReport, CTRL_DATA_MODULE_LOG,
2037 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
2039 rateAdaptation_print(pCtrlData->pRateAdaptation);
2044 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
2046 fourX_printParams(pCtrlData->pFourX);
2129 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
2130 Classifier_dbgPrintClsfrTable (pCtrlData->pClsfr);
2136 ctrlData_t *pCtrlData = (ctrlData_t *)hCtrlData;
2138 Classifier_getClsfrType (pCtrlData->pClsfr,&myLocalType);
2139 ctrlData_clsfrSetClsfrType (pCtrlData,myLocalType);
2152 * INPUTS: pCtrlData - the object
2158 static void ctrlData_storeTSRateSet(ctrlData_t *pCtrlData, txDataQosParams_t *tsrsParams)
2173 os_memoryZero(pCtrlData->hOs,
2174 &(pCtrlData->tsrsParameters[acID]),
2175 sizeof(pCtrlData->tsrsParameters[acID]));
2191 if (pCtrlData->pCurrPolicyClassRatesArray[clientNumber].txRate[rateID] > 0)
2193 pCtrlData->tsrsParameters[acID].policyClassRateMask[clientNumber] |= (1<<(rateNumber-1));
2198 pCtrlData->tsrsParameters[acID].supportedRatesMask[clientNumber] =
2199 pCtrlData->nextClientRateMask[clientNumber] & tsrsRequestedMap;
2202 if (pCtrlData->tsrsParameters[acID].policyClassRateMask[clientNumber] == 0)
2204 pCtrlData->tsrsParameters[acID].policyClassRateMask[clientNumber] =
2205 pCtrlData->tsrsParameters[acID].supportedRatesMask[clientNumber];
2217 * INPUTS: pCtrlData - the object
2222 static rate_e ctrlData_getClosestTSRate(ctrlData_t *pCtrlData, UINT32 ac, rate_e givenRate)
2227 if (pCtrlData->tsrsParameters[ac].supportedRatesMask[pCtrlData->currClientRateID] != 0)
2233 tsRate = pCtrlData->tsrsParameters[ac].supportedRatesMask[pCtrlData->currClientRateID]