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