aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-08-07 10:42:15 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-08-14 09:13:44 -0400
commitad5351db89681515681c5d5659ddf4c69e3cc6f5 (patch)
tree3c77642d10862aa9eea9c9366090941c18b69ac3 /include
parentab5b5342fd0ba5b9a2f58a94c5d41dd074b7c48e (diff)
mac80211: allow DMA optimisation
If we have a lot of frames to transmit at once, for instance with fragmentation, it can be an optimisation to only tell the DMA engine about them on the last fragment/frame to avoid banging the IO too much. This patch allows implementation such an optimisation by telling the driver when more frames can be expected. Currently, this is used by mac80211 only on fragmented frames, but could also be used in the future on other frames when the queue was full and there are multiple frames pending. Note that drivers need to be careful when using this flag, they need to kick their DMA engines not just when this flag is clear, but also when the queue gets full so that progress can be made. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/mac80211.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index cd4eb20f98f..76d43e12cc2 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -268,6 +268,10 @@ struct ieee80211_bss_conf {
268 * @IEEE80211_TX_CTL_PSPOLL_RESPONSE: (internal?) 268 * @IEEE80211_TX_CTL_PSPOLL_RESPONSE: (internal?)
269 * This frame is a response to a PS-poll frame and should be sent 269 * This frame is a response to a PS-poll frame and should be sent
270 * although the station is in powersave mode. 270 * although the station is in powersave mode.
271 * @IEEE80211_TX_CTL_MORE_FRAMES: More frames will be passed to the
272 * transmit function after the current frame, this can be used
273 * by drivers to kick the DMA queue only if unset or when the
274 * queue gets full.
271 */ 275 */
272enum mac80211_tx_control_flags { 276enum mac80211_tx_control_flags {
273 IEEE80211_TX_CTL_REQ_TX_STATUS = BIT(0), 277 IEEE80211_TX_CTL_REQ_TX_STATUS = BIT(0),
@@ -288,6 +292,7 @@ enum mac80211_tx_control_flags {
288 IEEE80211_TX_INTFL_RETRIED = BIT(15), 292 IEEE80211_TX_INTFL_RETRIED = BIT(15),
289 IEEE80211_TX_INTFL_DONT_ENCRYPT = BIT(16), 293 IEEE80211_TX_INTFL_DONT_ENCRYPT = BIT(16),
290 IEEE80211_TX_CTL_PSPOLL_RESPONSE = BIT(17), 294 IEEE80211_TX_CTL_PSPOLL_RESPONSE = BIT(17),
295 IEEE80211_TX_CTL_MORE_FRAMES = BIT(18),
291}; 296};
292 297
293/** 298/**