aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@amacapital.net>2014-06-07 12:13:44 -0400
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-06-24 14:55:30 -0400
commitf40faf623712153a64f39d2bddad2fc5a4f5e12d (patch)
tree54cd6a85294b8076a7ada7838d95278e0e600152 /drivers/net
parentd536c32b45d2f86c9e9e7780bd94d28d1d7c4660 (diff)
iwlwifi: pcie: improve debugfs queue info
This adds need_update and write_actual to rx_queue and need_update and an HCMD indicator to tx_queue. On my card, rx_queue now looks like: read: 181 write: 180 write_actual: 176 need_update: 0 free_count: 40 closed_rb_num: 181 tx_queue now looks like: hwq 00: read=29 write=30 use=1 stop=0 need_update=0 hwq 01: read=0 write=0 use=1 stop=0 need_update=0 hwq 02: read=128 write=128 use=1 stop=0 need_update=0 hwq 03: read=0 write=0 use=1 stop=0 need_update=0 hwq 04: read=94 write=94 use=1 stop=0 need_update=0 HCMD hwq 05: read=0 write=0 use=0 stop=0 need_update=0 hwq 06: read=0 write=0 use=0 stop=0 need_update=0 hwq 07: read=0 write=0 use=0 stop=0 need_update=0 hwq 08: read=0 write=0 use=0 stop=0 need_update=0 hwq 09: read=0 write=0 use=0 stop=0 need_update=0 hwq 10: read=0 write=0 use=0 stop=0 need_update=0 hwq 11: read=0 write=0 use=0 stop=0 need_update=0 hwq 12: read=0 write=0 use=0 stop=0 need_update=0 hwq 13: read=0 write=0 use=0 stop=0 need_update=0 hwq 14: read=0 write=0 use=0 stop=0 need_update=0 hwq 15: read=0 write=0 use=0 stop=0 need_update=0 hwq 16: read=0 write=0 use=0 stop=0 need_update=0 hwq 17: read=0 write=0 use=0 stop=0 need_update=0 hwq 18: read=0 write=0 use=0 stop=0 need_update=0 hwq 19: read=0 write=0 use=0 stop=0 need_update=0 This may help with debugging queue stalls. Signed-off-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/iwlwifi/pcie/trans.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/pcie/trans.c b/drivers/net/wireless/iwlwifi/pcie/trans.c
index 3ffac4888c12..0480857ee6e2 100644
--- a/drivers/net/wireless/iwlwifi/pcie/trans.c
+++ b/drivers/net/wireless/iwlwifi/pcie/trans.c
@@ -1573,10 +1573,12 @@ static ssize_t iwl_dbgfs_tx_queue_read(struct file *file,
1573 txq = &trans_pcie->txq[cnt]; 1573 txq = &trans_pcie->txq[cnt];
1574 q = &txq->q; 1574 q = &txq->q;
1575 pos += scnprintf(buf + pos, bufsz - pos, 1575 pos += scnprintf(buf + pos, bufsz - pos,
1576 "hwq %.2d: read=%u write=%u use=%d stop=%d\n", 1576 "hwq %.2d: read=%u write=%u use=%d stop=%d need_update=%d%s\n",
1577 cnt, q->read_ptr, q->write_ptr, 1577 cnt, q->read_ptr, q->write_ptr,
1578 !!test_bit(cnt, trans_pcie->queue_used), 1578 !!test_bit(cnt, trans_pcie->queue_used),
1579 !!test_bit(cnt, trans_pcie->queue_stopped)); 1579 !!test_bit(cnt, trans_pcie->queue_stopped),
1580 txq->need_update,
1581 (cnt == trans_pcie->cmd_queue ? " HCMD" : ""));
1580 } 1582 }
1581 ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos); 1583 ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
1582 kfree(buf); 1584 kfree(buf);
@@ -1598,6 +1600,10 @@ static ssize_t iwl_dbgfs_rx_queue_read(struct file *file,
1598 rxq->read); 1600 rxq->read);
1599 pos += scnprintf(buf + pos, bufsz - pos, "write: %u\n", 1601 pos += scnprintf(buf + pos, bufsz - pos, "write: %u\n",
1600 rxq->write); 1602 rxq->write);
1603 pos += scnprintf(buf + pos, bufsz - pos, "write_actual: %u\n",
1604 rxq->write_actual);
1605 pos += scnprintf(buf + pos, bufsz - pos, "need_update: %d\n",
1606 rxq->need_update);
1601 pos += scnprintf(buf + pos, bufsz - pos, "free_count: %u\n", 1607 pos += scnprintf(buf + pos, bufsz - pos, "free_count: %u\n",
1602 rxq->free_count); 1608 rxq->free_count);
1603 if (rxq->rb_stts) { 1609 if (rxq->rb_stts) {