qcacmn: Optimize VDEV MLME SM prints
Reduced VDEV SM debug level, and added prints for state abd substates at event handling API Change-Id: I3076c590131581a8728548592e0a9b4e66db377e CRs-Fixed: 2394012
This commit is contained in:
@@ -3320,7 +3320,7 @@ static void set_default_trace_levels(struct category_info *cinfo)
|
|||||||
[QDF_MODULE_ID_CP_STATS] = QDF_TRACE_LEVEL_ERROR,
|
[QDF_MODULE_ID_CP_STATS] = QDF_TRACE_LEVEL_ERROR,
|
||||||
[QDF_MODULE_ID_MBSSIE] = QDF_TRACE_LEVEL_INFO,
|
[QDF_MODULE_ID_MBSSIE] = QDF_TRACE_LEVEL_INFO,
|
||||||
[QDF_MODULE_ID_FWOL] = QDF_TRACE_LEVEL_NONE,
|
[QDF_MODULE_ID_FWOL] = QDF_TRACE_LEVEL_NONE,
|
||||||
[QDF_MODULE_ID_SM_ENGINE] = QDF_TRACE_LEVEL_DEBUG,
|
[QDF_MODULE_ID_SM_ENGINE] = QDF_TRACE_LEVEL_ERROR,
|
||||||
[QDF_MODULE_ID_CMN_MLME] = QDF_TRACE_LEVEL_INFO,
|
[QDF_MODULE_ID_CMN_MLME] = QDF_TRACE_LEVEL_INFO,
|
||||||
[QDF_MODULE_ID_BSSCOLOR] = QDF_TRACE_LEVEL_ERROR,
|
[QDF_MODULE_ID_BSSCOLOR] = QDF_TRACE_LEVEL_ERROR,
|
||||||
[QDF_MODULE_ID_ANY] = QDF_TRACE_LEVEL_INFO,
|
[QDF_MODULE_ID_ANY] = QDF_TRACE_LEVEL_INFO,
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -39,5 +39,20 @@
|
|||||||
#define mlme_debug(format, args...) \
|
#define mlme_debug(format, args...) \
|
||||||
QDF_TRACE_DEBUG(QDF_MODULE_ID_CMN_MLME, format, ## args)
|
QDF_TRACE_DEBUG(QDF_MODULE_ID_CMN_MLME, format, ## args)
|
||||||
|
|
||||||
|
#define mlme_nofl_alert(format, args...) \
|
||||||
|
QDF_TRACE_FATAL_NO_FL(QDF_MODULE_ID_CMN_MLME, format, ## args)
|
||||||
|
|
||||||
|
#define mlme_nofl_err(format, args...) \
|
||||||
|
QDF_TRACE_ERROR_NO_FL(QDF_MODULE_ID_CMN_MLME, format, ## args)
|
||||||
|
|
||||||
|
#define mlme_nofl_warn(format, args...) \
|
||||||
|
QDF_TRACE_WARN_NO_FL(QDF_MODULE_ID_CMN_MLME, format, ## args)
|
||||||
|
|
||||||
|
#define mlme_nofl_info(format, args...) \
|
||||||
|
QDF_TRACE_INFO_NO_FL(QDF_MODULE_ID_CMN_MLME, format, ## args)
|
||||||
|
|
||||||
|
#define mlme_nofl_debug(format, args...) \
|
||||||
|
QDF_TRACE_DEBUG_NO_FL(QDF_MODULE_ID_CMN_MLME, format, ## args)
|
||||||
|
|
||||||
#endif /* _WLAN_MLME_DBG_H_ */
|
#endif /* _WLAN_MLME_DBG_H_ */
|
||||||
|
|
||||||
|
@@ -1801,7 +1801,7 @@ struct wlan_sm_state_info sm_info[] = {
|
|||||||
(uint8_t)WLAN_SM_ENGINE_STATE_NONE,
|
(uint8_t)WLAN_SM_ENGINE_STATE_NONE,
|
||||||
(uint8_t)WLAN_SM_ENGINE_STATE_NONE,
|
(uint8_t)WLAN_SM_ENGINE_STATE_NONE,
|
||||||
false,
|
false,
|
||||||
"INVALID",
|
"IDLE",
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
@@ -1826,6 +1826,38 @@ QDF_STATUS mlme_vdev_sm_deliver_event(struct vdev_mlme_obj *vdev_mlme,
|
|||||||
event_data_len, event_data);
|
event_data_len, event_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void mlme_vdev_sm_print_state_event(struct vdev_mlme_obj *vdev_mlme,
|
||||||
|
enum wlan_vdev_sm_evt event)
|
||||||
|
{
|
||||||
|
enum wlan_vdev_state state;
|
||||||
|
enum wlan_vdev_state substate;
|
||||||
|
struct wlan_objmgr_vdev *vdev;
|
||||||
|
|
||||||
|
vdev = vdev_mlme->vdev;
|
||||||
|
|
||||||
|
state = wlan_vdev_mlme_get_state(vdev);
|
||||||
|
substate = wlan_vdev_mlme_get_substate(vdev);
|
||||||
|
|
||||||
|
mlme_nofl_info("[%s]%s - %s, %s", vdev_mlme->sm_hdl->name,
|
||||||
|
sm_info[state].name, sm_info[substate].name,
|
||||||
|
vdev_sm_event_names[event]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void mlme_vdev_sm_print_state(struct vdev_mlme_obj *vdev_mlme)
|
||||||
|
{
|
||||||
|
enum wlan_vdev_state state;
|
||||||
|
enum wlan_vdev_state substate;
|
||||||
|
struct wlan_objmgr_vdev *vdev;
|
||||||
|
|
||||||
|
vdev = vdev_mlme->vdev;
|
||||||
|
|
||||||
|
state = wlan_vdev_mlme_get_state(vdev);
|
||||||
|
substate = wlan_vdev_mlme_get_substate(vdev);
|
||||||
|
|
||||||
|
mlme_nofl_info("[%s]%s - %s", vdev_mlme->sm_hdl->name,
|
||||||
|
sm_info[state].name, sm_info[substate].name);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef SM_ENG_HIST_ENABLE
|
#ifdef SM_ENG_HIST_ENABLE
|
||||||
void mlme_vdev_sm_history_print(struct vdev_mlme_obj *vdev_mlme)
|
void mlme_vdev_sm_history_print(struct vdev_mlme_obj *vdev_mlme)
|
||||||
{
|
{
|
||||||
|
@@ -41,6 +41,27 @@ QDF_STATUS mlme_vdev_sm_deliver_event(struct vdev_mlme_obj *vdev_mlme,
|
|||||||
uint16_t event_data_len,
|
uint16_t event_data_len,
|
||||||
void *event_data);
|
void *event_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mlme_vdev_sm_print_state_event() - Prints the state/substate, event
|
||||||
|
* @vdev_mlme: MLME VDEV comp object
|
||||||
|
* @event: MLME event
|
||||||
|
*
|
||||||
|
* API to print current state/substate, events in readable format
|
||||||
|
*
|
||||||
|
* Return: void
|
||||||
|
*/
|
||||||
|
void mlme_vdev_sm_print_state_event(struct vdev_mlme_obj *vdev_mlme,
|
||||||
|
enum wlan_vdev_sm_evt event);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mlme_vdev_sm_print_state_event() - Prints the state/substate
|
||||||
|
* @vdev_mlme: MLME VDEV comp object
|
||||||
|
*
|
||||||
|
* API to print current state/substate
|
||||||
|
*
|
||||||
|
* Return: void
|
||||||
|
*/
|
||||||
|
void mlme_vdev_sm_print_state(struct vdev_mlme_obj *vdev_mlme);
|
||||||
#ifdef SM_ENG_HIST_ENABLE
|
#ifdef SM_ENG_HIST_ENABLE
|
||||||
/**
|
/**
|
||||||
* mlme_vdev_sm_history_print() - Prints SM history
|
* mlme_vdev_sm_history_print() - Prints SM history
|
||||||
|
@@ -81,6 +81,8 @@ QDF_STATUS wlan_vdev_mlme_sm_deliver_evt(struct wlan_objmgr_vdev *vdev,
|
|||||||
{
|
{
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
QDF_STATUS status;
|
QDF_STATUS status;
|
||||||
|
enum wlan_vdev_state state_entry, state_exit;
|
||||||
|
enum wlan_vdev_state substate_entry, substate_exit;
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
if (!vdev_mlme) {
|
if (!vdev_mlme) {
|
||||||
@@ -89,8 +91,20 @@ QDF_STATUS wlan_vdev_mlme_sm_deliver_evt(struct wlan_objmgr_vdev *vdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
mlme_vdev_sm_spin_lock(vdev_mlme);
|
mlme_vdev_sm_spin_lock(vdev_mlme);
|
||||||
|
|
||||||
|
/* store entry state and sub state for prints */
|
||||||
|
state_entry = wlan_vdev_mlme_get_state(vdev);
|
||||||
|
substate_entry = wlan_vdev_mlme_get_substate(vdev);
|
||||||
|
mlme_vdev_sm_print_state_event(vdev_mlme, event);
|
||||||
|
|
||||||
status = mlme_vdev_sm_deliver_event(vdev_mlme, event, event_data_len,
|
status = mlme_vdev_sm_deliver_event(vdev_mlme, event, event_data_len,
|
||||||
event_data);
|
event_data);
|
||||||
|
/* Take exit state, exit substate for prints */
|
||||||
|
state_exit = wlan_vdev_mlme_get_state(vdev);
|
||||||
|
substate_exit = wlan_vdev_mlme_get_substate(vdev);
|
||||||
|
/* If no state and substate change, don't print */
|
||||||
|
if (!((state_entry == state_exit) && (substate_entry == substate_exit)))
|
||||||
|
mlme_vdev_sm_print_state(vdev_mlme);
|
||||||
mlme_vdev_sm_spin_unlock(vdev_mlme);
|
mlme_vdev_sm_spin_unlock(vdev_mlme);
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
|
Reference in New Issue
Block a user