From: Robert Marko Date: Mon, 13 Jul 2026 08:39:43 +0000 (+0200) Subject: qualcommax: qca-edma: enable threaded NAPI by default X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=98108710b65b07e2b2bb4c0e0727b9830709493b;p=thirdparty%2Fopenwrt.git qualcommax: qca-edma: enable threaded NAPI by default 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 --- diff --git a/target/linux/qualcommax/files/drivers/net/ethernet/qualcomm/qca_edma.c b/target/linux/qualcommax/files/drivers/net/ethernet/qualcomm/qca_edma.c index 37110d2f96b..a1b6b4ebffc 100644 --- a/target/linux/qualcommax/files/drivers/net/ethernet/qualcomm/qca_edma.c +++ b/target/linux/qualcommax/files/drivers/net/ethernet/qualcomm/qca_edma.c @@ -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;