mt76: add rx queues info to mt76 debugfs
authorLorenzo Bianconi <lorenzo@kernel.org>
Sun, 19 Apr 2020 20:11:41 +0000 (22:11 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 12 May 2020 17:52:31 +0000 (19:52 +0200)
Introduce rx-queues debugfs node in order to dump rx queues status.
This would be useful for mcu fw debugging

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/debugfs.c
drivers/net/wireless/mediatek/mt76/mt7603/debugfs.c
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
drivers/net/wireless/mediatek/mt76/mt76x02_debugfs.c

index d2202acb8dc6ee6762b3da70fdd22d122e0826e8..0278e1b44576373bfcebf2fbcaed8479f94c017b 100644 (file)
@@ -46,6 +46,25 @@ int mt76_queues_read(struct seq_file *s, void *data)
 }
 EXPORT_SYMBOL_GPL(mt76_queues_read);
 
+static int mt76_rx_queues_read(struct seq_file *s, void *data)
+{
+       struct mt76_dev *dev = dev_get_drvdata(s->private);
+       int i, queued;
+
+       for (i = 0; i < ARRAY_SIZE(dev->q_rx); i++) {
+               struct mt76_queue *q = &dev->q_rx[i];
+
+               if (!q->ndesc)
+                       continue;
+
+               queued = mt76_is_usb(dev) ? q->ndesc - q->queued : q->queued;
+               seq_printf(s, "%d:      queued=%d head=%d tail=%d\n",
+                          i, queued, q->head, q->tail);
+       }
+
+       return 0;
+}
+
 void mt76_seq_puts_array(struct seq_file *file, const char *str,
                         s8 *val, int len)
 {
@@ -92,6 +111,8 @@ struct dentry *mt76_register_debugfs(struct mt76_dev *dev)
                debugfs_create_blob("otp", 0400, dir, &dev->otp);
        debugfs_create_devm_seqfile(dev->dev, "rate_txpower", dir,
                                    mt76_read_rate_txpower);
+       debugfs_create_devm_seqfile(dev->dev, "rx-queues", dir,
+                                   mt76_rx_queues_read);
 
        return dir;
 }
index cc7c788abeddd5f973543cb3dbe3a0f7f3daef26..8ce6880b2bb83e27d3967e45dd5d690fcdca4206 100644 (file)
@@ -113,7 +113,7 @@ void mt7603_init_debugfs(struct mt7603_dev *dev)
                return;
 
        debugfs_create_file("ampdu_stat", 0400, dir, dev, &fops_ampdu_stat);
-       debugfs_create_devm_seqfile(dev->mt76.dev, "queues", dir,
+       debugfs_create_devm_seqfile(dev->mt76.dev, "xmit-queues", dir,
                                    mt76_queues_read);
        debugfs_create_file("edcca", 0600, dir, dev, &fops_edcca);
        debugfs_create_u32("reset_test", 0600, dir, &dev->reset_test);
index 150036488e3fdb4ef6e4e60616f762f7bbcb1d24..fd3ef483a87ce75dbed77a706f05fdbd675e8731 100644 (file)
@@ -293,10 +293,10 @@ int mt7615_init_debugfs(struct mt7615_dev *dev)
                return -ENOMEM;
 
        if (is_mt7615(&dev->mt76))
-               debugfs_create_devm_seqfile(dev->mt76.dev, "queues", dir,
+               debugfs_create_devm_seqfile(dev->mt76.dev, "xmit-queues", dir,
                                            mt7615_queues_read);
        else
-               debugfs_create_devm_seqfile(dev->mt76.dev, "queues", dir,
+               debugfs_create_devm_seqfile(dev->mt76.dev, "xmit-queues", dir,
                                            mt76_queues_read);
        debugfs_create_devm_seqfile(dev->mt76.dev, "acq", dir,
                                    mt7615_queues_acq);
index 68b40d63a46d7c4cead417da068f07e62ffb3a80..ff448a1ad4e398ce30a24f05dff9a61f6c5f4052 100644 (file)
@@ -144,7 +144,7 @@ void mt76x02_init_debugfs(struct mt76x02_dev *dev)
        if (!dir)
                return;
 
-       debugfs_create_devm_seqfile(dev->mt76.dev, "queues", dir,
+       debugfs_create_devm_seqfile(dev->mt76.dev, "xmit-queues", dir,
                                    mt76_queues_read);
        debugfs_create_u8("temperature", 0400, dir, &dev->cal.temp);
        debugfs_create_bool("tpc", 0600, dir, &dev->enable_tpc);