summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatya Nigam <knigam@qti.qualcomm.com>2014-04-09 18:18:50 -0700
committerPitani Venkata Rajesh Kumar <c_vpitan@qti.qualcomm.com>2014-04-22 11:48:40 +0530
commit0e1bb6fdee58d5a0727ff3d42ee983c34d37dcdb (patch)
treed2c96895277a7d98ce492af3644d052e25a64971
parentdc769f36b25414f06b20700e952dfabfa955fd70 (diff)
wlan: Enhancing vosTraceEnable function.
vosTraceEnable API will now take two argument bitmask_of_moduleId and enable. If bitmask_of_moduleId is set and enable is true, MTRACE will be enabled for that corresponding bitmask. if enable is false, MTRACE will be disabled for that module. bitmask_of_moduleId=0 corresponds to all the modules. Change-Id: I380ffad9b36e5ac5a0a5aded04925dfa6b421282 CRs-Fixed: 640946
-rw-r--r--CORE/HDD/src/wlan_hdd_wext.c30
-rw-r--r--CORE/VOSS/inc/vos_trace.h2
-rw-r--r--CORE/VOSS/src/vos_trace.c52
3 files changed, 53 insertions, 31 deletions
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index 0fc0b04246f4..ecf07f4be979 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -245,8 +245,6 @@ static const hdd_freq_chan_map_t freq_chan_map[] = { {2412, 1}, {2417, 2},
/* Private ioctl for packet power save */
#define WE_PPS_5G_EBT 83
-#define WE_MTRACE_SELECTIVE_MODULE_LOG_ENABLE_CMD 84
-
/* Private ioctls and their sub-ioctls */
#define WLAN_PRIV_SET_NONE_GET_INT (SIOCIWFIRSTPRIV + 1)
#define WE_GET_11D_STATE 1
@@ -388,6 +386,7 @@ static const hdd_freq_chan_map_t freq_chan_map[] = { {2412, 1}, {2417, 2},
#endif
#define WE_MTRACE_DUMP_CMD 8
+#define WE_MTRACE_SELECTIVE_MODULE_LOG_ENABLE_CMD 9
#ifdef FEATURE_WLAN_TDLS
#undef MAX_VAR_ARGS
@@ -4860,15 +4859,6 @@ static int iw_setint_getnone(struct net_device *dev, struct iw_request_info *inf
break;
}
- case WE_MTRACE_SELECTIVE_MODULE_LOG_ENABLE_CMD:
- {
- hddLog(LOG1, "%s: SELECTIVE_MODULE_LOG %d arg1",
- __func__, set_value);
- vosTraceEnable(set_value);
-
- break;
- }
-
case WE_ENABLE_STRICT_FCC_REG:
{
hdd_context_t *hddCtxt = WLAN_HDD_GET_CTX(pAdapter);
@@ -7465,6 +7455,14 @@ int iw_set_var_ints_getnone(struct net_device *dev, struct iw_request_info *info
}
break;
+ case WE_MTRACE_SELECTIVE_MODULE_LOG_ENABLE_CMD:
+ {
+ hddLog(LOG1, "%s: SELECTIVE_MODULE_LOG %d arg1 %d arg2",
+ __func__, apps_args[0], apps_args[1]);
+ vosTraceEnable(apps_args[0], apps_args[1]);
+ }
+ break;
+
case WE_MTRACE_DUMP_CMD:
{
hddLog(LOG1, "%s: MTRACE_DUMP code %d session %d count %d "
@@ -9796,11 +9794,6 @@ static const struct iw_priv_args we_private_args[] = {
0,
"setStrictFCCreg" },
- { WE_MTRACE_SELECTIVE_MODULE_LOG_ENABLE_CMD,
- IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
- 0,
- "setdumplog" },
-
/* handlers for main ioctl */
{ WLAN_PRIV_SET_INT_GET_NONE,
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
@@ -10717,6 +10710,11 @@ static const struct iw_priv_args we_private_args[] = {
"dump" },
/* handlers for sub-ioctl */
+ { WE_MTRACE_SELECTIVE_MODULE_LOG_ENABLE_CMD,
+ IW_PRIV_TYPE_INT | MAX_VAR_ARGS,
+ 0,
+ "setdumplog" },
+
{ WE_MTRACE_DUMP_CMD,
IW_PRIV_TYPE_INT | MAX_VAR_ARGS,
0,
diff --git a/CORE/VOSS/inc/vos_trace.h b/CORE/VOSS/inc/vos_trace.h
index b87a41edb4fb..dab444a9a3e3 100644
--- a/CORE/VOSS/inc/vos_trace.h
+++ b/CORE/VOSS/inc/vos_trace.h
@@ -206,6 +206,6 @@ void vos_trace(v_U8_t module, v_U8_t code, v_U8_t session, v_U32_t data);
void vosTraceRegister(VOS_MODULE_ID, tpvosTraceCb);
VOS_STATUS vos_trace_spin_lock_init(void);
void vosTraceInit(void);
-void vosTraceEnable(v_U32_t);
+void vosTraceEnable(v_U32_t, v_U8_t enable);
void vosTraceDumpAll(void*, v_U8_t, v_U8_t, v_U32_t, v_U32_t);
#endif
diff --git a/CORE/VOSS/src/vos_trace.c b/CORE/VOSS/src/vos_trace.c
index e85e954515d9..f197ea40e7cf 100644
--- a/CORE/VOSS/src/vos_trace.c
+++ b/CORE/VOSS/src/vos_trace.c
@@ -448,10 +448,11 @@ void vos_trace_hex_dump( VOS_MODULE_ID module, VOS_TRACE_LEVEL level,
/*-----------------------------------------------------------------------------
\brief vosTraceEnable() - Enable MTRACE for specific modules whose bits are
- set in bitmask. set the bitmask according to enum value of the modules.
+ set in bitmask and enable is true. if enable is false it disables MTRACE for
+ that module. set the bitmask according to enum value of the modules.
this functions will be called when you issue ioctl as mentioned following
- [iwpriv wlan0 setdumplog <value>].
+ [iwpriv wlan0 setdumplog <value> <enable>].
<value> - Decimal number, i.e. 64 decimal value shows only SME module,
128 decimal value shows only PE module, 192 decimal value shows PE and SME.
@@ -460,31 +461,54 @@ void vos_trace_hex_dump( VOS_MODULE_ID module, VOS_TRACE_LEVEL level,
32 [dec] = 0010 0000 [bin] <enum of HDD is 5>
64 [dec] = 0100 0000 [bin] <enum of SME is 6>
128 [dec] = 1000 0000 [bin] <enum of PE is 7>
+ \param - enable - can be true or false.
+ True implies enabling MTRACE, false implies disabling MTRACE.
---------------------------------------------------------------------------*/
-void vosTraceEnable(v_U32_t bitmask_of_moduleId)
+void vosTraceEnable(v_U32_t bitmask_of_moduleId, v_U8_t enable)
{
int i;
if (bitmask_of_moduleId)
{
- for (i=0; i<VOS_MODULE_ID_MAX; i++)
+ for (i = 0; i < VOS_MODULE_ID_MAX; i++)
{
- if (!((bitmask_of_moduleId >> i) & 1 ))
+ if (((bitmask_of_moduleId >> i) & 1 ))
{
- vostraceRestoreCBTable[i] = vostraceCBTable[i];
- vostraceCBTable[i] = NULL;
+ if (enable)
+ {
+ if (NULL != vostraceRestoreCBTable[i])
+ {
+ vostraceCBTable[i] = vostraceRestoreCBTable[i];
+ }
+ }
+ else
+ {
+ vostraceRestoreCBTable[i] = vostraceCBTable[i];
+ vostraceCBTable[i] = NULL;
+ }
}
}
- }
- else
- {
- for (i=0; i<VOS_MODULE_ID_MAX; i++)
+ }
+ else
+ {
+ if (enable)
{
- if (NULL != vostraceRestoreCBTable[i])
+ for (i = 0; i < VOS_MODULE_ID_MAX; i++)
{
- vostraceCBTable[i] = vostraceRestoreCBTable[i];
+ if (NULL != vostraceRestoreCBTable[i])
+ {
+ vostraceCBTable[i] = vostraceRestoreCBTable[i];
+ }
}
}
- }
+ else
+ {
+ for (i = 0; i < VOS_MODULE_ID_MAX; i++)
+ {
+ vostraceRestoreCBTable[i] = vostraceCBTable[i];
+ vostraceCBTable[i] = NULL;
+ }
+ }
+ }
}
/*-----------------------------------------------------------------------------