ramips: raeth: show interrupt statistics in debugfs
[openwrt.git] / target / linux / ramips / files / drivers / net / ethernet / ramips / ramips_eth.h
index ea3e923..c8df434 100644 (file)
@@ -213,8 +213,30 @@ struct ramips_tx_dma {
        unsigned int txd4;
 } __packed __aligned(4);
 
+struct raeth_int_stats {
+       unsigned long           rx_delayed;
+       unsigned long           tx_delayed;
+       unsigned long           rx_done0;
+       unsigned long           tx_done0;
+       unsigned long           tx_done1;
+       unsigned long           tx_done2;
+       unsigned long           tx_done3;
+       unsigned long           rx_coherent;
+       unsigned long           tx_coherent;
+
+       unsigned long           pse_fq_empty;
+       unsigned long           pse_p0_fc;
+       unsigned long           pse_p1_fc;
+       unsigned long           pse_p2_fc;
+       unsigned long           pse_buf_drop;
+
+       unsigned long           total;
+};
+
 struct raeth_debug {
        struct dentry           *debugfs_dir;
+
+       struct raeth_int_stats  int_stats;
 };
 
 struct raeth_priv
@@ -258,11 +280,14 @@ int raeth_debugfs_root_init(void);
 void raeth_debugfs_root_exit(void);
 int raeth_debugfs_init(struct raeth_priv *re);
 void raeth_debugfs_exit(struct raeth_priv *re);
+void raeth_debugfs_update_int_stats(struct raeth_priv *re, u32 status);
 #else
 static inline int raeth_debugfs_root_init(void) { return 0; }
 static inline void raeth_debugfs_root_exit(void) {}
 static inline int raeth_debugfs_init(struct raeth_priv *re) { return 0; }
 static inline void raeth_debugfs_exit(struct raeth_priv *re) {}
+static inline void raeth_debugfs_update_int_stats(struct raeth_priv *re,
+                                                 u32 status) {}
 #endif /* CONFIG_NET_RAMIPS_DEBUG_FS */
 
 #endif /* RAMIPS_ETH_H */
This page took 0.024106 seconds and 4 git commands to generate.