aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorBen Greear <greearb@candelatech.com>2011-01-10 02:11:48 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-01-21 15:32:22 -0500
commitbda8addaed08834956d5695212717893a2e0cb13 (patch)
treecca1414e2aa4c17c3cdb91248d672c431b404fff /drivers
parent082f65368991f6bb7499c379754505cb674708b1 (diff)
ath9k: Add counters to distinquish AMPDU enqueues.
Show counters for pkts sent directly to hardware and those queued in software. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ath/ath9k/debug.c3
-rw-r--r--drivers/net/wireless/ath/ath9k/debug.h6
-rw-r--r--drivers/net/wireless/ath/ath9k/xmit.c3
3 files changed, 8 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c
index 577bc5a9835b..faf84e499c8f 100644
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -628,7 +628,8 @@ static ssize_t read_file_xmit(struct file *file, char __user *user_buf,
628 PR("MPDUs Queued: ", queued); 628 PR("MPDUs Queued: ", queued);
629 PR("MPDUs Completed: ", completed); 629 PR("MPDUs Completed: ", completed);
630 PR("Aggregates: ", a_aggr); 630 PR("Aggregates: ", a_aggr);
631 PR("AMPDUs Queued: ", a_queued); 631 PR("AMPDUs Queued HW:", a_queued_hw);
632 PR("AMPDUs Queued SW:", a_queued_sw);
632 PR("AMPDUs Completed:", a_completed); 633 PR("AMPDUs Completed:", a_completed);
633 PR("AMPDUs Retried: ", a_retries); 634 PR("AMPDUs Retried: ", a_retries);
634 PR("AMPDUs XRetried: ", a_xretries); 635 PR("AMPDUs XRetried: ", a_xretries);
diff --git a/drivers/net/wireless/ath/ath9k/debug.h b/drivers/net/wireless/ath/ath9k/debug.h
index cd2db3fd7b7e..980c9fa194b9 100644
--- a/drivers/net/wireless/ath/ath9k/debug.h
+++ b/drivers/net/wireless/ath/ath9k/debug.h
@@ -89,7 +89,8 @@ struct ath_interrupt_stats {
89 * @queued: Total MPDUs (non-aggr) queued 89 * @queued: Total MPDUs (non-aggr) queued
90 * @completed: Total MPDUs (non-aggr) completed 90 * @completed: Total MPDUs (non-aggr) completed
91 * @a_aggr: Total no. of aggregates queued 91 * @a_aggr: Total no. of aggregates queued
92 * @a_queued: Total AMPDUs queued 92 * @a_queued_hw: Total AMPDUs queued to hardware
93 * @a_queued_sw: Total AMPDUs queued to software queues
93 * @a_completed: Total AMPDUs completed 94 * @a_completed: Total AMPDUs completed
94 * @a_retries: No. of AMPDUs retried (SW) 95 * @a_retries: No. of AMPDUs retried (SW)
95 * @a_xretries: No. of AMPDUs dropped due to xretries 96 * @a_xretries: No. of AMPDUs dropped due to xretries
@@ -112,7 +113,8 @@ struct ath_tx_stats {
112 u32 queued; 113 u32 queued;
113 u32 completed; 114 u32 completed;
114 u32 a_aggr; 115 u32 a_aggr;
115 u32 a_queued; 116 u32 a_queued_hw;
117 u32 a_queued_sw;
116 u32 a_completed; 118 u32 a_completed;
117 u32 a_retries; 119 u32 a_retries;
118 u32 a_xretries; 120 u32 a_xretries;
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c
index f6de2271b9d4..a83f2c54508c 100644
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -1341,7 +1341,6 @@ static void ath_tx_send_ampdu(struct ath_softc *sc, struct ath_atx_tid *tid,
1341 struct list_head bf_head; 1341 struct list_head bf_head;
1342 1342
1343 bf->bf_state.bf_type |= BUF_AMPDU; 1343 bf->bf_state.bf_type |= BUF_AMPDU;
1344 TX_STAT_INC(txctl->txq->axq_qnum, a_queued);
1345 1344
1346 /* 1345 /*
1347 * Do not queue to h/w when any of the following conditions is true: 1346 * Do not queue to h/w when any of the following conditions is true:
@@ -1357,6 +1356,7 @@ static void ath_tx_send_ampdu(struct ath_softc *sc, struct ath_atx_tid *tid,
1357 * Add this frame to software queue for scheduling later 1356 * Add this frame to software queue for scheduling later
1358 * for aggregation. 1357 * for aggregation.
1359 */ 1358 */
1359 TX_STAT_INC(txctl->txq->axq_qnum, a_queued_sw);
1360 list_add_tail(&bf->list, &tid->buf_q); 1360 list_add_tail(&bf->list, &tid->buf_q);
1361 ath_tx_queue_tid(txctl->txq, tid); 1361 ath_tx_queue_tid(txctl->txq, tid);
1362 return; 1362 return;
@@ -1370,6 +1370,7 @@ static void ath_tx_send_ampdu(struct ath_softc *sc, struct ath_atx_tid *tid,
1370 ath_tx_addto_baw(sc, tid, fi->seqno); 1370 ath_tx_addto_baw(sc, tid, fi->seqno);
1371 1371
1372 /* Queue to h/w without aggregation */ 1372 /* Queue to h/w without aggregation */
1373 TX_STAT_INC(txctl->txq->axq_qnum, a_queued_hw);
1373 bf->bf_lastbf = bf; 1374 bf->bf_lastbf = bf;
1374 ath_buf_set_rate(sc, bf, fi->framelen); 1375 ath_buf_set_rate(sc, bf, fi->framelen);
1375 ath_tx_txqaddbuf(sc, txctl->txq, &bf_head); 1376 ath_tx_txqaddbuf(sc, txctl->txq, &bf_head);