/* * DebugFS code for ST-Ericsson CW1200 mac80211 driver * * Copyright (c) 2011, ST-Ericsson * Author: Dmitry Tarnyagin <dmitry.tarnyagin@lockless.no> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef CW1200_DEBUG_H_INCLUDED #define CW1200_DEBUG_H_INCLUDED struct cw1200_debug_priv { struct dentry *debugfs_phy; int tx; int tx_agg; int rx; int rx_agg; int tx_multi; int tx_multi_frames; int tx_cache_miss; int tx_align; int tx_ttl; int tx_burst; int ba_cnt; int ba_acc; int ba_cnt_rx; int ba_acc_rx; }; int cw1200_debug_init(struct cw1200_common *priv); void cw1200_debug_release(struct cw1200_common *priv); static inline void cw1200_debug_txed(struct cw1200_common *priv) { ++priv->debug->tx; } static inline void cw1200_debug_txed_agg(struct cw1200_common *priv) { ++priv->debug->tx_agg; } static inline void cw1200_debug_txed_multi(struct cw1200_common *priv, int count) { ++priv->debug->tx_multi; priv->debug->tx_multi_frames += count; } static inline void cw1200_debug_rxed(struct cw1200_common *priv) { ++priv->debug->rx; } static inline void cw1200_debug_rxed_agg(struct cw1200_common *priv) { ++priv->debug->rx_agg; } static inline void cw1200_debug_tx_cache_miss(struct cw1200_common *priv) { ++priv->debug->tx_cache_miss; } static inline void cw1200_debug_tx_align(struct cw1200_common *priv) { ++priv->debug->tx_align; } static inline void cw1200_debug_tx_ttl(struct cw1200_common *priv) { ++priv->debug->tx_ttl; } static inline void cw1200_debug_tx_burst(struct cw1200_common *priv) { ++priv->debug->tx_burst; } static inline void cw1200_debug_ba(struct cw1200_common *priv, int ba_cnt, int ba_acc, int ba_cnt_rx, int ba_acc_rx) { priv->debug->ba_cnt = ba_cnt; priv->debug->ba_acc = ba_acc; priv->debug->ba_cnt_rx = ba_cnt_rx; priv->debug->ba_acc_rx = ba_acc_rx; } #endif /* CW1200_DEBUG_H_INCLUDED */