aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/tx.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/wl12xx/tx.h')
-rw-r--r--drivers/net/wireless/wl12xx/tx.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/tx.h b/drivers/net/wireless/wl12xx/tx.h
index 832f9258d675..5d719b5a3d1d 100644
--- a/drivers/net/wireless/wl12xx/tx.h
+++ b/drivers/net/wireless/wl12xx/tx.h
@@ -150,7 +150,7 @@ struct wl1271_tx_hw_res_descr {
150 (from 1st EDCA AIFS counter until TX Complete). */ 150 (from 1st EDCA AIFS counter until TX Complete). */
151 __le32 medium_delay; 151 __le32 medium_delay;
152 /* LS-byte of last TKIP seq-num (saved per AC for recovery). */ 152 /* LS-byte of last TKIP seq-num (saved per AC for recovery). */
153 u8 lsb_security_sequence_number; 153 u8 tx_security_sequence_number_lsb;
154 /* Retry count - number of transmissions without successful ACK.*/ 154 /* Retry count - number of transmissions without successful ACK.*/
155 u8 ack_failures; 155 u8 ack_failures;
156 /* The rate that succeeded getting ACK 156 /* The rate that succeeded getting ACK
@@ -182,6 +182,32 @@ static inline int wl1271_tx_get_queue(int queue)
182 } 182 }
183} 183}
184 184
185static inline int wl1271_tx_get_mac80211_queue(int queue)
186{
187 switch (queue) {
188 case CONF_TX_AC_VO:
189 return 0;
190 case CONF_TX_AC_VI:
191 return 1;
192 case CONF_TX_AC_BE:
193 return 2;
194 case CONF_TX_AC_BK:
195 return 3;
196 default:
197 return 2;
198 }
199}
200
201static inline int wl1271_tx_total_queue_count(struct wl1271 *wl)
202{
203 int i, count = 0;
204
205 for (i = 0; i < NUM_TX_QUEUES; i++)
206 count += wl->tx_queue_count[i];
207
208 return count;
209}
210
185void wl1271_tx_work(struct work_struct *work); 211void wl1271_tx_work(struct work_struct *work);
186void wl1271_tx_work_locked(struct wl1271 *wl); 212void wl1271_tx_work_locked(struct wl1271 *wl);
187void wl1271_tx_complete(struct wl1271 *wl); 213void wl1271_tx_complete(struct wl1271 *wl);