aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
diff options
context:
space:
mode:
authorSujith <Sujith.Manoharan@atheros.com>2010-05-14 01:48:56 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-02 16:13:03 -0400
commitca74b83b66dbd289a395c6243695d746c76676cc (patch)
tree99a7093d9f9cecf896d3cf8583405300707be9eb /drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
parent2edb4583c6a581e1e48af259db2a2d467d11551d (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.c28
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
23int get_hw_qnum(u16 queue, int *hwq_map) 33int 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
328int 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/******/