2020-07-27 19:34:24 +00:00
|
|
|
From 8a469ee35606ba65448d54e5a2a23302f7e79e3c Mon Sep 17 00:00:00 2001
|
|
|
|
From: Carlos de Paula <me@carlosedp.com>
|
|
|
|
Date: Tue, 18 Feb 2020 17:10:37 -0500
|
|
|
|
Subject: [PATCH] arm64: dts: rockchip: Add txpbl node for RK3399/RK3328
|
|
|
|
|
|
|
|
Some rockchip SoCs like the RK3399 and RK3328 exhibit an issue
|
|
|
|
where tx checksumming does not work with packets larger than 1498.
|
|
|
|
|
|
|
|
The default Programmable Buffer Length for TX in these GMAC's is
|
|
|
|
not suitable for MTUs higher than 1498. The workaround is to disable
|
|
|
|
TX offloading with 'ethtool -K eth0 tx off rx off' causing performance
|
|
|
|
impacts as it disables hardware checksumming.
|
|
|
|
|
|
|
|
This patch sets snps,txpbl to 0x4 which is a safe number tested ok for
|
|
|
|
the most popular MTU value of 1500.
|
|
|
|
|
|
|
|
For reference, see https://lkml.org/lkml/2019/4/1/1382.
|
|
|
|
|
|
|
|
Signed-off-by: Carlos de Paula <me@carlosedp.com>
|
|
|
|
Link: https://lore.kernel.org/r/20200218221040.10955-1-me@carlosedp.com
|
|
|
|
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
|
|
---
|
|
|
|
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 2 ++
|
|
|
|
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 1 +
|
|
|
|
2 files changed, 3 insertions(+)
|
|
|
|
|
|
|
|
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
|
|
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
|
|
@@ -857,6 +857,7 @@
|
|
|
|
resets = <&cru SRST_GMAC2IO_A>;
|
|
|
|
reset-names = "stmmaceth";
|
|
|
|
rockchip,grf = <&grf>;
|
|
|
|
+ snps,txpbl = <0x4>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
@@ -878,6 +879,7 @@
|
|
|
|
reset-names = "stmmaceth", "mac-phy";
|
|
|
|
phy-mode = "rmii";
|
|
|
|
phy-handle = <&phy>;
|
|
|
|
+ snps,txpbl = <0x4>;
|
|
|
|
status = "disabled";
|
|
|
|
|
|
|
|
mdio {
|
|
|
|
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
|
|
|
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
2020-12-21 15:06:01 +00:00
|
|
|
@@ -291,6 +291,7 @@
|
2020-07-27 19:34:24 +00:00
|
|
|
resets = <&cru SRST_A_GMAC>;
|
|
|
|
reset-names = "stmmaceth";
|
|
|
|
rockchip,grf = <&grf>;
|
|
|
|
+ snps,txpbl = <0x4>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|