Re: [PATCH] arm64: dts: rockchip: Add txpbl node for RK3399/RK3328

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 18/02/2020 23:10, Carlos de Paula wrote:
> 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.

What about using something like:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt#n16

or

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/net/ethernet-controller.yaml#n37

?

> For reference, see https://lkml.org/lkml/2019/4/1/1382.
> 
> Signed-off-by: Carlos de Paula <me@xxxxxxxxxxxxx>
> ---
>  arch/arm64/boot/dts/rockchip/rk3328.dtsi | 2 ++
>  arch/arm64/boot/dts/rockchip/rk3399.dtsi | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> index 1f53ead52c7f..b7f1de4b7fd0 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> @@ -906,6 +906,7 @@
>  		resets = <&cru SRST_GMAC2IO_A>;
>  		reset-names = "stmmaceth";
>  		rockchip,grf = <&grf>;
> +		snps,txpbl = <0x4>;
>  		status = "disabled";
>  	};
>  
> @@ -913,6 +914,7 @@
>  		compatible = "rockchip,rk3328-gmac";
>  		reg = <0x0 0xff550000 0x0 0x10000>;
>  		rockchip,grf = <&grf>;
> +		snps,txpbl = <0x4>;
>  		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
>  		interrupt-names = "macirq";
>  		clocks = <&cru SCLK_MAC2PHY_SRC>, <&cru SCLK_MAC2PHY_RXTX>,
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> index 33cc21fcf4c1..cd5415d7e559 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";
>  	};
>  
> 


-- 
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux