Re: [PATCH net-next 0/3] net: stmmac: Convert to phylink

From: OndÅej Jirman
Date: Mon Jul 22 2019 - 09:49:36 EST


On Mon, Jul 22, 2019 at 01:28:51PM +0000, Jose Abreu wrote:
> From: OndÅej Jirman <megi@xxxxxx>
> Date: Jul/22/2019, 13:42:40 (UTC+00:00)
>
> > Hello Jose,
> >
> > On Tue, Jun 11, 2019 at 05:18:44PM +0200, Jose Abreu wrote:
> > > [ Hope this diff looks better (generated with --minimal) ]
> > >
> > > This converts stmmac to use phylink. Besides the code redution this will
> > > allow to gain more flexibility.
> >
> > I'm testing 5.3-rc1 and on Orange Pi 3 (uses stmmac-sun8i.c glue) compared to
> > 5.2 it fails to detect 1000Mbps link and the driver negotiates just a 10Mbps speed.
> >
> > After going through stmmac patches since 5.2, I think it may be realted to this
> > series, but I'm not completely sure. You'll probably have a better understanding
> > of the changes. Do you have an idea what might be wrong? Please, see some logs
> > below.
>
> Probably due to:
> 5b0d7d7da64b ("net: stmmac: Add the missing speeds that XGMAC supports")
>
> Can you try attached patch ?

Tried, and it works!

dwmac-sun8i 5020000.ethernet eth0: PHY [stmmac-0:01] driver [RTL8211E Gigabit Ethernet]
dwmac-sun8i 5020000.ethernet eth0: phy: setting supported 00,00000000,000062ff advertising 00,00000000,000062ff
dwmac-sun8i 5020000.ethernet eth0: No Safety Features support found
dwmac-sun8i 5020000.ethernet eth0: No MAC Management Counters available
dwmac-sun8i 5020000.ethernet eth0: PTP not supported by HW
dwmac-sun8i 5020000.ethernet eth0: configuring for phy/rgmii link mode
dwmac-sun8i 5020000.ethernet eth0: phylink_mac_config: mode=phy/rgmii/Unknown/Unknown adv=00,00000000,000062ff pause=10 link=0 an=1
dwmac-sun8i 5020000.ethernet eth0: phy link down rgmii/Unknown/Unknown
dwmac-sun8i 5020000.ethernet eth0: phy link up rgmii/1Gbps/Full
dwmac-sun8i 5020000.ethernet eth0: phylink_mac_config: mode=phy/rgmii/1Gbps/Full adv=00,00000000,00000000 pause=0f link=1 an=0
dwmac-sun8i 5020000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

Tested-by: Ondrej Jirman <megi@xxxxxx>

thank you,
Ondrej

