diff options
author | Arik Nemtsov <arik@wizery.com> | 2011-02-23 00:22:26 +0200 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-02-23 11:14:56 +0200 |
commit | a8c0ddb5ba2889e1e11a033ccbadfc600f236a91 (patch) | |
tree | 6daf6085a8e8cd176f8e4d1a823399353caa6f21 /drivers/net/wireless/wl12xx/wl12xx.h | |
parent | 99a2775d02a7accf4cc661a65c76fd7b379d1c7a (diff) | |
download | lwn-a8c0ddb5ba2889e1e11a033ccbadfc600f236a91.tar.gz lwn-a8c0ddb5ba2889e1e11a033ccbadfc600f236a91.zip |
wl12xx: AP-mode - TX queue per link in AC
When operating in AP-mode we require a per link tx-queue.
This allows us to implement HW assisted PS mode for links,
as well as regulate per-link FW TX blocks consumption.
Split each link into ACs to support future QoS for AP-mode.
AC queues are emptied in priority and per-link queues are
scheduled in a simple round-robin fashion.
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl12xx.h')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl12xx.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/wl12xx.h b/drivers/net/wireless/wl12xx/wl12xx.h index 1d6c94304b1a..9ffac80d3988 100644 --- a/drivers/net/wireless/wl12xx/wl12xx.h +++ b/drivers/net/wireless/wl12xx/wl12xx.h @@ -319,6 +319,11 @@ enum wl12xx_flags { WL1271_FLAG_AP_STARTED }; +struct wl1271_link { + /* AP-mode - TX queue per AC in link */ + struct sk_buff_head tx_queue[NUM_TX_QUEUES]; +}; + struct wl1271 { struct platform_device *plat_dev; struct ieee80211_hw *hw; @@ -498,6 +503,15 @@ struct wl1271 { /* RX BA constraint value */ bool ba_support; u8 ba_rx_bitmap; + + /* + * AP-mode - links indexed by HLID. The global and broadcast links + * are always active. + */ + struct wl1271_link links[AP_MAX_LINKS]; + + /* the hlid of the link where the last transmitted skb came from */ + int last_tx_hlid; }; struct wl1271_station { |