]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
mt76: debugfs: introduce napi_threaded node
authorLorenzo Bianconi <lorenzo@kernel.org>
Mon, 15 Mar 2021 21:49:15 +0000 (22:49 +0100)
committerFelix Fietkau <nbd@nbd.name>
Wed, 21 Apr 2021 18:55:56 +0000 (20:55 +0200)
Introduce napi_threaded debugfs knob in order to enable/disable NAPI
threaded support

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

index d4a6b810897157d797ee5eb7684769a0f7b145d0..fa48cc3a7a8f72065fcbcc14616c72ad71e9aec2 100644 (file)
@@ -25,6 +25,32 @@ mt76_reg_get(void *data, u64 *val)
 DEFINE_DEBUGFS_ATTRIBUTE(fops_regval, mt76_reg_get, mt76_reg_set,
                         "0x%08llx\n");
 
+static int
+mt76_napi_threaded_set(void *data, u64 val)
+{
+       struct mt76_dev *dev = data;
+
+       if (!mt76_is_mmio(dev))
+               return -EOPNOTSUPP;
+
+       if (dev->napi_dev.threaded != val)
+               return dev_set_threaded(&dev->napi_dev, val);
+
+       return 0;
+}
+
+static int
+mt76_napi_threaded_get(void *data, u64 *val)
+{
+       struct mt76_dev *dev = data;
+
+       *val = dev->napi_dev.threaded;
+       return 0;
+}
+
+DEFINE_DEBUGFS_ATTRIBUTE(fops_napi_threaded, mt76_napi_threaded_get,
+                        mt76_napi_threaded_set, "%llu\n");
+
 int mt76_queues_read(struct seq_file *s, void *data)
 {
        struct mt76_dev *dev = dev_get_drvdata(s->private);
@@ -102,6 +128,8 @@ struct dentry *mt76_register_debugfs(struct mt76_dev *dev)
        debugfs_create_u32("regidx", 0600, dir, &dev->debugfs_reg);
        debugfs_create_file_unsafe("regval", 0600, dir, dev,
                                   &fops_regval);
+       debugfs_create_file_unsafe("napi_threaded", 0600, dir, dev,
+                                  &fops_napi_threaded);
        debugfs_create_blob("eeprom", 0400, dir, &dev->eeprom);
        if (dev->otp.data)
                debugfs_create_blob("otp", 0400, dir, &dev->otp);