2019-06-23 14:16:04

by Katsuhiro Suzuki

[permalink] [raw]
Subject: stmmac regression on ASUS TinkerBoard

Hello stmmac maintainers,

I found this commit and that has some regressions:
74371272f97f net: stmmac: Convert to phylink and remove phylib logic


My environment is:
- ASUS TinkerBoard
- SoC is RK3288
- Using STMMAC driver
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
- Using this device-tree
arch/arm/boot/dts/rk3288.dtsi ('gmac: ethernet@ff290000' node)

Current linux-next on my environment, 'ifconfig eth0 up' does not work
correctly with following message...

-----
root@linaro-alip:~# ifconfig eth0 up
[ 105.028916] rk_gmac-dwmac ff290000.ethernet eth0: stmmac_open: Cannot
attach to PHY (error: -19)
SIOCSIFFLAGS: No such device
-----

I checked drivers/net/ethernet/stmicro/stmmac/stmmac_main.c and found
stmmac_init_phy() is going to fail if ethernet device node does not
have following property:
- phy-handle
- phy
- phy-device

This commit broke the device-trees such as TinkerBoard. The mdio
subnode creating a mdio bus is changed to required or still optional?


Best Regards,
Katsuhiro Suzuki


2019-06-25 07:54:40

by Jose Abreu

[permalink] [raw]
Subject: RE: stmmac regression on ASUS TinkerBoard

From: Katsuhiro Suzuki <[email protected]>

> I checked drivers/net/ethernet/stmicro/stmmac/stmmac_main.c and found
> stmmac_init_phy() is going to fail if ethernet device node does not
> have following property:
> - phy-handle
> - phy
> - phy-device
>
> This commit broke the device-trees such as TinkerBoard. The mdio
> subnode creating a mdio bus is changed to required or still optional?

Yeah, with PHYLINK the PHY binding is always required ...

How do you want to proceed ? I think DT bindings can never break between
releases so I will probably need to cook a patch for stmmac.

Thanks,
Jose Miguel Abreu

2019-06-25 07:55:40

by Heiko Stuebner

[permalink] [raw]
Subject: Re: stmmac regression on ASUS TinkerBoard

Hi,

Am Dienstag, 25. Juni 2019, 09:46:12 CEST schrieb Jose Abreu:
> From: Katsuhiro Suzuki <[email protected]>
>
> > I checked drivers/net/ethernet/stmicro/stmmac/stmmac_main.c and found
> > stmmac_init_phy() is going to fail if ethernet device node does not
> > have following property:
> > - phy-handle
> > - phy
> > - phy-device
> >
> > This commit broke the device-trees such as TinkerBoard. The mdio
> > subnode creating a mdio bus is changed to required or still optional?
>
> Yeah, with PHYLINK the PHY binding is always required ...
>
> How do you want to proceed ? I think DT bindings can never break between
> releases so I will probably need to cook a patch for stmmac.

Correct ... old devicetrees on new kernels should not break.
Especially as this affects a big number of boards potentially loosing
network support and in the devicetree binding the phy property is also
marked as optional.

Heiko