blob: cd2efacd0b10d2d006f5bf0a39c78f89925bc10e [file] [log] [blame]
Larry Finger0c817332010-12-08 11:12:31 -06001/******************************************************************************
2 *
Larry Fingera8d76062012-01-07 20:46:42 -06003 * Copyright(c) 2009-2012 Realtek Corporation.
Larry Finger0c817332010-12-08 11:12:31 -06004 *
Larry Fingerf3a97e92014-09-22 09:39:24 -05005 * This program is free software; you can redistribute it and/or modify it
Larry Finger0c817332010-12-08 11:12:31 -06006 * under the terms of version 2 of the GNU General Public License as
7 * published by the Free Software Foundation.
8 *
Larry Fingerf3a97e92014-09-22 09:39:24 -05009 * This program is distributed in the hope that it will be useful, but WITHOUT
Larry Finger0c817332010-12-08 11:12:31 -060010 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
Larry Fingerf3a97e92014-09-22 09:39:24 -050014 * The full GNU General Public License is included in this distribution in the
Larry Finger0c817332010-12-08 11:12:31 -060015 * file called LICENSE.
16 *
17 * Contact Information:
18 * wlanfae <wlanfae@realtek.com>
19 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20 * Hsinchu 300, Taiwan.
21 *
22 * Larry Finger <Larry.Finger@lwfinger.net>
23 *****************************************************************************/
24
25#include "wifi.h"
26
Larry Fingerd273bb22012-01-27 13:59:25 -060027#include <linux/moduleparam.h>
28
Larry Finger0c817332010-12-08 11:12:31 -060029void rtl_dbgp_flag_init(struct ieee80211_hw *hw)
30{
31 struct rtl_priv *rtlpriv = rtl_priv(hw);
32 u8 i;
33
Larry Finger0c817332010-12-08 11:12:31 -060034 rtlpriv->dbg.global_debugcomponents =
35 COMP_ERR | COMP_FW | COMP_INIT | COMP_RECV | COMP_SEND |
36 COMP_MLME | COMP_SCAN | COMP_INTR | COMP_LED | COMP_SEC |
37 COMP_BEACON | COMP_RATE | COMP_RXDESC | COMP_DIG | COMP_TXAGC |
38 COMP_POWER | COMP_POWER_TRACKING | COMP_BB_POWERSAVING | COMP_SWAS |
39 COMP_RF | COMP_TURBO | COMP_RATR | COMP_CMD |
Larry Finger26634c42013-03-24 22:06:33 -050040 COMP_EFUSE | COMP_QOS | COMP_MAC80211 | COMP_REGD | COMP_CHAN |
41 COMP_EASY_CONCURRENT | COMP_EFUSE | COMP_QOS | COMP_MAC80211 |
42 COMP_REGD | COMP_CHAN | COMP_BT_COEXIST;
43
Larry Finger0c817332010-12-08 11:12:31 -060044
45 for (i = 0; i < DBGP_TYPE_MAX; i++)
46 rtlpriv->dbg.dbgp_type[i] = 0;
47
48 /*Init Debug flag enable condition */
49}
Larry Finger6f334c22013-07-12 15:32:15 -050050EXPORT_SYMBOL_GPL(rtl_dbgp_flag_init);
Joe Perches9ce22192016-06-25 15:46:45 -070051
52#ifdef CONFIG_RTLWIFI_DEBUG
53void _rtl_dbg_trace(struct rtl_priv *rtlpriv, int comp, int level,
Larry Finger102e2952017-01-19 11:25:19 -060054 const char *fmt, ...)
Joe Perches9ce22192016-06-25 15:46:45 -070055{
56 if (unlikely((comp & rtlpriv->dbg.global_debugcomponents) &&
57 (level <= rtlpriv->dbg.global_debuglevel))) {
58 struct va_format vaf;
59 va_list args;
60
61 va_start(args, fmt);
62
63 vaf.fmt = fmt;
64 vaf.va = &args;
65
Larry Finger102e2952017-01-19 11:25:19 -060066 pr_debug(":<%lx> %pV", in_interrupt(), &vaf);
Joe Perches9ce22192016-06-25 15:46:45 -070067
68 va_end(args);
69 }
70}
71EXPORT_SYMBOL_GPL(_rtl_dbg_trace);
Larry Finger102e2952017-01-19 11:25:19 -060072
73void _rtl_dbg_print(struct rtl_priv *rtlpriv, u64 comp, int level,
74 const char *fmt, ...)
75{
76 if (unlikely((comp & rtlpriv->dbg.global_debugcomponents) &&
77 (level <= rtlpriv->dbg.global_debuglevel))) {
78 struct va_format vaf;
79 va_list args;
80
81 va_start(args, fmt);
82
83 vaf.fmt = fmt;
84 vaf.va = &args;
85
86 pr_debug("%pV", &vaf);
87
88 va_end(args);
89 }
90}
91EXPORT_SYMBOL_GPL(_rtl_dbg_print);
92
93void _rtl_dbg_print_data(struct rtl_priv *rtlpriv, u64 comp, int level,
94 const char *titlestring,
95 const void *hexdata, int hexdatalen)
96{
97 if (unlikely(((comp) & rtlpriv->dbg.global_debugcomponents) &&
98 ((level) <= rtlpriv->dbg.global_debuglevel))) {
99 pr_debug("In process \"%s\" (pid %i): %s\n",
100 current->comm, current->pid, titlestring);
101 print_hex_dump_bytes("", DUMP_PREFIX_NONE,
102 hexdata, hexdatalen);
103 }
104}
105EXPORT_SYMBOL_GPL(_rtl_dbg_print_data);
106
Joe Perches9ce22192016-06-25 15:46:45 -0700107#endif