As a prelude to bringing over the 11n work, include some extra statistics fields.
This commit is contained in:
parent
1c4fa2aabc
commit
c253b28f92
@ -729,6 +729,23 @@ ath_sysctl_stats_attach(struct ath_softc *sc)
|
|||||||
&sc->sc_stats.ast_tx_timerexpired, 0, "TX exceeded TX_TIMER register");
|
&sc->sc_stats.ast_tx_timerexpired, 0, "TX exceeded TX_TIMER register");
|
||||||
SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_desccfgerr", CTLFLAG_RD,
|
SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_desccfgerr", CTLFLAG_RD,
|
||||||
&sc->sc_stats.ast_tx_desccfgerr, 0, "TX Descriptor Cfg Error");
|
&sc->sc_stats.ast_tx_desccfgerr, 0, "TX Descriptor Cfg Error");
|
||||||
|
SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_swretries", CTLFLAG_RD,
|
||||||
|
&sc->sc_stats.ast_tx_swretries, 0, "TX software retry count");
|
||||||
|
SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_swretrymax", CTLFLAG_RD,
|
||||||
|
&sc->sc_stats.ast_tx_swretrymax, 0, "TX software retry max reached");
|
||||||
|
|
||||||
|
SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_data_underrun", CTLFLAG_RD,
|
||||||
|
&sc->sc_stats.ast_tx_data_underrun, 0, "");
|
||||||
|
SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_delim_underrun", CTLFLAG_RD,
|
||||||
|
&sc->sc_stats.ast_tx_delim_underrun, 0, "");
|
||||||
|
SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_aggrfail", CTLFLAG_RD,
|
||||||
|
&sc->sc_stats.ast_tx_aggrfail, 0,
|
||||||
|
"Number of aggregate TX failures (whole frame)");
|
||||||
|
|
||||||
|
SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_intr", CTLFLAG_RD,
|
||||||
|
&sc->sc_stats.ast_rx_intr, 0, "RX interrupts");
|
||||||
|
SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_intr", CTLFLAG_RD,
|
||||||
|
&sc->sc_stats.ast_tx_intr, 0, "TX interrupts");
|
||||||
|
|
||||||
/* Attach the RX phy error array */
|
/* Attach the RX phy error array */
|
||||||
ath_sysctl_stats_attach_rxphyerr(sc, child);
|
ath_sysctl_stats_attach_rxphyerr(sc, child);
|
||||||
|
@ -134,7 +134,16 @@ struct ath_stats {
|
|||||||
u_int32_t ast_tx_xtxop; /* tx exceeded TXOP */
|
u_int32_t ast_tx_xtxop; /* tx exceeded TXOP */
|
||||||
u_int32_t ast_tx_timerexpired; /* tx exceeded TX_TIMER */
|
u_int32_t ast_tx_timerexpired; /* tx exceeded TX_TIMER */
|
||||||
u_int32_t ast_tx_desccfgerr; /* tx desc cfg error */
|
u_int32_t ast_tx_desccfgerr; /* tx desc cfg error */
|
||||||
u_int32_t ast_pad[13];
|
u_int32_t ast_tx_swretries; /* software TX retries */
|
||||||
|
u_int32_t ast_tx_swretrymax; /* software TX retry max limit reach */
|
||||||
|
u_int32_t ast_tx_data_underrun;
|
||||||
|
u_int32_t ast_tx_delim_underrun;
|
||||||
|
u_int32_t ast_tx_aggrfail; /* aggregate TX failed in its entirety */
|
||||||
|
u_int32_t ast_tx_getnobuf;
|
||||||
|
u_int32_t ast_tx_getbusybuf;
|
||||||
|
u_int32_t ast_tx_intr;
|
||||||
|
u_int32_t ast_rx_intr;
|
||||||
|
u_int32_t ast_pad[4];
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SIOCGATHSTATS _IOWR('i', 137, struct ifreq)
|
#define SIOCGATHSTATS _IOWR('i', 137, struct ifreq)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user