diff options
author | Sujith <Sujith.Manoharan@atheros.com> | 2010-05-14 01:48:56 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-02 16:13:03 -0400 |
commit | ca74b83b66dbd289a395c6243695d746c76676cc (patch) | |
tree | 99a7093d9f9cecf896d3cf8583405300707be9eb /drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | |
parent | 2edb4583c6a581e1e48af259db2a2d467d11551d (diff) |
ath9k_htc: Initialize beacon/CAB queues
This patch initializes the beacon and CAB HW queues
when the driver is loaded.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/htc_drv_txrx.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c index 09ff8f1a68e0..77a487b03c0e 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | |||
@@ -20,6 +20,16 @@ | |||
20 | /* TX */ | 20 | /* TX */ |
21 | /******/ | 21 | /******/ |
22 | 22 | ||
23 | #define ATH9K_HTC_INIT_TXQ(subtype) do { \ | ||
24 | qi.tqi_subtype = subtype; \ | ||
25 | qi.tqi_aifs = ATH9K_TXQ_USEDEFAULT; \ | ||
26 | qi.tqi_cwmin = ATH9K_TXQ_USEDEFAULT; \ | ||
27 | qi.tqi_cwmax = ATH9K_TXQ_USEDEFAULT; \ | ||
28 | qi.tqi_physCompBuf = 0; \ | ||
29 | qi.tqi_qflags = TXQ_FLAG_TXEOLINT_ENABLE | \ | ||
30 | TXQ_FLAG_TXDESCINT_ENABLE; \ | ||
31 | } while (0) | ||
32 | |||
23 | int get_hw_qnum(u16 queue, int *hwq_map) | 33 | int get_hw_qnum(u16 queue, int *hwq_map) |
24 | { | 34 | { |
25 | switch (queue) { | 35 | switch (queue) { |
@@ -297,13 +307,7 @@ bool ath9k_htc_txq_setup(struct ath9k_htc_priv *priv, | |||
297 | int qnum; | 307 | int qnum; |
298 | 308 | ||
299 | memset(&qi, 0, sizeof(qi)); | 309 | memset(&qi, 0, sizeof(qi)); |
300 | 310 | ATH9K_HTC_INIT_TXQ(subtype); | |
301 | qi.tqi_subtype = subtype; | ||
302 | qi.tqi_aifs = ATH9K_TXQ_USEDEFAULT; | ||
303 | qi.tqi_cwmin = ATH9K_TXQ_USEDEFAULT; | ||
304 | qi.tqi_cwmax = ATH9K_TXQ_USEDEFAULT; | ||
305 | qi.tqi_physCompBuf = 0; | ||
306 | qi.tqi_qflags = TXQ_FLAG_TXEOLINT_ENABLE | TXQ_FLAG_TXDESCINT_ENABLE; | ||
307 | 311 | ||
308 | qnum = ath9k_hw_setuptxqueue(priv->ah, ATH9K_TX_QUEUE_DATA, &qi); | 312 | qnum = ath9k_hw_setuptxqueue(priv->ah, ATH9K_TX_QUEUE_DATA, &qi); |
309 | if (qnum == -1) | 313 | if (qnum == -1) |
@@ -321,6 +325,16 @@ bool ath9k_htc_txq_setup(struct ath9k_htc_priv *priv, | |||
321 | return true; | 325 | return true; |
322 | } | 326 | } |
323 | 327 | ||
328 | int ath9k_htc_cabq_setup(struct ath9k_htc_priv *priv) | ||
329 | { | ||
330 | struct ath9k_tx_queue_info qi; | ||
331 | |||
332 | memset(&qi, 0, sizeof(qi)); | ||
333 | ATH9K_HTC_INIT_TXQ(0); | ||
334 | |||
335 | return ath9k_hw_setuptxqueue(priv->ah, ATH9K_TX_QUEUE_CAB, &qi); | ||
336 | } | ||
337 | |||
324 | /******/ | 338 | /******/ |
325 | /* RX */ | 339 | /* RX */ |
326 | /******/ | 340 | /******/ |