]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: mana: Fix IRQ name - add PCI and queue number
authorHaiyang Zhang <haiyangz@microsoft.com>
Thu, 19 Jan 2023 20:59:10 +0000 (12:59 -0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 21 Jan 2023 02:17:17 +0000 (18:17 -0800)
The PCI and queue number info is missing in IRQ names.

Add PCI and queue number to IRQ names, to allow CPU affinity
tuning scripts to work.

Cc: stable@vger.kernel.org
Fixes: ca9c54d2d6a5 ("net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)")
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Link: https://lore.kernel.org/r/1674161950-19708-1-git-send-email-haiyangz@microsoft.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/microsoft/mana/gdma_main.c
include/net/mana/gdma.h

index e708c2d049839f27b578dab501dd47c5b9061bc4..b144f2237748e7d9a2d052010cf57a59676edd2f 100644 (file)
@@ -1259,13 +1259,20 @@ static int mana_gd_setup_irqs(struct pci_dev *pdev)
                gic->handler = NULL;
                gic->arg = NULL;
 
+               if (!i)
+                       snprintf(gic->name, MANA_IRQ_NAME_SZ, "mana_hwc@pci:%s",
+                                pci_name(pdev));
+               else
+                       snprintf(gic->name, MANA_IRQ_NAME_SZ, "mana_q%d@pci:%s",
+                                i - 1, pci_name(pdev));
+
                irq = pci_irq_vector(pdev, i);
                if (irq < 0) {
                        err = irq;
                        goto free_mask;
                }
 
-               err = request_irq(irq, mana_gd_intr, 0, "mana_intr", gic);
+               err = request_irq(irq, mana_gd_intr, 0, gic->name, gic);
                if (err)
                        goto free_mask;
                irq_set_affinity_and_hint(irq, req_mask);
index b3ba04615caa3295fc28a0c6a534221333c70604..56189e4252da3b1abf936930346611c9c70de8fa 100644 (file)
@@ -336,9 +336,12 @@ struct gdma_queue_spec {
        };
 };
 
+#define MANA_IRQ_NAME_SZ 32
+
 struct gdma_irq_context {
        void (*handler)(void *arg);
        void *arg;
+       char name[MANA_IRQ_NAME_SZ];
 };
 
 struct gdma_context {