[PATCH] ARM64: dts: meson-gxbb-odroidc2: fix GbE tx link breakage
OdroidC2 GbE link breaks under heavy tx transfer. This happens even if the MAC does not enable Energy Efficient Ethernet (No Low Power state Idle on the Tx path). The problem seems to come from the phy Rx path, entering the LPI state. Disabling EEE advertisement on the phy prevent this feature to be negociated with the link partner and solve the issue. Signed-off-by: Jerome Brunet --- This patch is based on Linus recent master branch [0] This patch depends on the series [1] which has been merged in this branch. 0: ba6d973f78eb ("Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net") 1: http://lkml.kernel.org/r/1480326409-25419-1-git-send-email-jbru...@baylibre.com Fix integration of eee-broken-modes arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 12 1 file changed, 12 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts index 238fbeacd330..d8933e9e9a5a 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts @@ -147,6 +147,18 @@ status = "okay"; pinctrl-0 = <ð_rgmii_pins>; pinctrl-names = "default"; + phy-handle = <ð_phy0>; + + mdio { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + + eth_phy0: ethernet-phy@0 { + reg = <0>; + eee-broken-1000t; + }; + }; }; &ir { -- 2.7.4
Re: [PATCH] ARM64: dts: meson-gxbb-odroidc2: fix GbE tx link breakage
Jerome Brunet writes: > OdroidC2 GbE link breaks under heavy tx transfer. This happens even if the > MAC does not enable Energy Efficient Ethernet (No Low Power state Idle on > the Tx path). The problem seems to come from the phy Rx path, entering the > LPI state. > > Disabling EEE advertisement on the phy prevent this feature to be > negociated with the link partner and solve the issue. > > Signed-off-by: Jerome Brunet > --- > > This patch is based on Linus recent master branch [0] > This patch depends on the series [1] which has been merged in this branch. > > 0: ba6d973f78eb ("Merge > git://git.kernel.org/pub/scm/linux/kernel/git/davem/net") > 1: > http://lkml.kernel.org/r/1480326409-25419-1-git-send-email-jbru...@baylibre.com >Fix integration of eee-broken-modes > > arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 12 > 1 file changed, 12 insertions(+) > > diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts > b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts > index 238fbeacd330..d8933e9e9a5a 100644 > --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts > +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts > @@ -147,6 +147,18 @@ > status = "okay"; > pinctrl-0 = <ð_rgmii_pins>; > pinctrl-names = "default"; > + phy-handle = <ð_phy0>; > + > + mdio { > + compatible = "snps,dwmac-mdio"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + eth_phy0: ethernet-phy@0 { > + reg = <0>; > + eee-broken-1000t; > + }; > + }; There's already an MDIO node in the meson-gx.dtsi (using the same compatible), shouldn't you just override that and add the new properties? What would make things easier is if the names were like Martin used in his reset patch, so that when I merge them together it's not a major conflict. Thanks, Kevin [1] https://patchwork.kernel.org/patch/9459409/
Re: [PATCH] ARM64: dts: meson-gxbb-odroidc2: fix GbE tx link breakage
On Thu, 2017-01-12 at 16:52 -0800, Kevin Hilman wrote: > Jerome Brunet writes: > > > > > OdroidC2 GbE link breaks under heavy tx transfer. This happens even > > if the > > MAC does not enable Energy Efficient Ethernet (No Low Power state > > Idle on > > the Tx path). The problem seems to come from the phy Rx path, > > entering the > > LPI state. > > > > Disabling EEE advertisement on the phy prevent this feature to be > > negociated with the link partner and solve the issue. > > > > Signed-off-by: Jerome Brunet > > --- > > > > This patch is based on Linus recent master branch [0] > > This patch depends on the series [1] which has been merged in this > > branch. > > > > 0: ba6d973f78eb ("Merge > > git://git.kernel.org/pub/scm/linux/kernel/git/davem/net") > > 1: http://lkml.kernel.org/r/1480326409-25419-1-git-send-email-jbrun > > e...@baylibre.com > > Fix integration of eee-broken-modes > > > > arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 12 > > > > 1 file changed, 12 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts > > b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts > > index 238fbeacd330..d8933e9e9a5a 100644 > > --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts > > +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts > > @@ -147,6 +147,18 @@ > > status = "okay"; > > pinctrl-0 = <ð_rgmii_pins>; > > pinctrl-names = "default"; > > + phy-handle = <ð_phy0>; > > + > > + mdio { > > + compatible = "snps,dwmac-mdio"; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + eth_phy0: ethernet-phy@0 { > > + reg = <0>; > > + eee-broken-1000t; > > + }; > > + }; > > There's already an MDIO node in the meson-gx.dtsi (using the same > compatible), shouldn't you just override that and add the new > properties? Hum, yeah in the changes queued from 4.11, right ? But not in the latest rc from Linus. Since this is a fix, it was actually target for this branch. I guess you'd prefer to avoid merge conflicts when the 4.10 is tagged. How do you want to handle this ? > > What would make things easier is if the names were like Martin used > in > his reset patch, so that when I merge them together it's not a major > conflict. Sure, no problem. I'll change it to match what has been done by Martin. > > Thanks, > > Kevin > > [1] https://patchwork.kernel.org/patch/9459409/