[PATCH] ARM: dts: colibri-imx7: fix ethernet performance

Lucas Stach l.stach at pengutronix.de
Thu Jan 16 03:35:40 PST 2020


On Do, 2020-01-16 at 10:13 +0000, Oleksandr Suvorov wrote:
> Performance test of ethernet interface shows extremely low result:
> 
> === w/o fix =================
> Connecting to host 192.168.x.x, port 5201
> [  5] local 192.168.x.y port59020 connected to 192.168.x.x port 5201
> ...
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-10.00  sec  2.78 MBytes  2.33 Mbits/sec  337      sender
> [  5]   0.00-10.00  sec  2.66 MBytes  2.23
> Mbits/sec           receiver
> =============================
> 
> Adding correct settings of the mdio bus with the respective phy
> fixes this issue.

So what's the actual issue being fixed here? High packet loss due to
trying to force GBit speeds through 100MBit magnetics? So the addition
of "max-speed = <100>;" is the real core of the fix?

The commit log should mention this.

Regards,
Lucas

> 
> === after fix ===============
> iperf3 -c 192.168.x.x
> Connecting to host 192.168.x.x, port 5201
> [  5] local 192.168.x.y port 50702 connected to 192.168.x.x port 5201
> ...
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-10.00  sec   114 MBytes  95.4 Mbits/sec   56      sender
> [  5]   0.00-10.00  sec   112 MBytes  94.1
> Mbits/sec           receiver
> =============================
> 
> Fixed: commit b326629f25b7 ("ARM: dts: imx7: add Toradex Colibri
>                     iMX7S/iMX7D support")
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov at toradex.com>
> 
> ---
> 
>  arch/arm/boot/dts/imx7-colibri.dtsi | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi
> b/arch/arm/boot/dts/imx7-colibri.dtsi
> index d05be3f0e2a7..7b6a7c124345 100644
> --- a/arch/arm/boot/dts/imx7-colibri.dtsi
> +++ b/arch/arm/boot/dts/imx7-colibri.dtsi
> @@ -115,7 +115,20 @@ &fec1 {
>  	assigned-clock-rates = <0>, <100000000>;
>  	phy-mode = "rmii";
>  	phy-supply = <&reg_LDO1>;
> +	phy-handle = <&ethphy0>;
>  	fsl,magic-packet;
> +
> +	mdio {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		ethphy0: ethernet-phy at 0 {
> +			compatible = "ethernet-phy-ieee802.3-c22";
> +			max-speed = <100>;
> +			micrel,led-mode = <0>;
> +			reg = <0>;
> +		};
> +	};
>  };
>  
>  &flexcan1 {




More information about the linux-arm-kernel mailing list