Linux-Rockchip Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] arm64: dts: rockchip: Change ethernet TXD timing delay value
@ 2025-08-19  7:55 Dongjin Kim
  2025-08-19 15:10 ` Chukun Pan
  0 siblings, 1 reply; 4+ messages in thread
From: Dongjin Kim @ 2025-08-19  7:55 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
  Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel

Very poor network performance is observed on the ODROID-M1 Board
(REV 1.0 20220613) when running iperf3 (under 200Mbits/sec), and
this problem can be resolved after changing the value of TXD
timing to 0x35 from 0x4f.

Signed-off-by: Dongjin Kim <tobetter@gmail.com>
---
 arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
index 0f844806ec542..e1a550a04498e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
@@ -210,7 +210,7 @@ &gmac0_rgmii_clk
 		     &gmac0_rgmii_bus>;
 	status = "okay";
 
-	tx_delay = <0x4f>;
+	tx_delay = <0x35>;
 	rx_delay = <0x2d>;
 };
 
-- 
2.34.1


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] arm64: dts: rockchip: Change ethernet TXD timing delay value
  2025-08-19  7:55 [PATCH v2] arm64: dts: rockchip: Change ethernet TXD timing delay value Dongjin Kim
@ 2025-08-19 15:10 ` Chukun Pan
  2025-08-20  2:40   ` Dongjin Kim
  0 siblings, 1 reply; 4+ messages in thread
From: Chukun Pan @ 2025-08-19 15:10 UTC (permalink / raw)
  To: tobetter
  Cc: conor+dt, devicetree, heiko, krzk+dt, linux-arm-kernel,
	linux-kernel, linux-rockchip, robh, Chukun Pan

Hi,

> Very poor network performance is observed on the ODROID-M1 Board
> (REV 1.0 20220613) when running iperf3 (under 200Mbits/sec), and
> this problem can be resolved after changing the value of TXD
> timing to 0x35 from 0x4f.

Can you try changing phy-mode to "rgmii-id" ?

```
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
@@ -200,7 +200,7 @@ &gmac0 {
 	assigned-clock-rates = <0>, <125000000>;
 	clock_in_out = "output";
 	phy-handle = <&rgmii_phy0>;
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-id";
 	phy-supply = <&vcc3v3_sys>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&gmac0_miim
@@ -209,9 +209,6 @@ &gmac0_rx_bus2
 		     &gmac0_rgmii_clk
 		     &gmac0_rgmii_bus>;
 	status = "okay";
-
-	tx_delay = <0x4f>;
-	rx_delay = <0x2d>;
 };
 
 &gpu {
```

--
2.25.1



_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] arm64: dts: rockchip: Change ethernet TXD timing delay value
  2025-08-19 15:10 ` Chukun Pan
@ 2025-08-20  2:40   ` Dongjin Kim
  2026-10-19 13:25     ` Miguel Jesus Seron Gonzalez
  0 siblings, 1 reply; 4+ messages in thread
From: Dongjin Kim @ 2025-08-20  2:40 UTC (permalink / raw)
  To: Chukun Pan
  Cc: conor+dt, devicetree, heiko, krzk+dt, linux-arm-kernel,
	linux-kernel, linux-rockchip, robh

On Tue, Aug 19, 2025 at 11:10:19PM +0800, Chukun Pan wrote:
> Hi,
> 
> > Very poor network performance is observed on the ODROID-M1 Board
> > (REV 1.0 20220613) when running iperf3 (under 200Mbits/sec), and
> > this problem can be resolved after changing the value of TXD
> > timing to 0x35 from 0x4f.
> 
> Can you try changing phy-mode to "rgmii-id" ?
> 
> ```
> --- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
> @@ -200,7 +200,7 @@ &gmac0 {
>  	assigned-clock-rates = <0>, <125000000>;
>  	clock_in_out = "output";
>  	phy-handle = <&rgmii_phy0>;
> -	phy-mode = "rgmii";
> +	phy-mode = "rgmii-id";
>  	phy-supply = <&vcc3v3_sys>;
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&gmac0_miim
> @@ -209,9 +209,6 @@ &gmac0_rx_bus2
>  		     &gmac0_rgmii_clk
>  		     &gmac0_rgmii_bus>;
>  	status = "okay";
> -
> -	tx_delay = <0x4f>;
> -	rx_delay = <0x2d>;
>  };
>  
>  &gpu {
> ```
> 
> --
> 2.25.1
> 
> 
Thank you for suggesting me to try 'rgmii-id' again.

I'd remember that 'rgmii-id' didn't work with the very early version of
the board, however your suggestion works. Let me test the change with
more boards and submit the new patch when it's done.

Thanks a lot.
Dongjin Kim.

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] arm64: dts: rockchip: Change ethernet TXD timing delay value
  2025-08-20  2:40   ` Dongjin Kim
@ 2026-10-19 13:25     ` Miguel Jesus Seron Gonzalez
  0 siblings, 0 replies; 4+ messages in thread
From: Miguel Jesus Seron Gonzalez @ 2026-10-19 13:25 UTC (permalink / raw)
  To: Dongjin Kim
  Cc: Chukun Pan, Heiko Stuebner, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree, linux-arm-kernel, linux-rockchip,
	linux-kernel

Hi Dongjin,

On Wed, Aug 20, 2025 at 11:40:44AM +0900, Dongjin Kim wrote:
> Thank you for suggesting me to try 'rgmii-id' again.
>
> I'd remember that 'rgmii-id' didn't work with the very early version of
> the board, however your suggestion works. Let me test the change with
> more boards and submit the new patch when it's done.

I ran into the same problem on an ODROID-M1 board marked
"REV 1.0 20211112", an earlier revision than the 20220613 one in your
patch, running Home Assistant OS (kernel 6.18.52). With the current
tx_delay = <0x4f>, about 6.6% of all TCP segments were retransmitted
at 1000 Mbit/s and larger HTTP transfers stalled.

I tested Chukun's suggestion (phy-mode = "rgmii-id", with tx_delay and
rx_delay removed; the driver reports "init for RGMII_ID") on the same
board, on a 1000 Mbit/s full-duplex link. It works fine on this early
revision as well:

- 3 retransmitted TCP segments out of 24929 (0.012%) over 3 h 49 min
  of uptime, and no RX/TX errors
- 90 sequential requests for large files (22.5 MB in total): no
  failures, 1.4 s in total, the slowest one 47 ms
- 120 parallel requests (75 MB in total): no failures, 1.2 s

For comparison, tx_delay = <0x35> gave 0.03% retransmissions on the
same board.

Are you still planning to send a v3 with rgmii-id? If you don't have
time for it, I'd be happy to send it with Chukun's Suggested-by. Either
way, for the rgmii-id version:

Tested-by: Miguel Jesus Seron Gonzalez <info@gluon.es>

Thanks,
Miguel

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-10-19 13:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-19  7:55 [PATCH v2] arm64: dts: rockchip: Change ethernet TXD timing delay value Dongjin Kim
2025-08-19 15:10 ` Chukun Pan
2025-08-20  2:40   ` Dongjin Kim
2026-10-19 13:25     ` Miguel Jesus Seron Gonzalez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox