aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2010-01-08 20:22:55 +0000
committerGabor Juhos <juhosg@openwrt.org>2010-01-08 20:22:55 +0000
commitb4b218d20a10f323ef06696dcc3dce59c2de6611 (patch)
tree9b1794b4a74524c39910d8f4b24bf98e81c0d194 /target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
parentb3990736ba091c8469812d78c12917a89ae1ca2d (diff)
downloadupstream-b4b218d20a10f323ef06696dcc3dce59c2de6611.tar.gz
upstream-b4b218d20a10f323ef06696dcc3dce59c2de6611.tar.bz2
upstream-b4b218d20a10f323ef06696dcc3dce59c2de6611.zip
ar71xx: add NAPI statistics to the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19079 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h')
-rw-r--r--target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
index ef135efd1f..139fc9455a 100644
--- a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
+++ b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
@@ -119,10 +119,26 @@ struct ag71xx_int_stats {
unsigned long total;
};
+struct ag71xx_napi_stats {
+ unsigned long napi_calls;
+ unsigned long rx_count;
+ unsigned long rx_packets;
+ unsigned long rx_packets_max;
+ unsigned long tx_count;
+ unsigned long tx_packets;
+ unsigned long tx_packets_max;
+
+ unsigned long rx[AG71XX_NAPI_WEIGHT + 1];
+ unsigned long tx[AG71XX_NAPI_WEIGHT + 1];
+};
+
struct ag71xx_debug {
struct dentry *debugfs_dir;
struct dentry *debugfs_int_stats;
+ struct dentry *debugfs_napi_stats;
+
struct ag71xx_int_stats int_stats;
+ struct ag71xx_napi_stats napi_stats;
};
struct ag71xx {
@@ -476,13 +492,16 @@ void ag71xx_debugfs_root_exit(void);
int ag71xx_debugfs_init(struct ag71xx *ag);
void ag71xx_debugfs_exit(struct ag71xx *ag);
void ag71xx_debugfs_update_int_stats(struct ag71xx *ag, u32 status);
+void ag71xx_debugfs_update_napi_stats(struct ag71xx *ag, int rx, int tx);
#else
static inline int ag71xx_debugfs_root_init(void) { return 0; }
static inline void ag71xx_debugfs_root_exit(void) {}
static inline int ag71xx_debugfs_init(struct ag71xx *ag) { return 0; }
static inline void ag71xx_debugfs_exit(struct ag71xx *ag) {}
static inline void ag71xx_debugfs_update_int_stats(struct ag71xx *ag,
- u32 status) {}
+ u32 status) {}
+static inline void ag71xx_debugfs_update_napi_stats(struct ag71xx *ag,
+ int rx, int tx) {}
#endif /* CONFIG_AG71XX_DEBUG_FS */
#endif /* _AG71XX_H */