1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * DebugFS code for ST-Ericsson CW1200 mac80211 driver
4 *
5 * Copyright (c) 2011, ST-Ericsson
6 * Author: Dmitry Tarnyagin <dmitry.tarnyagin@lockless.no>
7 */
8
9#ifndef CW1200_DEBUG_H_INCLUDED
10#define CW1200_DEBUG_H_INCLUDED
11
12struct cw1200_debug_priv {
13	struct dentry *debugfs_phy;
14	int tx;
15	int tx_agg;
16	int rx;
17	int rx_agg;
18	int tx_multi;
19	int tx_multi_frames;
20	int tx_cache_miss;
21	int tx_align;
22	int tx_ttl;
23	int tx_burst;
24	int ba_cnt;
25	int ba_acc;
26	int ba_cnt_rx;
27	int ba_acc_rx;
28};
29
30int cw1200_debug_init(struct cw1200_common *priv);
31void cw1200_debug_release(struct cw1200_common *priv);
32
33static inline void cw1200_debug_txed(struct cw1200_common *priv)
34{
35	++priv->debug->tx;
36}
37
38static inline void cw1200_debug_txed_agg(struct cw1200_common *priv)
39{
40	++priv->debug->tx_agg;
41}
42
43static inline void cw1200_debug_txed_multi(struct cw1200_common *priv,
44					   int count)
45{
46	++priv->debug->tx_multi;
47	priv->debug->tx_multi_frames += count;
48}
49
50static inline void cw1200_debug_rxed(struct cw1200_common *priv)
51{
52	++priv->debug->rx;
53}
54
55static inline void cw1200_debug_rxed_agg(struct cw1200_common *priv)
56{
57	++priv->debug->rx_agg;
58}
59
60static inline void cw1200_debug_tx_cache_miss(struct cw1200_common *priv)
61{
62	++priv->debug->tx_cache_miss;
63}
64
65static inline void cw1200_debug_tx_align(struct cw1200_common *priv)
66{
67	++priv->debug->tx_align;
68}
69
70static inline void cw1200_debug_tx_ttl(struct cw1200_common *priv)
71{
72	++priv->debug->tx_ttl;
73}
74
75static inline void cw1200_debug_tx_burst(struct cw1200_common *priv)
76{
77	++priv->debug->tx_burst;
78}
79
80static inline void cw1200_debug_ba(struct cw1200_common *priv,
81				   int ba_cnt, int ba_acc,
82				   int ba_cnt_rx, int ba_acc_rx)
83{
84	priv->debug->ba_cnt = ba_cnt;
85	priv->debug->ba_acc = ba_acc;
86	priv->debug->ba_cnt_rx = ba_cnt_rx;
87	priv->debug->ba_acc_rx = ba_acc_rx;
88}
89
90#endif /* CW1200_DEBUG_H_INCLUDED */
91