]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blame - drivers/net/wireless/ath/ath10k/debug.h
ath10k: split wmi stats parsing
[mirror_ubuntu-hirsute-kernel.git] / drivers / net / wireless / ath / ath10k / debug.h
CommitLineData
5e3dd157
KV
1/*
2 * Copyright (c) 2005-2011 Atheros Communications Inc.
3 * Copyright (c) 2011-2013 Qualcomm Atheros, Inc.
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _DEBUG_H_
19#define _DEBUG_H_
20
21#include <linux/types.h>
22#include "trace.h"
23
24enum ath10k_debug_mask {
25 ATH10K_DBG_PCI = 0x00000001,
26 ATH10K_DBG_WMI = 0x00000002,
27 ATH10K_DBG_HTC = 0x00000004,
28 ATH10K_DBG_HTT = 0x00000008,
29 ATH10K_DBG_MAC = 0x00000010,
b52b7688 30 ATH10K_DBG_BOOT = 0x00000020,
5e3dd157
KV
31 ATH10K_DBG_PCI_DUMP = 0x00000040,
32 ATH10K_DBG_HTT_DUMP = 0x00000080,
33 ATH10K_DBG_MGMT = 0x00000100,
34 ATH10K_DBG_DATA = 0x00000200,
f0bbea99 35 ATH10K_DBG_BMI = 0x00000400,
9702c686 36 ATH10K_DBG_REGULATORY = 0x00000800,
43d2a30f 37 ATH10K_DBG_TESTMODE = 0x00001000,
5e3dd157
KV
38 ATH10K_DBG_ANY = 0xffffffff,
39};
40
41extern unsigned int ath10k_debug_mask;
42
babcb3ed
JP
43__printf(2, 3) void ath10k_info(struct ath10k *ar, const char *fmt, ...);
44__printf(2, 3) void ath10k_err(struct ath10k *ar, const char *fmt, ...);
45__printf(2, 3) void ath10k_warn(struct ath10k *ar, const char *fmt, ...);
8a0c797e 46void ath10k_print_driver_info(struct ath10k *ar);
5e3dd157
KV
47
48#ifdef CONFIG_ATH10K_DEBUGFS
db66ea04
KV
49int ath10k_debug_start(struct ath10k *ar);
50void ath10k_debug_stop(struct ath10k *ar);
5e3dd157 51int ath10k_debug_create(struct ath10k *ar);
60631c5c 52void ath10k_debug_destroy(struct ath10k *ar);
e13cf7a3
MK
53int ath10k_debug_register(struct ath10k *ar);
54void ath10k_debug_unregister(struct ath10k *ar);
5e3dd157 55void ath10k_debug_read_service_map(struct ath10k *ar,
5c01aa3d 56 const void *service_map,
5e3dd157 57 size_t map_size);
d15fb520 58void ath10k_debug_read_target_stats(struct ath10k *ar, struct sk_buff *skb);
384914b2
BG
59struct ath10k_fw_crash_data *
60ath10k_debug_get_new_fw_crash_data(struct ath10k *ar);
61
62void ath10k_debug_dbglog_add(struct ath10k *ar, u8 *buffer, int len);
5e3dd157 63
9702c686
JD
64#define ATH10K_DFS_STAT_INC(ar, c) (ar->debug.dfs_stats.c++)
65
5e3dd157 66#else
4ed998dc 67static inline int ath10k_debug_start(struct ath10k *ar)
db66ea04
KV
68{
69 return 0;
70}
71
4ed998dc 72static inline void ath10k_debug_stop(struct ath10k *ar)
db66ea04
KV
73{
74}
75
5e3dd157
KV
76static inline int ath10k_debug_create(struct ath10k *ar)
77{
78 return 0;
79}
80
60631c5c
KV
81static inline void ath10k_debug_destroy(struct ath10k *ar)
82{
83}
84
e13cf7a3
MK
85static inline int ath10k_debug_register(struct ath10k *ar)
86{
87 return 0;
88}
89
90static inline void ath10k_debug_unregister(struct ath10k *ar)
91{
92}
93
5e3dd157 94static inline void ath10k_debug_read_service_map(struct ath10k *ar,
5c01aa3d 95 const void *service_map,
5e3dd157
KV
96 size_t map_size)
97{
98}
99
100static inline void ath10k_debug_read_target_stats(struct ath10k *ar,
d15fb520 101 struct sk_buff *skb)
5e3dd157
KV
102{
103}
9702c686 104
384914b2
BG
105static inline void ath10k_debug_dbglog_add(struct ath10k *ar, u8 *buffer,
106 int len)
107{
108}
109
110static inline struct ath10k_fw_crash_data *
111ath10k_debug_get_new_fw_crash_data(struct ath10k *ar)
112{
113 return NULL;
114}
115
9702c686
JD
116#define ATH10K_DFS_STAT_INC(ar, c) do { } while (0)
117
5e3dd157
KV
118#endif /* CONFIG_ATH10K_DEBUGFS */
119
120#ifdef CONFIG_ATH10K_DEBUG
7aa7a72a
MK
121__printf(3, 4) void ath10k_dbg(struct ath10k *ar,
122 enum ath10k_debug_mask mask,
2e05f01b 123 const char *fmt, ...);
7aa7a72a
MK
124void ath10k_dbg_dump(struct ath10k *ar,
125 enum ath10k_debug_mask mask,
5e3dd157
KV
126 const char *msg, const char *prefix,
127 const void *buf, size_t len);
128#else /* CONFIG_ATH10K_DEBUG */
129
7aa7a72a
MK
130static inline int ath10k_dbg(struct ath10k *ar,
131 enum ath10k_debug_mask dbg_mask,
5e3dd157
KV
132 const char *fmt, ...)
133{
134 return 0;
135}
136
7aa7a72a
MK
137static inline void ath10k_dbg_dump(struct ath10k *ar,
138 enum ath10k_debug_mask mask,
5e3dd157
KV
139 const char *msg, const char *prefix,
140 const void *buf, size_t len)
141{
142}
143#endif /* CONFIG_ATH10K_DEBUG */
144#endif /* _DEBUG_H_ */