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 15struct 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 33int cw1200_debug_init(struct cw1200_common *priv); 34void cw1200_debug_release(struct cw1200_common *priv); 35 36static inline void cw1200_debug_txed(struct cw1200_common *priv) 37{ 38 ++priv->debug->tx; 39} 40 41static inline void cw1200_debug_txed_agg(struct cw1200_common *priv) 42{ 43 ++priv->debug->tx_agg; 44} 45 46static 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 53static inline void cw1200_debug_rxed(struct cw1200_common *priv) 54{ 55 ++priv->debug->rx; 56} 57 58static inline void cw1200_debug_rxed_agg(struct cw1200_common *priv) 59{ 60 ++priv->debug->rx_agg; 61} 62 63static inline void cw1200_debug_tx_cache_miss(struct cw1200_common *priv) 64{ 65 ++priv->debug->tx_cache_miss; 66} 67 68static inline void cw1200_debug_tx_align(struct cw1200_common *priv) 69{ 70 ++priv->debug->tx_align; 71} 72 73static inline void cw1200_debug_tx_ttl(struct cw1200_common *priv) 74{ 75 ++priv->debug->tx_ttl; 76} 77 78static inline void cw1200_debug_tx_burst(struct cw1200_common *priv) 79{ 80 ++priv->debug->tx_burst; 81} 82 83static 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