123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- 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
- @@ -729,6 +729,7 @@
- resets = <&cru SRST_GMAC2IO_A>;
- reset-names = "stmmaceth";
- rockchip,grf = <&grf>;
- + snps,txpbl = <0x4>;
- status = "disabled";
- };
-
- @@ -750,6 +751,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
- @@ -290,6 +290,7 @@
- resets = <&cru SRST_A_GMAC>;
- reset-names = "stmmaceth";
- rockchip,grf = <&grf>;
- + snps,txpbl = <0x4>;
- status = "disabled";
- };
-
|