summaryrefslogtreecommitdiffstats
path: root/sys/dev/ath/if_ath_misc.h
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2011-11-08 21:49:33 +0000
committeradrian <adrian@FreeBSD.org>2011-11-08 21:49:33 +0000
commit65d79f5f4ca64ada7267e395270309b6dc342ca8 (patch)
tree95acdde85c56b6826b48afc3c52bb81ade900015 /sys/dev/ath/if_ath_misc.h
parent49cbf8b5e40871381fdef6d3da5c3512df7457f8 (diff)
downloadFreeBSD-src-65d79f5f4ca64ada7267e395270309b6dc342ca8.zip
FreeBSD-src-65d79f5f4ca64ada7267e395270309b6dc342ca8.tar.gz
Refactor out the TX buffer management and completion code in
preparation for TX aggregation. * Add in logic which calls ath_buf bf->bf_comp if it's set. This allows for AMPDU (and RIFS, and FF, if someone desires) code to handle completion - which includes freeing subframes, retransmitting subframes, etc. * Break out the buffer free, buffer busy/unbusy default completion handler code into separate functions. This allows bf_comp methods to free and unbusy each subframe ath_buf as required. * Break out the statistics update code into a separate function, just to clean up the TX completion path a little. Sponsored by: Hobnob, Inc.
Diffstat (limited to 'sys/dev/ath/if_ath_misc.h')
-rw-r--r--sys/dev/ath/if_ath_misc.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath_misc.h b/sys/dev/ath/if_ath_misc.h
index 240e55e..6f2b2e6 100644
--- a/sys/dev/ath/if_ath_misc.h
+++ b/sys/dev/ath/if_ath_misc.h
@@ -54,7 +54,14 @@ extern struct ath_buf * ath_getbuf(struct ath_softc *sc);
extern struct ath_buf * _ath_getbuf_locked(struct ath_softc *sc);
extern struct ath_buf * ath_buf_clone(struct ath_softc *sc,
const struct ath_buf *bf);
+extern void ath_freebuf(struct ath_softc *sc, struct ath_buf *bf);
extern int ath_reset(struct ifnet *, ATH_RESET_TYPE);
+extern void ath_tx_draintxq(struct ath_softc *sc, struct ath_txq *txq);
+extern void ath_tx_default_comp(struct ath_softc *sc, struct ath_buf *bf,
+ int fail);
+
+extern void ath_tx_freebuf(struct ath_softc *sc, struct ath_buf *bf,
+ int status);
#endif
OpenPOWER on IntegriCloud