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