TWDriverCtrl.c revision 3bb9a92880f8cda8c242707ad02077f13b009632
1a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 2a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * TWDriverCtrl.c 3a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 43bb9a92880f8cda8c242707ad02077f13b009632Dmitry Shmidt * Copyright(c) 1998 - 2010 Texas Instruments. All rights reserved. 5a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * All rights reserved. 6a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 7a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Redistribution and use in source and binary forms, with or without 8a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * modification, are permitted provided that the following conditions 9a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * are met: 10a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 11a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Redistributions of source code must retain the above copyright 12a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * notice, this list of conditions and the following disclaimer. 13a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Redistributions in binary form must reproduce the above copyright 14a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * notice, this list of conditions and the following disclaimer in 15a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * the documentation and/or other materials provided with the 16a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * distribution. 17a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Neither the name Texas Instruments nor the names of its 18a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * contributors may be used to endorse or promote products derived 19a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * from this software without specific prior written permission. 20a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 21a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 33a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 34a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 35a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \file TWDriver.c 36a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief TI WLAN Hardware Access Driver, Parameters control 37a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 38a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \see TWDriver.h 39a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 40a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 41a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define __FILE_ID__ FILE_ID_118 42a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "TWDriver.h" 43a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "tidef.h" 44a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "report.h" 45a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "txHwQueue_api.h" 46a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "txXfer_api.h" 47a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "txResult_api.h" 48a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "eventMbox_api.h" 49a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "TWDriver.h" 50a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "TWDriverInternal.h" 51a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "FwEvent_api.h" 52a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "CmdBld.h" 53a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "RxQueue_api.h" 54a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 55a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 56a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_SetParam (TI_HANDLE hTWD, TTwdParamInfo *pParamInfo) 57a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 58a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 59a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TWlanParams *pWlanParams = &DB_WLAN(pTWD->hCmdBld); 60a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 61a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_SetParam: paramType=0x%X\n", pParamInfo->paramType); 62a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 63a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt switch (pParamInfo->paramType) 64a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 65a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_RTS_THRESHOLD_PARAM_ID: 66a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 67a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (pParamInfo->content.halCtrlRtsThreshold > TWD_RTS_THRESHOLD_MAX) 68a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 69a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_ERROR, "TWD########TWD_RTS_THRESHOLD_PARAM: Value out of permitted range 0x%x\n", pParamInfo->content.halCtrlRtsThreshold); 70a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return (PARAM_VALUE_NOT_VALID); 71a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 72a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 73a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CfgRtsThreshold (pTWD->hCmdBld, pParamInfo->content.halCtrlRtsThreshold, NULL, NULL) == TI_OK) 74a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 75a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_INFORMATION, "TWD########TWD_RTS_THRESHOLD_PARAM 0x%x\n", pParamInfo->content.halCtrlRtsThreshold); 76a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pWlanParams->RtsThreshold = pParamInfo->content.halCtrlRtsThreshold; 77a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 78a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 79a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 80a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_CTS_TO_SELF_PARAM_ID: 81a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgCtsProtection (pTWD->hCmdBld, pParamInfo->content.halCtrlCtsToSelf, NULL, NULL); 82a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 83a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_RX_TIME_OUT_PARAM_ID: 84a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CfgServicePeriodTimeout (pTWD->hCmdBld, &pParamInfo->content.halCtrlRxTimeOut, NULL, NULL) == TI_OK) 85a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 86a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pWlanParams->rxTimeOut.psPoll = pParamInfo->content.halCtrlRxTimeOut.psPoll; 87a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pWlanParams->rxTimeOut.UPSD = pParamInfo->content.halCtrlRxTimeOut.UPSD; 88a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 89a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 90a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 91a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_FRAG_THRESHOLD_PARAM_ID: 92a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (pParamInfo->content.halCtrlFragThreshold < TWD_FRAG_THRESHOLD_MIN || 93a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pParamInfo->content.halCtrlFragThreshold > TWD_FRAG_THRESHOLD_MAX) 94a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return PARAM_VALUE_NOT_VALID; 95a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 96a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt cmdBld_CfgFragmentThreshold (pTWD->hCmdBld, pParamInfo->content.halCtrlFragThreshold, NULL, NULL); 97a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 98a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 99a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_MAX_RX_MSDU_LIFE_TIME_PARAM_ID: 100a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt cmdBld_CfgRxMsduLifeTime (pTWD->hCmdBld, pParamInfo->content.halCtrlMaxRxMsduLifetime, NULL, NULL); 101a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 102a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 103a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_ACX_STATISTICS_PARAM_ID: 104a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CfgStatisitics (pTWD->hCmdBld, NULL, NULL) != TI_OK) 105a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_NOK; 106a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 107a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 108a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_LISTEN_INTERVAL_PARAM_ID: 109a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (pParamInfo->content.halCtrlListenInterval < TWD_LISTEN_INTERVAL_MIN || 110a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pParamInfo->content.halCtrlListenInterval > TWD_LISTEN_INTERVAL_MAX) 111a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return PARAM_VALUE_NOT_VALID; 112a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 113a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pWlanParams->ListenInterval = (TI_UINT8)pParamInfo->content.halCtrlListenInterval; 114a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 115a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 116a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_AID_PARAM_ID: 117a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pWlanParams->Aid = pParamInfo->content.halCtrlAid; 118a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 119a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Configure the ACXAID info element*/ 120a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CfgAid (pTWD->hCmdBld, pParamInfo->content.halCtrlAid, NULL, NULL) != TI_OK) 121a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_NOK; 122a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 123a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 124a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_RSN_HW_ENC_DEC_ENABLE_PARAM_ID: 125a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_INFORMATION, "TWD########HW_ENC_DEC_ENABLE %d\n", pParamInfo->content.rsnHwEncDecrEnable); 126a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 127a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Set the Encryption/Decryption on the HW*/ 128a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CfgHwEncDecEnable (pTWD->hCmdBld, pParamInfo->content.rsnHwEncDecrEnable, NULL, NULL) != TI_OK) 129a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return (TI_NOK); 130a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 131a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 132a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_RSN_KEY_ADD_PARAM_ID: 133a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION, "TWD########KEY_ADD\n"); 134a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 135a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CmdAddKey (pTWD->hCmdBld, 136a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt (TSecurityKeys *) pParamInfo->content.configureCmdCBParams.pCb, 137a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_FALSE, 138a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pParamInfo->content.configureCmdCBParams.fCb, 139a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pParamInfo->content.configureCmdCBParams.hCb) != TI_OK) 140a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_NOK; 141a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 142a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 143a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_RSN_KEY_REMOVE_PARAM_ID: 144a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION, "TWD########KEY_REMOVE\n"); 145a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 146a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CmdRemoveKey (pTWD->hCmdBld, 147a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt (TSecurityKeys *) pParamInfo->content.configureCmdCBParams.pCb, 148a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pParamInfo->content.configureCmdCBParams.fCb, 149a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pParamInfo->content.configureCmdCBParams.hCb) != TI_OK) 150a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_NOK; 151a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 152a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 153a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_RSN_DEFAULT_KEY_ID_PARAM_ID: 154a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (*((TI_UINT8 *)pParamInfo->content.configureCmdCBParams.pCb) > MAX_DEFAULT_KEY_ID) 155a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return PARAM_VALUE_NOT_VALID; 156a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 157a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_INFORMATION, "TWD########DEFAULT_KEY_ID %d\n", (TI_UINT8)pParamInfo->content.rsnDefaultKeyID); 158a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 159a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CmdSetWepDefaultKeyId (pTWD->hCmdBld, 160a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *((TI_UINT8 *)pParamInfo->content.interogateCmdCBParams.pCb), 161a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pParamInfo->content.interogateCmdCBParams.fCb, 162a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pParamInfo->content.interogateCmdCBParams.hCb) != TI_OK) 163a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_NOK; 164a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 165a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 166a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 167a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_RSN_SECURITY_MODE_PARAM_ID: 168a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_INFORMATION, "TWD########SECURITY_MODE_SET %d\n", pParamInfo->content.rsnEncryptionStatus); 169a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CfgSecureMode (pTWD->hCmdBld, (ECipherSuite)pParamInfo->content.rsnEncryptionStatus, NULL, NULL) != TI_OK) 170a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_NOK; 171a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 172a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 173a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifdef XCC_MODULE_INCLUDED 174a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_RSN_XCC_SW_ENC_ENABLE_PARAM_ID: 175a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 176a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_INFORMATION, "TWD: XCC_SW_ENC_ENABLE %d\n", pParamInfo->content.rsnXCCSwEncFlag); 177a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 178a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* when SW encryption is ON, HW encryption should be turned OFF and vice versa */ 179a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 180a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_INFORMATION, "TWD: Set HwEncDecrEnable to %d\n", !pParamInfo->content.rsnXCCSwEncFlag); 181a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 182a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Set the Encryption/Decryption on the HW*/ 183a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CfgHwEncDecEnable (pTWD->hCmdBld, !pParamInfo->content.rsnXCCSwEncFlag, NULL, NULL) != TI_OK) 184a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_NOK; 185a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 186a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* not supported - CKIP*/ 187a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_RSN_XCC_MIC_FIELD_ENABLE_PARAM_ID: 188a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 189a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif /* XCC_MODULE_INCLUDED*/ 190a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 191a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_TX_POWER_PARAM_ID: 192a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 193a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_INFORMATION, "TWD_TX_POWER_PARAM_ID %d\n", pParamInfo->content.halCtrlTxPowerDbm); 194a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 195a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pWlanParams->TxPowerDbm = pParamInfo->content.halCtrlTxPowerDbm; 196a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 197a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Configure the wlan hardware */ 198a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CfgTxPowerDbm (pTWD->hCmdBld, pWlanParams->TxPowerDbm, NULL, NULL) != TI_OK) 199a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_NOK; 200a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 201a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 202a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_SG_ENABLE_PARAM_ID: 203a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgSgEnable (pTWD->hCmdBld, 204a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt (ESoftGeminiEnableModes)pParamInfo->content.SoftGeminiEnable, 205a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL, 206a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL); 207a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 208a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_SG_CONFIG_PARAM_ID: 209a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgSg (pTWD->hCmdBld, &pParamInfo->content.SoftGeminiParam, NULL, NULL); 210a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 211a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_FM_COEX_PARAM_ID: 212a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgFmCoex (pTWD->hCmdBld, &pParamInfo->content.tFmCoexParams, NULL, NULL); 213a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 214a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* 215a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * TX Parameters 216a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 217a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 218a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_TX_RATE_CLASS_PARAM_ID: 219a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgTxRatePolicy (pTWD->hCmdBld, pParamInfo->content.pTxRatePlicy, NULL, NULL); 220a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 221a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_QUEUES_PARAM_ID: 222a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgTid (pTWD->hCmdBld, pParamInfo->content.pQueueTrafficParams, NULL, NULL); 223a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 224a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_CLK_RUN_ENABLE_PARAM_ID: 225a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_INFORMATION, "TWD_SetParam: CLK_RUN_ENABLE %d\n", pParamInfo->content.halCtrlClkRunEnable); 226a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 227a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Set the Encryption/Decryption on the HW*/ 228a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (cmdBld_CfgClkRun (pTWD->hCmdBld, pParamInfo->content.halCtrlClkRunEnable, NULL, NULL) != TI_OK) 229a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_NOK; 230a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 231a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 232a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_COEX_ACTIVITY_PARAM_ID: 233a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt cmdBld_CfgCoexActivity (pTWD->hCmdBld, &pParamInfo->content.tTwdParamsCoexActivity, NULL, NULL); 234a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 235a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 236a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case TWD_DCO_ITRIM_PARAMS_ID: 237a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt cmdBld_CfgDcoItrimParams (pTWD->hCmdBld, pParamInfo->content.tDcoItrimParams.enable, 238a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pParamInfo->content.tDcoItrimParams.moderationTimeoutUsec, NULL, NULL); 239a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 240a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 241a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt default: 242a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_ERROR, "TWD_SetParam - ERROR - Param is not supported, 0x%x\n", pParamInfo->paramType); 243a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return PARAM_NOT_SUPPORTED; 244a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 245a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 246a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_OK; 247a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 248a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 249a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_GetParam (TI_HANDLE hTWD, TTwdParamInfo *pParamInfo) 250a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 251a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 252a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 253a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_GetParam: called\n"); 254a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 255a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_GetParam (pTWD->hCmdBld, pParamInfo); 256a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 257a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 258a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgRx (TI_HANDLE hTWD, TI_UINT32 uRxConfigOption, TI_UINT32 uRxFilterOption) 259a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 260a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 261a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 262a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgRx: called\n"); 263a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 264a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgRx (pTWD->hCmdBld, uRxConfigOption, uRxFilterOption, NULL, NULL); 265a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 266a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 267a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgArpIpAddrTable (TI_HANDLE hTWD, TIpAddr tIpAddr, EArpFilterType filterType, EIpVer eIpVer) 268a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 269a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 270a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 271a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgArpIpAddrTable: called\n"); 272a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 273a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgArpIpAddrTable (pTWD->hCmdBld, tIpAddr, (TI_UINT8)filterType, eIpVer, NULL, NULL); 274a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 275a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 276a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** @ingroup Misc 277a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Configure ARP IP Filter 278a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 279a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hTWD - TWD module object handle 280a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param bEnabled - Indicates if ARP filtering is Enabled (1) or Disabled (0) 281a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 282a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 283a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 284a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 285a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 286a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 287a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgArpIpFilter (TI_HANDLE hTWD, TIpAddr staIp) 288a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 289a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 290a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 291a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgArpIpFilter: called\n"); 292a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 293a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgArpIpFilter (pTWD->hCmdBld, staIp, NULL, NULL); 294a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 295a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 296a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdSetSplitScanTimeOut ( TI_HANDLE hTWD, TI_UINT32 uTimeOut ) 297a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 298a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 299a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 300a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdSetSplitScanTimeOut: called\n"); 301a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 302a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdSetSplitScanTimeOut (pTWD->hCmdBld, uTimeOut); 303a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 304a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 305a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdJoinBss (TI_HANDLE hTWD, TJoinBss *pJoinBssParams) 306a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 307a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 308a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 309a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdJoinBss: called\n"); 310a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 311a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdJoinBss (pTWD->hCmdBld, pJoinBssParams, NULL, NULL); 312a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 313a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 314a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgKeepAlive (TI_HANDLE hTWD, TKeepAliveParams *pKeepAliveParams) 315a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 316a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 317a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 318a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgKeepAlive: called\n"); 319a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 320a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgKeepAlive (pTWD->hCmdBld, pKeepAliveParams, NULL, NULL); 321a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 322a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 323a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgKeepAliveEnaDis(TI_HANDLE hTWD, TI_UINT8 enaDisFlag) 324a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 325a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 326a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 327a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgKeepAliveEnaDis: called\n"); 328a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 329a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgKeepAliveEnaDis (pTWD->hCmdBld, enaDisFlag, NULL, NULL); 330a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 331a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 332a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdTemplate (TI_HANDLE hTWD, TSetTemplate *pTemplateParams, void *fCb, TI_HANDLE hCb) 333a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 334a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 335a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 336a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdTemplate: called\n"); 337a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 338a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdTemplate (pTWD->hCmdBld, pTemplateParams, fCb, hCb); 339a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 340a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 341a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgSlotTime (TI_HANDLE hTWD, ESlotTime eSlotTimeVal) 342a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 343a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 344a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 345a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgSlotTime: called\n"); 346a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 347a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgSlotTime (pTWD->hCmdBld, eSlotTimeVal, NULL, NULL); 348a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 349a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 350a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgPreamble (TI_HANDLE hTWD, EPreamble ePreamble) 351a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 352a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 353a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 354a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgPreamble: called\n"); 355a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 356a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgPreamble (pTWD->hCmdBld, (Preamble_e)ePreamble, NULL, NULL); 357a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 358a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 359a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgPacketDetectionThreshold (TI_HANDLE hTWD, TI_UINT32 threshold) 360a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 361a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 362a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 363a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgPacketDetectionThreshold: called\n"); 364a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 365a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgPacketDetectionThreshold (pTWD->hCmdBld, threshold, NULL, NULL); 366a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 367a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 368a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdDisableTx (TI_HANDLE hTWD) 369a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 370a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 371a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 372a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdDisableTx: called\n"); 373a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 374a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdDisableTx (pTWD->hCmdBld, NULL, NULL); 375a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 376a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 377a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdEnableTx (TI_HANDLE hTWD, TI_UINT8 channel) 378a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 379a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 380a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 381a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdEnableTx: called\n"); 382a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 383a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdEnableTx (pTWD->hCmdBld, channel, NULL, NULL); 384a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 385a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 386a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdSetStaState (TI_HANDLE hTWD, TI_UINT8 staState, void *fCb, TI_HANDLE hCb) 387a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 388a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 389a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 390a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE1(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_SetStaState: %d\n", staState); 391a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 392a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdSetStaState (pTWD->hCmdBld, staState, fCb, hCb); 393a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 394a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 395a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_ItrRoammingStatisitics (TI_HANDLE hTWD, void *fCb, TI_HANDLE hCb, void * pCb) 396a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 397a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 398a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 399a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_ItrRoammingStatisitics: called\n"); 400a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 401a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_ItrRoamimgStatisitics (pTWD->hCmdBld, fCb, hCb, pCb); 402a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 403a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 404a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** @ingroup UnKnown 405a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief Interrogate Error Count 406a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 407a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hTWD - TWD module object handle 408a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param fCb - Pointer to Command CB Function 409a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param hCb - Handle to Command CB Function Obj Parameters 410a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \param pCb - Pointer to read parameters 411a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 412a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 413a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \par Description 414a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Interrogate ACX Error counter 415a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 416a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \sa 417a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 418a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_ItrErrorCnt (TI_HANDLE hTWD, void *fCb, TI_HANDLE hCb, void *pCb) 419a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 420a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 421a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 422a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_ItrErrorCnt: called\n"); 423a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 424a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_ItrErrorCnt (pTWD->hCmdBld, fCb, hCb, pCb); 425a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 426a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 427a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdNoiseHistogram (TI_HANDLE hTWD, TNoiseHistogram *pNoiseHistParams) 428a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 429a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 430a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 431a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdNoiseHistogram: called\n"); 432a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 433a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdNoiseHistogram (pTWD->hCmdBld, pNoiseHistParams, NULL, NULL); 434a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 435a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 436a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgBeaconFilterOpt (TI_HANDLE hTWD, TI_UINT8 uBeaconFilteringStatus, TI_UINT8 uNumOfBeaconsToBuffer) 437a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 438a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 439a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 440a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgBeaconFilterOpt: called\n"); 441a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 442a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgBeaconFilterOpt (pTWD->hCmdBld, uBeaconFilteringStatus, uNumOfBeaconsToBuffer, NULL, NULL); 443a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 444a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 445a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_SetRateMngDebug(TI_HANDLE hTWD, RateMangeParams_t *pRateMngParams) 446a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 447a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 448a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 449a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_SetRateMngDebug: called\n"); 450a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 451a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgRateMngDbg (pTWD->hCmdBld, pRateMngParams, NULL, NULL); 452a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 453a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 454a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgBeaconFilterTable (TI_HANDLE hTWD, TI_UINT8 uNumOfIe, TI_UINT8 *pIeTable, TI_UINT8 uIeTableSize) 455a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 456a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 457a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 458a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgBeaconFilterTable: called\n"); 459a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 460a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgBeaconFilterTable (pTWD->hCmdBld, uNumOfIe, pIeTable, uIeTableSize, NULL, NULL); 461a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 462a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 463a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgWakeUpCondition (TI_HANDLE hTWD, TPowerMgmtConfig *pPowerMgmtConfig) 464a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 465a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 466a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 467a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgWakeUpCondition: called\n"); 468a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 469a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgWakeUpCondition (pTWD->hCmdBld, pPowerMgmtConfig, NULL, NULL); 470a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 471a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 472a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgBcnBrcOptions (TI_HANDLE hTWD, TPowerMgmtConfig *pPowerMgmtConfig) 473a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 474a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 475a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 476a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgBcnBrcOptions: called\n"); 477a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 478a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgBcnBrcOptions (pTWD->hCmdBld, pPowerMgmtConfig, NULL, NULL); 479a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 480a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 481a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTFwInfo * TWD_GetFWInfo (TI_HANDLE hTWD) 482a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 483a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 484a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 485a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_GetFWInfo: called\n"); 486a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 487a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_GetFWInfo (pTWD->hCmdBld); 488a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 489a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 490a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdSwitchChannel (TI_HANDLE hTWD, TSwitchChannelParams *pSwitchChannelCmd) 491a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 492a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 493a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 494a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdSwitchChannel: called\n"); 495a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 496a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdSwitchChannel (pTWD->hCmdBld, pSwitchChannelCmd, NULL, NULL); 497a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 498a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 499a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdSwitchChannelCancel (TI_HANDLE hTWD, TI_UINT8 channel) 500a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 501a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 502a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 503a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdSwitchChannelCancel: called\n"); 504a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 505a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdSwitchChannelCancel (pTWD->hCmdBld, channel, NULL, NULL); 506a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 507a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 508a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgMaxTxRetry (TI_HANDLE hTWD, TRroamingTriggerParams *pRoamingTriggerCmd) 509a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 510a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 511a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 512a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgMaxTxRetry: called\n"); 513a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 514a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgMaxTxRetry (pTWD->hCmdBld, pRoamingTriggerCmd, NULL, NULL); 515a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 516a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 517a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgConnMonitParams (TI_HANDLE hTWD, TRroamingTriggerParams *pRoamingTriggerCmd) 518a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 519a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 520a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 521a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgConnMonitParams: called\n"); 522a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 523a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgConnMonitParams (pTWD->hCmdBld, pRoamingTriggerCmd, NULL, NULL); 524a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 525a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 526a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_ItrRSSI (TI_HANDLE hTWD, void *fCb, TI_HANDLE hCb, void *pCb) 527a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 528a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 529a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 530a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_ItrRSSI: called\n"); 531a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 532a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_ItrRSSI (pTWD->hCmdBld, fCb, hCb, pCb); 533a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 534a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 535a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdFwDisconnect (TI_HANDLE hTWD, DisconnectType_e uDisconType, TI_UINT16 uDisconReason) 536a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 537a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 538a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 539a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdFwDisconnect (pTWD->hCmdBld, 540a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt RX_CONFIG_OPTION_MY_DST_MY_BSS, 541a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt RX_FILTER_OPTION_FILTER_ALL, 542a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uDisconType, 543a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uDisconReason, 544a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL, 545a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL); 546a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 547a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 548a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdMeasurement (TI_HANDLE hTWD, 549a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TMeasurementParams *pMeasurementParams, 550a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt void *fCommandResponseCb, 551a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE hCb) 552a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 553a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 554a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 555a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdMeasurement: called\n"); 556a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 557a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdMeasurement (pTWD->hCmdBld, pMeasurementParams, fCommandResponseCb, hCb); 558a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 559a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 560a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdMeasurementStop (TI_HANDLE hTWD, void* fCb, TI_HANDLE hCb) 561a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 562a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 563a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 564a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdMeasurementStop: called\n"); 565a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 566a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdMeasurementStop (pTWD->hCmdBld, fCb, hCb); 567a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 568a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 569a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdApDiscovery (TI_HANDLE hTWD, TApDiscoveryParams *pApDiscoveryParams) 570a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 571a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 572a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 573a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdApDiscovery: called\n"); 574a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 575a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdApDiscovery (pTWD->hCmdBld, pApDiscoveryParams, NULL, NULL); 576a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 577a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 578a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdApDiscoveryStop (TI_HANDLE hTWD) 579a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 580a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 581a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 582a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdApDiscoveryStop: called\n"); 583a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 584a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdApDiscoveryStop (pTWD->hCmdBld, NULL, NULL); 585a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 586a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 587a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgGroupAddressTable (TI_HANDLE hTWD, 588a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uNumGroupAddrs, 589a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TMacAddr *pGroupAddr, 590a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_BOOL bEnabled) 591a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 592a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 593a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 594a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgGroupAddressTable: called\n"); 595a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 596a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgGroupAddressTable (pTWD->hCmdBld, uNumGroupAddrs, pGroupAddr, bEnabled, NULL, NULL); 597a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 598a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 599a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_GetGroupAddressTable (TI_HANDLE hTWD, TI_UINT8* pEnabled, TI_UINT8* pNumGroupAddrs, TMacAddr *pGroupAddr) 600a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 601a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 602a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 603a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_GetGroupAddressTable: called\n"); 604a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 605a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_GetGroupAddressTable (pTWD->hCmdBld, pEnabled, pNumGroupAddrs, pGroupAddr); 606a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 607a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 608a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_SetRadioBand (TI_HANDLE hTWD, ERadioBand eRadioBand) 609a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 610a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 611a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 612a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_SetRadioBand: called\n"); 613a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 614a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_SetRadioBand (pTWD->hCmdBld, eRadioBand); 615a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 616a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 617a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgSleepAuth (TI_HANDLE hTWD, EPowerPolicy eMinPowerPolicy) 618a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 619a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 620a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 621a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgSleepAuth: called\n"); 622a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 623a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Configure the new power policy to the FW */ 624a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt cmdBld_CfgSleepAuth (pTWD->hCmdBld, eMinPowerPolicy, NULL, NULL); 625a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 626a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_OK; 627a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 628a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 629a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgBurstMode (TI_HANDLE hTWD, TI_BOOL bEnabled) 630a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 631a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 632a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 633a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "cmdBld_CfgBurstMode: called\n"); 634a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 635a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Configure the burst mode to the FW */ 636a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt cmdBld_CfgBurstMode (pTWD->hCmdBld, bEnabled, NULL, NULL); 637a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 638a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_OK; 639a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 640a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 641a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 642a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 643a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CmdHealthCheck (TI_HANDLE hTWD) 644a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 645a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 646a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 647a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CmdHealthCheck: called\n"); 648a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 649a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CmdHealthCheck (pTWD->hCmdBld, NULL, NULL); 650a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 651a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 652a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgMacClock (TI_HANDLE hTWD, TI_UINT32 uMacClock) 653a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 654a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 655a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 656a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgMacClock: called\n"); 657a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 658a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgMacClock (pTWD->hCmdBld, uMacClock, NULL, NULL); 659a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 660a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 661a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgArmClock (TI_HANDLE hTWD, TI_UINT32 uArmClock) 662a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 663a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 664a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 665a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgArmClock: called\n"); 666a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 667a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgArmClock (pTWD->hCmdBld, uArmClock, NULL, NULL); 668a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 669a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 670a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_ItrMemoryMap (TI_HANDLE hTWD, MemoryMap_t *pMap, void *fCb, TI_HANDLE hCb) 671a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 672a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 673a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 674a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_ItrMemoryMap: called\n"); 675a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 676a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_ItrMemoryMap (pTWD->hCmdBld, pMap, fCb, hCb); 677a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 678a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 679a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_ItrStatistics (TI_HANDLE hTWD, void *fCb, TI_HANDLE hCb, void *pCb) 680a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 681a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 682a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 683a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_ItrStatistics: called\n"); 684a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 685a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_ItrStatistics (pTWD->hCmdBld, fCb, hCb, pCb); 686a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 687a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 688a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_ItrDataFilterStatistics (TI_HANDLE hTWD, void *fCb, TI_HANDLE hCb, void *pCb) 689a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 690a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 691a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 692a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_ItrDataFilterStatistics: called\n"); 693a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 694a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_ItrDataFilterStatistics (pTWD->hCmdBld, fCb, hCb, pCb); 695a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 696a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 697a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgEnableRxDataFilter (TI_HANDLE hTWD, TI_BOOL bEnabled, filter_e eDefaultAction) 698a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 699a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 700a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 701a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgEnableRxDataFilter: called\n"); 702a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 703a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgEnableRxDataFilter (pTWD->hCmdBld, bEnabled, eDefaultAction, NULL, NULL); 704a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 705a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 706a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgRxDataFilter (TI_HANDLE hTWD, 707a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 index, 708a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 command, 709a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt filter_e eAction, 710a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uNumFieldPatterns, 711a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uLenFieldPatterns, 712a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 *pFieldPatterns) 713a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 714a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 715a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 716a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgRxDataFilter: called\n"); 717a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 718a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgRxDataFilter (pTWD->hCmdBld, 719a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt index, 720a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt command, 721a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt eAction, 722a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uNumFieldPatterns, 723a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uLenFieldPatterns, 724a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pFieldPatterns, 725a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL, 726a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL); 727a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 728a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 729a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgRssiSnrTrigger (TI_HANDLE hTWD, RssiSnrTriggerCfg_t* pRssiSnrTrigger) 730a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 731a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 732a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 733a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgRssiSnrTrigger: called\n"); 734a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 735a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgRssiSnrTrigger (pTWD->hCmdBld, pRssiSnrTrigger, NULL, NULL); 736a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 737a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 738a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgAcParams (TI_HANDLE hTWD, TAcQosParams *pAcQosParams, void *fCb, TI_HANDLE hCb) 739a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 740a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 741a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 742a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgAcParams: called\n"); 743a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 744a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgAcParams (pTWD->hCmdBld, pAcQosParams, fCb, hCb); 745a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 746a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 747a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgPsRxStreaming (TI_HANDLE hTWD, TPsRxStreaming *pPsRxStreaming, void *fCb, TI_HANDLE hCb) 748a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 749a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 750a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 751a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgPsRxStreaming: called\n"); 752a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 753a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgPsRxStreaming (pTWD->hCmdBld, pPsRxStreaming, fCb, hCb); 754a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 755a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 756a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgBet (TI_HANDLE hTWD, TI_UINT8 Enable, TI_UINT8 MaximumConsecutiveET) 757a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 758a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 759a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 760a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgBet: called\n"); 761a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 762a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgBet (pTWD->hCmdBld, Enable, MaximumConsecutiveET, NULL, NULL); 763a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 764a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 765a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_SetSecuritySeqNum (TI_HANDLE hTWD, TI_UINT8 securitySeqNumLsByte) 766a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 767a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 768a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 769a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_SetSecuritySeqNum: called\n"); 770a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 771a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_SetSecuritySeqNum (pTWD->hCmdBld, securitySeqNumLsByte); 772a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 773a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 774a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgSetFwHtCapabilities (TI_HANDLE hTWD, 775a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt Tdot11HtCapabilitiesUnparse *pHtCapabilitiesIe, 776a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_BOOL bAllowHtOperation) 777a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 778a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 779a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT32 uHtCapabilites; 780a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uAmpduMaxLeng = 0; 781a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uAmpduMinSpac = 0; 782a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT16 uHtCapabilitesField; 783a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 784a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Note, currently this value will be set to FFFFFFFFFFFF to indicate it is relevant for all peers 785a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt since we only support HT in infrastructure mode. Later on this field will be relevant to IBSS/DLS operation */ 786a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TMacAddr tMacAddress = {0xff,0xff,0xff,0xff,0xff,0xff}; 787a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 788a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgSetFwHtCapabilities: called\n"); 789a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 790a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Allow HT Operation ? */ 791a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (bAllowHtOperation == TI_TRUE) 792a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 793a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* get date from HT capabilities field */ 794a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Handle endian for the field */ 795a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt COPY_WLAN_WORD(&uHtCapabilitesField, pHtCapabilitiesIe->aHtCapabilitiesIe); 796a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uHtCapabilites = FW_CAP_BIT_MASK_HT_OPERATION | 797a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt ((uHtCapabilitesField & HT_CAP_GREENFIELD_FRAME_FORMAT_BITMASK) ? FW_CAP_BIT_MASK_GREENFIELD_FRAME_FORMAT : 0) | 798a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt ((uHtCapabilitesField & HT_CAP_SHORT_GI_FOR_20MHZ_BITMASK) ? FW_CAP_BIT_MASK_SHORT_GI_FOR_20MHZ_PACKETS : 0) | 799a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt ((uHtCapabilitesField & HT_CAP_LSIG_TXOP_PROTECTION_BITMASK) ? FW_CAP_BIT_MASK_LSIG_TXOP_PROTECTION : 0); 800a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 801a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* get date from HT capabilities field */ 802a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uHtCapabilites |= ((uHtCapabilitesField & HT_EXT_HT_CONTROL_FIELDS_BITMASK) ? FW_CAP_BIT_MASK_HT_CONTROL_FIELDS : 0) | 803a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt ((uHtCapabilitesField & HT_EXT_RD_INITIATION_BITMASK) ? FW_CAP_BIT_MASK_RD_INITIATION : 0); 804a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 805a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* get date from A-MPDU parameters field */ 806a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uAmpduMaxLeng = pHtCapabilitiesIe->aHtCapabilitiesIe[HT_CAP_AMPDU_PARAMETERS_FIELD_OFFSET] & HT_CAP_AMPDU_MAX_RX_FACTOR_BITMASK; 807a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uAmpduMinSpac = (pHtCapabilitiesIe->aHtCapabilitiesIe[HT_CAP_AMPDU_PARAMETERS_FIELD_OFFSET] >> 2) & HT_CAP_AMPDU_MIN_START_SPACING_BITMASK; 808a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 809a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* not Allow HT Operation */ 810a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt else 811a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 812a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uHtCapabilites = 0; 813a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 814a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 815a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgSetFwHtCapabilities (pTWD->hCmdBld, 816a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uHtCapabilites, 817a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt tMacAddress, 818a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uAmpduMaxLeng, 819a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uAmpduMinSpac, 820a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL, 821a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL); 822a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 823a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 824a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgSetFwHtInformation (TI_HANDLE hTWD, Tdot11HtInformationUnparse *pHtInformationIe) 825a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 826a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 827a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uRifsMode; 828a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uHtProtection; 829a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uGfProtection; 830a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uHtTxBurstLimit; 831a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uDualCtsProtection; 832a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 833a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgSetFwHtInformation: called\n"); 834a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 835a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uRifsMode = (pHtInformationIe->aHtInformationIe[1] & HT_INF_RIFS_MOD_BITMASK) >> 3; 836a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 837a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uHtProtection = (pHtInformationIe->aHtInformationIe[2] & HT_INF_OPERATION_MOD_BITMASK); 838a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 8393bb9a92880f8cda8c242707ad02077f13b009632Dmitry Shmidt uGfProtection = (pHtInformationIe->aHtInformationIe[2] & HT_INF_NON_GF_PRES_BITMASK) >> 2; 840a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 8413bb9a92880f8cda8c242707ad02077f13b009632Dmitry Shmidt uHtTxBurstLimit = 0; /* not in use */ 842a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 8433bb9a92880f8cda8c242707ad02077f13b009632Dmitry Shmidt uDualCtsProtection = (pHtInformationIe->aHtInformationIe[4] & HT_INF_DUAL_CTS_PROTECTION_BITMASK) >> 7; 844a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 845a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgSetFwHtInformation (pTWD->hCmdBld, 846a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uRifsMode, 847a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uHtProtection, 848a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uGfProtection, 849a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uHtTxBurstLimit, 850a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uDualCtsProtection, 851a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL, 852a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL); 853a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 854a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 855a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgSetBaInitiator (TI_HANDLE hTWD, 856a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uTid, 857a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uState, 858a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TMacAddr tRa, 859a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT16 uWinSize, 860a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT16 uInactivityTimeout) 861a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 862a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 863a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 864a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 865a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgSetBaInitiator: called\n"); 866a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 867a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgSetBaSession (pTWD->hCmdBld, 868a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt ACX_BA_SESSION_INITIATOR_POLICY, 869a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uTid, 870a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uState, 871a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt tRa, 872a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uWinSize, 873a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uInactivityTimeout, 874a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL, 875a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt NULL); 876a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 877a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 878a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TWD_CfgSetBaReceiver (TI_HANDLE hTWD, 879a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uTid, 880a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT8 uState, 881a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TMacAddr tRa, 882a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT16 uWinSize) 883a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 884a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 885a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 886a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CfgSetBaReceiver: called\n"); 887a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 888a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return cmdBld_CfgSetBaSession (pTWD->hCmdBld, 889a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt ACX_BA_SESSION_RESPONDER_POLICY, 890a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uTid, 891a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uState, 892a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt tRa, 893a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt uWinSize, 894a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 0, 895a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt (void *)NULL, 896a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt (TI_HANDLE)NULL); 897a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 898a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 899a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid TWD_CloseAllBaSessions(TI_HANDLE hTWD) 900a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 901a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd *)hTWD; 902a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT32 i; 903a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 904a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pTWD->hReport, REPORT_SEVERITY_INFORMATION , "TWD_CloseAllBaSessions: called\n"); 905a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 906a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* close all BA sessions */ 907a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt for(i=0; i <MAX_NUM_OF_802_1d_TAGS; ++i) 908a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 909a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt RxQueue_CloseBaSession(pTWD->hRxQueue, i); 910a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 911a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 912a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 913a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtETxnStatus TWD_WdExpireEvent(TI_HANDLE hTWD) 914a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 915a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TTwd *pTWD = (TTwd*)hTWD; 916a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 917a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if ((pTWD->fFailureEventCb != NULL) && (pTWD->hFailureEventCb != NULL)) 918a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 919a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pTWD->fFailureEventCb(pTWD->hFailureEventCb, HW_WD_EXPIRE); 920a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 921a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 922a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TXN_STATUS_COMPLETE; 923a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 924