1981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*
2981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * debug.c
3981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
4981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
5981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All rights reserved.
6981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
7981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Redistribution and use in source and binary forms, with or without
8981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * modification, are permitted provided that the following conditions
9981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * are met:
10981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
11981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Redistributions of source code must retain the above copyright
12981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    notice, this list of conditions and the following disclaimer.
13981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Redistributions in binary form must reproduce the above copyright
14981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    notice, this list of conditions and the following disclaimer in
15981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    the documentation and/or other materials provided with the
16981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    distribution.
17981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Neither the name Texas Instruments nor the names of its
18981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    contributors may be used to endorse or promote products derived
19981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    from this software without specific prior written permission.
20981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
21981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
33981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
34981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \file reportReplvl.c
35981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  \brief Report level implementation
36981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
37981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  \see reportReplvl.h
38981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
39981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
40981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***************************************************************************/
41981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*                                                                         */
42981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*      MODULE: reportReplvl.c                                             */
43981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*    PURPOSE:  Report level implementation                                */
44981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*                                                                         */
45981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***************************************************************************/
46981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "tidef.h"
47981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "debug.h"
48981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "connDebug.h"
49981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "siteMgrDebug.h"
50981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "dataCtrlDbg.h"
51981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "rsnDbg.h"
52981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "osApi.h"
53981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "report.h"
54981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "context.h"
55981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "timer.h"
56981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "qosMngrDbg.h"
57981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "PowerMgrDebug.h"
58981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "roamingMgrDebug.h"
59981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "scanCncnDbg.h"
60981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "ScanMngrDbg.h"
61981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "scrDbg.h"
62981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "SoftGeminiDbg.h"
63981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "HealthMonitorDbg.h"
64981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "smeDebug.h"
65981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "DrvMainModules.h"
66981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "TWDriver.h"
67981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "fwdriverdebug.h"
68981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "MibDbg.h"
69981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "TwIfDebug.h"
70981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "tracebuf_api.h"
71981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
72981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Following are the modules numbers */
73981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
74981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
75981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	GENERAL_DEBUG				= 0,
76981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_ASSOC_MODULE_PARAM		        = 1,
77981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_UTILS_MODULE_PARAM	                = 2,
78981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_RX_TX_DATA_MODULE_PARAM            = 3,
79981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_CTRL_DATA_MODULE_PARAM	        = 4,
80981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_SITE_MGR_MODULE_PARAM	        = 5,
81981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_CONN_MODULE_PARAM		        = 6,
82981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_RSN_MODULE_PARAM	         	= 7,
83981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_TWD_MODULE_PARAM	                = 8,
84981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_QOS_MNGR_MODULE_PARAM              = 10,
85981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TEST_MEASUREMENT_MODULE_PARAM           = 11,
86981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TEST_POWER_MGR_MODULE_PARAM             = 12,
87981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_HAL_CTRL_BUFFER_PARAM	        = 13,
88981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TEST_SCAN_CNCN_MODULE_PARAM             = 14,
89981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TEST_SCAN_MNGR_MODULE_PARAM             = 15,
90981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_ROAMING_MNGR_PARAM		        = 16,
91981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TEST_SCR_PARAM                          = 17,
92981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TEST_SG_PARAM				= 18,
93981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_SME_PARAM				= 19,
94981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TEST_HEALTH_MONITOR_PARAM	        = 20,
95981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TEST_MIB_DEBUG_PARAM	            = 21,
96981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TEST_FW_DEBUG_PARAM	                = 22,
97981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TEST_TWIF_DEBUG_PARAM	            = 23,
98981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	/*
99981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    last module - DO NOT TOUCH!
100981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    */
101981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    NUMBER_OF_TEST_MODULES
102981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
103981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}	testModuleParam_e;
104981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
105981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define MAX_PARAM_TYPE  (NUMBER_OF_TEST_MODULES - 1)
106981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
107981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Utils debug functions */
108981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define DBG_UTILS_PRINT_HELP		    	 0
109981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define DBG_UTILS_PRINT_CONTEXT_INFO         1
110981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define DBG_UTILS_PRINT_TIMER_MODULE_INFO    2
111981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define DBG_UTILS_PRINT_TRACE_BUFFER         3
112981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* General Parameters Structure */
113981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
114981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
115981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TI_UINT32	paramType;
116981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	TI_UINT32	value;
117981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} testParam_t;
118981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
119981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtextern void measurementDebugFunction(TI_HANDLE hMeasurementMgr, TI_HANDLE hSwitchChannel, TI_HANDLE hRegulatoryDomain, TI_UINT32 funcType, void *pParam);
120981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void printMenue(void);
121981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void utilsDebugFunction (TStadHandlesList *pStadHandles, TI_UINT32 funcType, void *pParam);
122981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void printUtilsDbgFunctions (void);
123981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
124981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
125981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/******************************************************************
126981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt*                       FUNCTIONS  IMPLEMENTATION				  *
127981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt*******************************************************************/
128981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
129981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/**
130981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \fn     debugFunction
131981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief  The debug functions dispatcher
132981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
133981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Decode from the debug functionNumber the relevant module and call its debug
134981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *   function with the provided parameters.
135981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * The functionNumber parameter is composed as follows:
136981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *   Module Number      = functionNumber / 100
137981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *   Specific Functionc = functionNumber % 100
138981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
139981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \note
140981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  pStadHandles   - Pointer to the STAD modules handles
141981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  functionNumber - The module and function numbers composed in a decimal number
142981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  pParam         - The function parameters (optional).
143981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return
144981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
145981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
146981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS debugFunction(TStadHandlesList *pStadHandles, TI_UINT32 functionNumber, void *pParam)
147981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
148981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  moduleNumber;
149981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
150981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    moduleNumber = functionNumber / 100;
151981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
152981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    if  (moduleNumber > MAX_PARAM_TYPE)
153981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        return PARAM_MODULE_NUMBER_INVALID;
154981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
155981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    switch (moduleNumber)
156981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    {
157981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case GENERAL_DEBUG:
158981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        printMenue();
159981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
160981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
161981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_ASSOC_MODULE_PARAM:
162981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
163981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
164981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_UTILS_MODULE_PARAM:
165981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        utilsDebugFunction (pStadHandles, functionNumber % 100, pParam);
166981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt		break;
167981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
168981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_RX_TX_DATA_MODULE_PARAM:
169981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        if( functionNumber < 350)
170981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt            rxTxDebugFunction(pStadHandles->hTxCtrl, functionNumber % 100, pParam);
171981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        else
172981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt            rxTxDebugFunction(pStadHandles->hRxData, functionNumber % 100, pParam);
173981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
174981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
175981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_CTRL_DATA_MODULE_PARAM:
176981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        ctrlDebugFunction(pStadHandles->hCtrlData, functionNumber % 100, pParam);
177981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
178981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
179981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_SITE_MGR_MODULE_PARAM:
180981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        siteMgrDebugFunction(pStadHandles->hSiteMgr, pStadHandles, functionNumber % 100, pParam);
181981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
182981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
183981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_CONN_MODULE_PARAM:
184981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        connDebugFunction(pStadHandles->hConn, functionNumber % 100, pParam);
185981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
186981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
187981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_RSN_MODULE_PARAM:
188981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        rsnDebugFunction(pStadHandles->hRsn, functionNumber % 100, pParam);
189981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
190981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
191981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_TWD_MODULE_PARAM:
192981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        TWD_Debug (pStadHandles->hTWD, functionNumber % 100, pParam);
193981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
194981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
195981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_QOS_MNGR_MODULE_PARAM:
196981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        qosMngrDebugFunction(pStadHandles->hQosMngr, functionNumber % 100, pParam);
197981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
198981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
199981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_MEASUREMENT_MODULE_PARAM:
200981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        measurementDebugFunction (pStadHandles->hMeasurementMgr,
201981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt                                  pStadHandles->hSwitchChannel,
202981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt                                  pStadHandles->hRegulatoryDomain,
203981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt                                  functionNumber % 100,
204981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt                                  pParam);
205981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
206981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
207981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_POWER_MGR_MODULE_PARAM:
208981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        powerMgrDebugFunction(pStadHandles->hPowerMgr,
209981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt                              functionNumber % 100,
210981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt                              pParam);
211981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
212981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
213981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_SCAN_CNCN_MODULE_PARAM:
214981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        scanConcentratorDebugFunction( pStadHandles->hScanCncn, pStadHandles->hTWD ,functionNumber % 100, pParam );
215981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
216981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
217981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_SCAN_MNGR_MODULE_PARAM:
218981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        scanMngrDebugFunction( pStadHandles->hScanMngr, functionNumber  % 100, pParam, pStadHandles->hSiteMgr, pStadHandles->hCtrlData );
219981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
220981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
221981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_ROAMING_MNGR_PARAM:
222981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        roamingMgrDebugFunction(pStadHandles->hRoamingMngr, functionNumber % 100, pParam);
223981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
224981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
225981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_SCR_PARAM:
226981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        scrDebugFunction( pStadHandles->hSCR, functionNumber % 100, pParam );
227981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
228981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
229981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_SG_PARAM:
230981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        SoftGeminiDebugFunction( pStadHandles->hSoftGemini, functionNumber % 100, pParam );
231981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
232981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
233981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_SME_PARAM:
234981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        smeDebugFunction( pStadHandles->hSme, functionNumber % 100, pParam );
235981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
236981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
237981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_HEALTH_MONITOR_PARAM:
238981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        healthMonitorDebugFunction (pStadHandles, functionNumber % 100, pParam);
239981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
240981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
241981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_MIB_DEBUG_PARAM:
242981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt         MibDebugFunction(pStadHandles->hTWD, functionNumber % 100, pParam);
243981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
244981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
245981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_FW_DEBUG_PARAM:
246981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt         FWDebugFunction(pStadHandles->hDrvMain,
247981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt						 pStadHandles->hOs,
248981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt						 pStadHandles->hTWD,
249981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt						 pStadHandles->hMlmeSm,
250981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt						 pStadHandles->hTxMgmtQ,
251981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt						 pStadHandles->hTxCtrl,
252981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt						 functionNumber % 100,
253981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt						 pParam/*yael , packetNum*/);
254981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
255981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
256981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    case TEST_TWIF_DEBUG_PARAM:
257981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt         twifDebugFunction (pStadHandles->hTWD, functionNumber % 100, pParam);
258981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
259981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
260981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    default:
261981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        WLAN_OS_REPORT(("Invalid debug function module number: %d\n\n", moduleNumber));
262981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        break;
263981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    }
264981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
265981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    return TI_OK;
266981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
267981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
268981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void printMenue(void)
269981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
270981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("   Debug main menu (p <num>)\n"));
271981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("-----------------------------\n"));
272981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
273981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Association             100\n"));
274981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Utils                   200\n"));
275981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Tx                      300\n"));
276981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Rx                      350\n"));
277981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Ctrl                    400\n"));
278981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("SiteMgr                 500\n"));
279981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Connection              600\n"));
280981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Rsn                     700\n"));
281981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Hal Ctrl                800\n"));
282981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("QOS                    1000\n"));
283981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Measurement            1100\n"));
284981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("PowerMgr               1200\n"));
285981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("HAL Ctrl Buffer        1300\n"));
286981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Scan concentrator      1400\n"));
287981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Scan Manager           1500\n"));
288981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Roaming Manager        1600\n"));
289981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("SCR                    1700\n"));
290981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Soft Gemini            1800\n"));
291981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("SME                    1900\n"));
292981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("Health Monitor         2000\n"));
293981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("MIB                    2100\n"));
294981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("FW Debug               2200\n"));
295981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("TwIf                   2300\n"));
296981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
297981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
298981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
299981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/**
300981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \fn    utilsDebugFunction
301981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Utils debug function
302981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
303981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pDrvMain - handle to the DrvMain object.\n
304981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param funcType - the specific debug function.\n
305981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pParam - parameters for the debug function.\n
306981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
307981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void utilsDebugFunction (TStadHandlesList *pStadHandles, TI_UINT32 funcType, void *pParam)
308981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
309981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    switch (funcType)
310981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    {
311981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        case DBG_UTILS_PRINT_HELP:
312981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt            printUtilsDbgFunctions ();
313981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt            break;
314981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
315981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        case DBG_UTILS_PRINT_CONTEXT_INFO:
316981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt            context_Print (pStadHandles->hContext);
317981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt            break;
318981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
319981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        case DBG_UTILS_PRINT_TIMER_MODULE_INFO:
320981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt            tmr_PrintModule (pStadHandles->hTimer);
321981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt            break;
322981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
323981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        case DBG_UTILS_PRINT_TRACE_BUFFER:
324981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*          tb_printf(); */
325981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt            break;
326981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
327981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        default:
328981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt       		WLAN_OS_REPORT(("utilsDebugFunction(): Invalid function type: %d\n", funcType));
329981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt            break;
330981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    }
331981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
332981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
333981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/**
334981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \fn    printUtilsDbgFunctions
335981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Prints Utils debug menu
336981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
337981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
338981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void printUtilsDbgFunctions (void)
339981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
340981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    WLAN_OS_REPORT(("   Utils Debug Functions   \n"));
341981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	WLAN_OS_REPORT(("---------------------------\n"));
342981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	WLAN_OS_REPORT(("200 - Print the Utils Debug Help\n"));
343981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	WLAN_OS_REPORT(("201 - Print Context module info\n"));
344981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	WLAN_OS_REPORT(("202 - Print Timer module info\n"));
345981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	WLAN_OS_REPORT(("203 - Print the trace buffer\n"));
346981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
347981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
348