]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
qualcommax: qca-edma: enable threaded NAPI by default
authorRobert Marko <robimarko@gmail.com>
Mon, 13 Jul 2026 08:39:43 +0000 (10:39 +0200)
committerRobert Marko <robimarko@gmail.com>
Mon, 13 Jul 2026 10:34:33 +0000 (12:34 +0200)
Run the EDMA RX and TX NAPI poll loops in dedicated kernel threads by
default. This allows the threads and their interrupts to be placed on
separate CPUs and avoids overloading a single softirq context.

If thread creation fails, dev_set_threaded() leaves NAPI in softirq mode
and the driver reports the failure.

Link: https://github.com/openwrt/openwrt/pull/24203
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/qualcommax/files/drivers/net/ethernet/qualcomm/qca_edma.c

index 37110d2f96b2bcec66e8ea6692f45aefa88d36e9..a1b6b4ebffcf272f83705bbec0f500b38c1bb8f7 100644 (file)
@@ -1191,6 +1191,10 @@ static int edma_probe(struct platform_device *pdev)
                goto err_irq;
        }
 
+       ret = dev_set_threaded(netdev, true);
+       if (ret)
+               dev_warn(dev, "failed to enable threaded NAPI: %d\n", ret);
+
        platform_set_drvdata(pdev, priv);
 
        return 0;