mirror of
https://github.com/openwrt/openwrt.git
synced 2026-06-17 12:40:16 +04:00
d22ceb8d24
Add hardware TCP Large Receive Offload (LRO) support to the airoha_eth driver, leveraging the EN7581/AN7583 SoC's 8 dedicated LRO hardware queues mapped to RX queues 24–31. LRO hw offloading does not support Scatter-Gather (SG) so it is required to increase the page_pool allocation order to 2 for RX queues 24–31 (LRO queues). Performance comparison between GRO and hw LRO has been carried out using a 10Gbps NIC: GRO: ~2.7 Gbps LRO: ~8.1 Gbps Tested-by: Madhur Agrawal <madhur.agrawal@airoha.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Link: https://github.com/openwrt/openwrt/pull/23530 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
38 lines
1.4 KiB
Diff
38 lines
1.4 KiB
Diff
From 917f959d54efd09719bd5047aa4b9543615e131e Mon Sep 17 00:00:00 2001
|
|
Message-ID: <917f959d54efd09719bd5047aa4b9543615e131e.1779348625.git.lorenzo@kernel.org>
|
|
In-Reply-To: <e15783f7c987e199ecf80b3d858ed5a86d33c508.1779348625.git.lorenzo@kernel.org>
|
|
References: <e15783f7c987e199ecf80b3d858ed5a86d33c508.1779348625.git.lorenzo@kernel.org>
|
|
From: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Date: Fri, 19 Dec 2025 23:12:32 +0100
|
|
Subject: [PATCH 10/13] net: airoha: Rename airoha_set_gdm2_loopback in
|
|
airoha_enable_gdm2_loopback
|
|
|
|
This is a preliminary patch in order to allow the user to select if the
|
|
configured device will be used as hw lan or wan.
|
|
|
|
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
---
|
|
drivers/net/ethernet/airoha/airoha_eth.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/net/ethernet/airoha/airoha_eth.c
|
|
+++ b/drivers/net/ethernet/airoha/airoha_eth.c
|
|
@@ -2055,7 +2055,7 @@ static int airoha_dev_set_macaddr(struct
|
|
return 0;
|
|
}
|
|
|
|
-static int airoha_set_gdm2_loopback(struct airoha_gdm_dev *dev)
|
|
+static int airoha_enable_gdm2_loopback(struct airoha_gdm_dev *dev)
|
|
{
|
|
struct airoha_gdm_port *port = dev->port;
|
|
struct airoha_eth *eth = dev->eth;
|
|
@@ -2187,7 +2187,7 @@ static int airoha_dev_init(struct net_de
|
|
(port->id == AIROHA_GDM3_IDX || port->id == AIROHA_GDM4_IDX)) {
|
|
int err;
|
|
|
|
- err = airoha_set_gdm2_loopback(dev);
|
|
+ err = airoha_enable_gdm2_loopback(dev);
|
|
if (err)
|
|
return err;
|
|
}
|