| /* | 
 |  * 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 */ |