aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h34
1 files changed, 27 insertions, 7 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h b/drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h
index bc013cbe06f6..4bc646bde16f 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h
@@ -43,6 +43,7 @@
43 * debugging is not selected. When debugging the driver error 43 * debugging is not selected. When debugging the driver error
44 * messages are as important as other tracing or even more so. 44 * messages are as important as other tracing or even more so.
45 */ 45 */
46#ifndef CONFIG_BRCM_TRACING
46#ifdef CONFIG_BRCMDBG 47#ifdef CONFIG_BRCMDBG
47#define brcmf_err(fmt, ...) pr_err("%s: " fmt, __func__, ##__VA_ARGS__) 48#define brcmf_err(fmt, ...) pr_err("%s: " fmt, __func__, ##__VA_ARGS__)
48#else 49#else
@@ -52,15 +53,21 @@
52 pr_err("%s: " fmt, __func__, ##__VA_ARGS__); \ 53 pr_err("%s: " fmt, __func__, ##__VA_ARGS__); \
53 } while (0) 54 } while (0)
54#endif 55#endif
56#else
57__printf(2, 3)
58void __brcmf_err(const char *func, const char *fmt, ...);
59#define brcmf_err(fmt, ...) \
60 __brcmf_err(__func__, fmt, ##__VA_ARGS__)
61#endif
55 62
56#if defined(DEBUG) 63#if defined(DEBUG) || defined(CONFIG_BRCM_TRACING)
57 64__printf(3, 4)
65void __brcmf_dbg(u32 level, const char *func, const char *fmt, ...);
58#define brcmf_dbg(level, fmt, ...) \ 66#define brcmf_dbg(level, fmt, ...) \
59do { \ 67do { \
60 if (brcmf_msg_level & BRCMF_##level##_VAL) \ 68 __brcmf_dbg(BRCMF_##level##_VAL, __func__, \
61 pr_debug("%s: " fmt, __func__, ##__VA_ARGS__); \ 69 fmt, ##__VA_ARGS__); \
62} while (0) 70} while (0)
63
64#define BRCMF_DATA_ON() (brcmf_msg_level & BRCMF_DATA_VAL) 71#define BRCMF_DATA_ON() (brcmf_msg_level & BRCMF_DATA_VAL)
65#define BRCMF_CTL_ON() (brcmf_msg_level & BRCMF_CTL_VAL) 72#define BRCMF_CTL_ON() (brcmf_msg_level & BRCMF_CTL_VAL)
66#define BRCMF_HDRS_ON() (brcmf_msg_level & BRCMF_HDRS_VAL) 73#define BRCMF_HDRS_ON() (brcmf_msg_level & BRCMF_HDRS_VAL)
@@ -69,7 +76,7 @@ do { \
69#define BRCMF_EVENT_ON() (brcmf_msg_level & BRCMF_EVENT_VAL) 76#define BRCMF_EVENT_ON() (brcmf_msg_level & BRCMF_EVENT_VAL)
70#define BRCMF_FIL_ON() (brcmf_msg_level & BRCMF_FIL_VAL) 77#define BRCMF_FIL_ON() (brcmf_msg_level & BRCMF_FIL_VAL)
71 78
72#else /* (defined DEBUG) || (defined DEBUG) */ 79#else /* defined(DEBUG) || defined(CONFIG_BRCM_TRACING) */
73 80
74#define brcmf_dbg(level, fmt, ...) no_printk(fmt, ##__VA_ARGS__) 81#define brcmf_dbg(level, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
75 82
@@ -81,7 +88,7 @@ do { \
81#define BRCMF_EVENT_ON() 0 88#define BRCMF_EVENT_ON() 0
82#define BRCMF_FIL_ON() 0 89#define BRCMF_FIL_ON() 0
83 90
84#endif /* defined(DEBUG) */ 91#endif /* defined(DEBUG) || defined(CONFIG_BRCM_TRACING) */
85 92
86#define brcmf_dbg_hex_dump(test, data, len, fmt, ...) \ 93#define brcmf_dbg_hex_dump(test, data, len, fmt, ...) \
87do { \ 94do { \
@@ -125,6 +132,13 @@ struct brcmf_sdio_count {
125 ulong rx_readahead_cnt; /* packets where header read-ahead was used */ 132 ulong rx_readahead_cnt; /* packets where header read-ahead was used */
126}; 133};
127 134
135struct brcmf_fws_stats {
136 u32 tlv_parse_failed;
137 u32 tlv_invalid_type;
138 u32 header_only_pkt;
139 u32 header_pulls;
140};
141
128struct brcmf_pub; 142struct brcmf_pub;
129#ifdef DEBUG 143#ifdef DEBUG
130void brcmf_debugfs_init(void); 144void brcmf_debugfs_init(void);
@@ -134,6 +148,8 @@ void brcmf_debugfs_detach(struct brcmf_pub *drvr);
134struct dentry *brcmf_debugfs_get_devdir(struct brcmf_pub *drvr); 148struct dentry *brcmf_debugfs_get_devdir(struct brcmf_pub *drvr);
135void brcmf_debugfs_create_sdio_count(struct brcmf_pub *drvr, 149void brcmf_debugfs_create_sdio_count(struct brcmf_pub *drvr,
136 struct brcmf_sdio_count *sdcnt); 150 struct brcmf_sdio_count *sdcnt);
151void brcmf_debugfs_create_fws_stats(struct brcmf_pub *drvr,
152 struct brcmf_fws_stats *stats);
137#else 153#else
138static inline void brcmf_debugfs_init(void) 154static inline void brcmf_debugfs_init(void)
139{ 155{
@@ -148,6 +164,10 @@ static inline int brcmf_debugfs_attach(struct brcmf_pub *drvr)
148static inline void brcmf_debugfs_detach(struct brcmf_pub *drvr) 164static inline void brcmf_debugfs_detach(struct brcmf_pub *drvr)
149{ 165{
150} 166}
167static inline void brcmf_debugfs_create_fws_stats(struct brcmf_pub *drvr,
168 struct brcmf_fws_stats *stats)
169{
170}
151#endif 171#endif
152 172
153#endif /* _BRCMF_DBG_H_ */ 173#endif /* _BRCMF_DBG_H_ */