summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2025-06-11 17:41:43 -0700
committerJakub Kicinski <kuba@kernel.org>2025-06-11 17:41:44 -0700
commit5d6d67c4cb10a4b4d3ae35758d5eeed6239afdc8 (patch)
treec8451b9327a76621858e75827b71d391c9d8bbd1
parent5e84d5b36b5b0e8552fbbdfbfd9c81bb79ab0947 (diff)
parent078bb22cfc652aa206c89e16d25ab3ffffc7427c (diff)
Merge branch 'net-bcmgenet-add-support-for-gro-software-interrupt-coalescing'
Zak Kemble says: ==================== net: bcmgenet: add support for GRO software interrupt coalescing Enable support for software IRQ coalescing and GRO aggregation and apply conservative defaults which can help improve system and network performance by reducing the number of hardware interrupts and improving GRO aggregation ratio. v1: https://lore.kernel.org/20250531224853.1339-1-zakkemble@gmail.com ==================== Link: https://patch.msgid.link/20250610220403.935-1-zakkemble@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--drivers/net/ethernet/broadcom/genet/bcmgenet.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index fa0077bc67b7..4f40f6afe88f 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -2472,10 +2472,8 @@ static int bcmgenet_rx_poll(struct napi_struct *napi, int budget)
work_done = bcmgenet_desc_rx(ring, budget);
- if (work_done < budget) {
- napi_complete_done(napi, work_done);
+ if (work_done < budget && napi_complete_done(napi, work_done))
bcmgenet_rx_ring_int_enable(ring);
- }
if (ring->dim.use_dim) {
dim_update_sample(ring->dim.event_ctr, ring->dim.packets,
@@ -3988,6 +3986,8 @@ static int bcmgenet_probe(struct platform_device *pdev)
dev->hw_features |= dev->features;
dev->vlan_features |= dev->features;
+ netdev_sw_irq_coalesce_default_on(dev);
+
/* Request the WOL interrupt and advertise suspend if available */
priv->wol_irq_disabled = true;
if (priv->wol_irq > 0) {