]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: airoha: Do not loopback traffic to GDM2 if it is available on the device
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 13 Nov 2025 17:19:38 +0000 (18:19 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 18 Nov 2025 04:00:07 +0000 (20:00 -0800)
Airoha_eth driver forwards offloaded uplink traffic (packets received
on GDM1 and forwarded to GDM{3,4}) to GDM2 in order to apply hw QoS.
This is correct if the device does not support a dedicated GDM2 port.
In this case, in order to enable hw offloading for uplink traffic,
the packets should be sent to GDM{3,4} directly.

Fixes: 9cd451d414f6 ("net: airoha: Add loopback support for GDM2")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/20251113-airoha-hw-offload-gdm2-fix-v1-1-7e4ca300872f@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/airoha/airoha_ppe.c

index 691361b254075555549ee80a4ed358c52e8e00b2..c0e17035db18ed2441d9703e515c970c098d2286 100644 (file)
@@ -282,7 +282,7 @@ static int airoha_ppe_foe_entry_prepare(struct airoha_eth *eth,
                        if (!airoha_is_valid_gdm_port(eth, port))
                                return -EINVAL;
 
-                       if (dsa_port >= 0)
+                       if (dsa_port >= 0 || eth->ports[1])
                                pse_port = port->id == 4 ? FE_PSE_PORT_GDM4
                                                         : port->id;
                        else