]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: airoha: fix PSE memory configuration in airoha_fe_pse_ports_init()
authorLorenzo Bianconi <lorenzo@kernel.org>
Tue, 1 Oct 2024 10:10:25 +0000 (12:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Mar 2026 10:08:54 +0000 (11:08 +0100)
[ Upstream commit 8e38e08f2c560328a873c35aff1a0dbea6a7d084 ]

Align PSE memory configuration to vendor SDK. In particular, increase
initial value of PSE reserved memory in airoha_fe_pse_ports_init()
routine by the value used for the second Packet Processor Engine (PPE2)
and do not overwrite the default value.

Introduced by commit 23020f049327 ("net: airoha: Introduce ethernet support
for EN7581 SoC")

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20241001-airoha-eth-pse-fix-v2-2-9a56cdffd074@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: d4a533ad249e ("net: airoha: Remove airoha_dev_stop() in airoha_remove()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mediatek/airoha_eth.c

index 6aa764b542eb5b2f67b729ca34a5865dfbbe2797..cd2e888a8c52ef9eb33e2941de1053c3b49bf464 100644 (file)
@@ -1172,11 +1172,13 @@ static void airoha_fe_pse_ports_init(struct airoha_eth *eth)
                [FE_PSE_PORT_GDM4] = 2,
                [FE_PSE_PORT_CDM5] = 2,
        };
+       u32 all_rsv;
        int q;
 
+       all_rsv = airoha_fe_get_pse_all_rsv(eth);
        /* hw misses PPE2 oq rsv */
-       airoha_fe_set(eth, REG_FE_PSE_BUF_SET,
-                     PSE_RSV_PAGES * pse_port_num_queues[FE_PSE_PORT_PPE2]);
+       all_rsv += PSE_RSV_PAGES * pse_port_num_queues[FE_PSE_PORT_PPE2];
+       airoha_fe_set(eth, REG_FE_PSE_BUF_SET, all_rsv);
 
        /* CMD1 */
        for (q = 0; q < pse_port_num_queues[FE_PSE_PORT_CDM1]; q++)