Skip to content

Commit

Permalink
Adjusted txpbl for rk3399 to fix network issues with MTU 1500 (#1736)
Browse files Browse the repository at this point in the history
  • Loading branch information
piter75 authored Jan 12, 2020
1 parent fd6b14d commit 8c93385
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Default Programmable Buffer Length for TX in rk3399's gmac is not suitable
for MTUs higher than 1498. The easiest solution would be to disable
TX offloading but it is not ideal as it disables hardware checksumming.

This patch sets txpbl to 0x4 which is good for the most popular MTU
value of 1500.

diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index cede1ad81..02674bbf0 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -288,6 +288,7 @@
resets = <&cru SRST_A_GMAC>;
reset-names = "stmmaceth";
rockchip,grf = <&grf>;
+ snps,txpbl = <0x4>;
status = "disabled";
};

19 changes: 19 additions & 0 deletions patch/kernel/rockchip64-dev/rk3399-adjust-txpbl-for-mtu-1500.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Default Programmable Buffer Length for TX in rk3399's gmac is not suitable
for MTUs higher than 1498. The easiest solution would be to disable
TX offloading but it is not ideal as it disables hardware checksumming.

This patch sets txpbl to 0x4 which is good for the most popular MTU
value of 1500.

diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index cede1ad81..02674bbf0 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -288,6 +288,7 @@
resets = <&cru SRST_A_GMAC>;
reset-names = "stmmaceth";
rockchip,grf = <&grf>;
+ snps,txpbl = <0x4>;
status = "disabled";
};

0 comments on commit 8c93385

Please sign in to comment.