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