>
> >
> > thank you and regards,
> > Ondrej
> >
> > On 5.3-rc1 I see:
> >
> > [ 6.116512] dwmac-sun8i 5020000.ethernet eth0: PHY [stmmac-0:01] driver [RTL8211E Gigabit Ethernet]
> > [ 6.116522] dwmac-sun8i 5020000.ethernet eth0: phy: setting supported 00,00000000,000062cf advertising 00,00000000,000062cf
> > [ 6.118714] dwmac-sun8i 5020000.ethernet eth0: No Safety Features support found
> > [ 6.118725] dwmac-sun8i 5020000.ethernet eth0: No MAC Management Counters available
> > [ 6.118730] dwmac-sun8i 5020000.ethernet eth0: PTP not supported by HW
> > [ 6.118738] dwmac-sun8i 5020000.ethernet eth0: configuring for phy/rgmii link mode
> > [ 6.118747] dwmac-sun8i 5020000.ethernet eth0: phylink_mac_config: mode=phy/rgmii/Unknown/Unknown adv=00,00000000,000062cf pause=10 link=0 an=1
> > [ 6.126099] dwmac-sun8i 5020000.ethernet eth0: phy link down rgmii/Unknown/Unknown
> > [ 6.276325] random: crng init done
> > [ 6.276338] random: 7 urandom warning(s) missed due to ratelimiting
> > [ 7.543987] zram0: detected capacity change from 0 to 402653184
> > [ 7.667702] Adding 393212k swap on /dev/zram0. Priority:10 extents:1 across:393212k SS
> >
> > ... delay due to other causes ...
> >
> > [ 28.640234] dwmac-sun8i 5020000.ethernet eth0: phy link up rgmii/10Mbps/Full
> > [ 28.640295] dwmac-sun8i 5020000.ethernet eth0: phylink_mac_config: mode=phy/rgmii/10Mbps/Full adv=00,00000000,00000000 pause=0f link=1 an=0
> > [ 28.640324] dwmac-sun8i 5020000.ethernet eth0: Link is Up - 10Mbps/Full - flow control rx/tx
> >
> > Settings for eth0:
> > Supported ports: [ TP MII ]
> > Supported link modes: 10baseT/Half 10baseT/Full
> > 100baseT/Half 100baseT/Full
> > Supported pause frame use: Symmetric Receive-only
> > Supports auto-negotiation: Yes
> > Supported FEC modes: Not reported
> > Advertised link modes: 10baseT/Half 10baseT/Full
> > 100baseT/Half 100baseT/Full
> > Advertised pause frame use: Symmetric Receive-only
> > Advertised auto-negotiation: Yes
> > Advertised FEC modes: Not reported
> > Link partner advertised link modes: 10baseT/Half 10baseT/Full
> > Link partner advertised pause frame use: Symmetric Receive-only
> > Link partner advertised auto-negotiation: Yes
> > Link partner advertised FEC modes: Not reported
> > Speed: 10Mb/s
> > Duplex: Full
> > Port: MII
> > PHYAD: 1
> > Transceiver: internal
> > Auto-negotiation: on
> > Supports Wake-on: d
> > Wake-on: d
> > Current message level: 0x0000003f (63)
> > drv probe link timer ifdown ifup
> > Link detected: yes
> >
> > On 5.2 it looks like this:
> >
> > [ 1.153596] dwmac-sun8i 5020000.ethernet: PTP uses main clock
> > [ 1.416221] dwmac-sun8i 5020000.ethernet: PTP uses main clock
> > [ 1.522735] dwmac-sun8i 5020000.ethernet: Current syscon value is not the default 58000 (expect 50000)
> > [ 1.522750] dwmac-sun8i 5020000.ethernet: No HW DMA feature register supported
> > [ 1.522753] dwmac-sun8i 5020000.ethernet: RX Checksum Offload Engine supported
> > [ 1.522755] dwmac-sun8i 5020000.ethernet: COE Type 2
> > [ 1.522758] dwmac-sun8i 5020000.ethernet: TX Checksum insertion supported
> > [ 1.522761] dwmac-sun8i 5020000.ethernet: Normal descriptors
> > [ 1.522763] dwmac-sun8i 5020000.ethernet: Chain mode enabled
> > [ 5.352833] dwmac-sun8i 5020000.ethernet eth0: No Safety Features support found
> > [ 5.352842] dwmac-sun8i 5020000.ethernet eth0: No MAC Management Counters available
> > [ 5.352846] dwmac-sun8i 5020000.ethernet eth0: PTP not supported by HW
> > [ 10.463072] dwmac-sun8i 5020000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
> >
> > Settings for eth0:
> > Supported ports: [ TP MII ]
> > Supported link modes: 10baseT/Half 10baseT/Full
> > 100baseT/Half 100baseT/Full
> > 1000baseT/Half 1000baseT/Full
> > Supported pause frame use: Symmetric Receive-only
> > Supports auto-negotiation: Yes
> > Supported FEC modes: Not reported
> > Advertised link modes: 10baseT/Half 10baseT/Full
> > 100baseT/Half 100baseT/Full
> > 1000baseT/Half 1000baseT/Full
> > Advertised pause frame use: No
> > Advertised auto-negotiation: Yes
> > Advertised FEC modes: Not reported
> > Link partner advertised link modes: 10baseT/Half 10baseT/Full
> > 100baseT/Half 100baseT/Full
> > 1000baseT/Full
> > Link partner advertised pause frame use: Symmetric Receive-only
> > Link partner advertised auto-negotiation: Yes
> > Link partner advertised FEC modes: Not reported
> > Speed: 1000Mb/s
> > Duplex: Full
> > Port: MII
> > PHYAD: 1
> > Transceiver: internal
> > Auto-negotiation: on
> > Supports Wake-on: d
> > Wake-on: d
> > Current message level: 0x0000003f (63)
> > drv probe link timer ifdown ifup
> > Link detected: yes
> >
> >
> > > Cc: Joao Pinto <jpinto@xxxxxxxxxxxx>
> > > Cc: David S. Miller <davem@xxxxxxxxxxxxx>
> > > Cc: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
> > > Cc: Alexandre Torgue <alexandre.torgue@xxxxxx>
> > > Cc: Russell King <linux@xxxxxxxxxxxxxxx>
> > > Cc: Andrew Lunn <andrew@xxxxxxx>
> > > Cc: Florian Fainelli <f.fainelli@xxxxxxxxx>
> > > Cc: Heiner Kallweit <hkallweit1@xxxxxxxxx>
> > >
> > > Jose Abreu (3):
> > > net: stmmac: Prepare to convert to phylink
> > > net: stmmac: Start adding phylink support
> > > net: stmmac: Convert to phylink and remove phylib logic
> > >
> > > drivers/net/ethernet/stmicro/stmmac/Kconfig | 3 +-
> > > drivers/net/ethernet/stmicro/stmmac/stmmac.h | 7 +-
> > > .../ethernet/stmicro/stmmac/stmmac_ethtool.c | 81 +---
> > > .../net/ethernet/stmicro/stmmac/stmmac_main.c | 391 ++++++++----------
> > > .../ethernet/stmicro/stmmac/stmmac_platform.c | 21 +-
> > > 5 files changed, 190 insertions(+), 313 deletions(-)
> > >
> > > --
> > > 2.21.0
> > >
>
>
> ---
> Thanks,
> Jose Miguel Abreu


Attachment: signature.asc
Description: PGP signature