mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 15:11:48 -04:00
qcacmn: Update QDF Debug Framework
Update QDF debug framework with API to store and to get the print index. As a part of QDF framework convergence, we need to update the QDF framework. Add API to handle the print index in the converged QDF framework. Change-Id: I871c09189202d021405777db732e8821e7aaca7c CRs-Fixed: 1108907
This commit is contained in:
parent
45cbe075a7
commit
febd4b7b54
2 changed files with 35 additions and 41 deletions
|
|
@ -143,7 +143,6 @@ typedef enum {
|
|||
* @QDF_MODULE_ID_TLSHIM : TLSHIM module ID
|
||||
* @QDF_MODULE_ID_WMI : WMI module ID
|
||||
* @QDF_MODULE_ID_HTT : HTT module ID
|
||||
* @QDF_MODULE_ID_RSV4 : Reserved
|
||||
* @QDF_MODULE_ID_HDD : HDD module ID
|
||||
* @QDF_MODULE_ID_SME : SME module ID
|
||||
* @QDF_MODULE_ID_PE : PE module ID
|
||||
|
|
@ -241,12 +240,25 @@ typedef enum {
|
|||
QDF_MODULE_ID_TARGET_IF,
|
||||
QDF_MODULE_ID_SCHEDULER,
|
||||
QDF_MODULE_ID_MGMT_TXRX,
|
||||
QDF_MODULE_ID_RSV4,
|
||||
QDF_MODULE_ID_ANY,
|
||||
QDF_MODULE_ID_MAX,
|
||||
} QDF_MODULE_ID;
|
||||
|
||||
#ifdef CONFIG_MCL
|
||||
/**
|
||||
* qdf_set_pidx() - Sets the global qdf_pidx.
|
||||
* @pidx : Index of print control object assigned to the module
|
||||
*
|
||||
*/
|
||||
void qdf_set_pidx(int pidx);
|
||||
|
||||
/**
|
||||
* qdf_get_pidx() - Returns the global qdf_pidx.
|
||||
*
|
||||
* Return : Current qdf print index.
|
||||
*/
|
||||
int qdf_get_pidx(void);
|
||||
|
||||
/* By default Data Path module will have all log levels enabled, except debug
|
||||
* log level. Debug level will be left up to the framework or user space modules
|
||||
* to be enabled when issue is detected
|
||||
|
|
|
|||
|
|
@ -43,6 +43,10 @@
|
|||
#include <wlan_logging_sock_svc.h>
|
||||
#include "qdf_time.h"
|
||||
#include "qdf_mc_timer.h"
|
||||
|
||||
/* Global qdf print id */
|
||||
static int qdf_pidx = -1;
|
||||
|
||||
/* Preprocessor definitions and constants */
|
||||
|
||||
enum qdf_timestamp_unit qdf_log_timestamp_type = QDF_LOG_TIMESTAMP_UNIT;
|
||||
|
|
@ -121,6 +125,19 @@ static struct s_qdf_dp_trace_data g_qdf_dp_trace_data;
|
|||
*/
|
||||
static tp_qdf_dp_trace_cb qdf_dp_trace_cb_table[QDF_DP_TRACE_MAX+1];
|
||||
#endif
|
||||
|
||||
void qdf_set_pidx(int pidx)
|
||||
{
|
||||
qdf_pidx = pidx;
|
||||
}
|
||||
EXPORT_SYMBOL(qdf_set_pidx);
|
||||
|
||||
int qdf_get_pidx(void)
|
||||
{
|
||||
return qdf_pidx;
|
||||
}
|
||||
EXPORT_SYMBOL(qdf_get_pidx);
|
||||
|
||||
/**
|
||||
* qdf_trace_set_level() - Set the trace level for a particular module
|
||||
* @module: Module id
|
||||
|
|
@ -301,46 +318,11 @@ EXPORT_SYMBOL(qdf_snprintf);
|
|||
void qdf_trace_msg(QDF_MODULE_ID module, QDF_TRACE_LEVEL level,
|
||||
char *str_format, ...)
|
||||
{
|
||||
char str_buffer[QDF_TRACE_BUFFER_SIZE];
|
||||
int n;
|
||||
va_list val;
|
||||
|
||||
/* Print the trace message when the desired level bit is set in
|
||||
* the module tracel level mask
|
||||
*/
|
||||
if (g_qdf_trace_info[module].module_trace_level &
|
||||
QDF_TRACE_LEVEL_TO_MODULE_BITMASK(level)) {
|
||||
/* the trace level strings in an array. these are ordered in
|
||||
* the same order as the trace levels are defined in the enum
|
||||
* (see QDF_TRACE_LEVEL) so we can index into this array with
|
||||
* the level and get the right string. The qdf trace levels
|
||||
* are... none, Fatal, Error, Warning, Info, info_high, info_med,
|
||||
* info_low, Debug
|
||||
*/
|
||||
static const char *TRACE_LEVEL_STR[] = { " ", "F ", "E ", "W ",
|
||||
"I ", "IH", "IM", "IL", "D" };
|
||||
va_list val;
|
||||
va_start(val, str_format);
|
||||
|
||||
/* print the prefix string into the string buffer... */
|
||||
n = snprintf(str_buffer, QDF_TRACE_BUFFER_SIZE,
|
||||
"wlan: [%d:%2s:%3s] ",
|
||||
in_interrupt() ? 0 : current->pid,
|
||||
(char *)TRACE_LEVEL_STR[level],
|
||||
(char *)g_qdf_trace_info[module].module_name_str);
|
||||
|
||||
/* print the formatted log message after the prefix string */
|
||||
if ((n >= 0) && (n < QDF_TRACE_BUFFER_SIZE)) {
|
||||
vsnprintf(str_buffer + n, QDF_TRACE_BUFFER_SIZE - n,
|
||||
str_format, val);
|
||||
#if defined(WLAN_LOGGING_SOCK_SVC_ENABLE)
|
||||
wlan_log_to_user(level, (char *)str_buffer,
|
||||
strlen(str_buffer));
|
||||
#else
|
||||
pr_err("%s\n", str_buffer);
|
||||
#endif
|
||||
}
|
||||
va_end(val);
|
||||
}
|
||||
va_start(val, str_format);
|
||||
qdf_trace_msg_cmn(qdf_pidx, module, level, str_format, val);
|
||||
va_end(val);
|
||||
}
|
||||
EXPORT_SYMBOL(qdf_trace_msg);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue