diff options
| author | Katya Nigam <knigam@qti.qualcomm.com> | 2014-04-09 18:18:50 -0700 |
|---|---|---|
| committer | Pitani Venkata Rajesh Kumar <c_vpitan@qti.qualcomm.com> | 2014-04-22 11:48:40 +0530 |
| commit | 0e1bb6fdee58d5a0727ff3d42ee983c34d37dcdb (patch) | |
| tree | d2c96895277a7d98ce492af3644d052e25a64971 | |
| parent | dc769f36b25414f06b20700e952dfabfa955fd70 (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.c | 30 | ||||
| -rw-r--r-- | CORE/VOSS/inc/vos_trace.h | 2 | ||||
| -rw-r--r-- | CORE/VOSS/src/vos_trace.c | 52 |
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; + } + } + } } /*----------------------------------------------------------------------------- |
