From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Conor Dooley <conor@kernel.org>
Cc: Charles Perry <charles.perry@microchip.com>,
netdev@vger.kernel.org, Sean Anderson <sean.anderson@linux.dev>,
Nicolas Ferre <nicolas.ferre@microchip.com>,
Claudiu Beznea <claudiu.beznea@tuxon.dev>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v2 1/3] net: macb: fix SGMII with inband aneg disabled
Date: Wed, 4 Mar 2026 16:55:37 +0000 [thread overview]
Message-ID: <aahkCah1pvuNIy03@shell.armlinux.org.uk> (raw)
In-Reply-To: <20260304-unvented-crinkle-37f0bfd03541@spud>
On Wed, Mar 04, 2026 at 04:23:30PM +0000, Conor Dooley wrote:
> On Wed, Mar 04, 2026 at 06:59:35AM -0800, Charles Perry wrote:
> > On Wed, Mar 04, 2026 at 11:15:43AM +0000, Conor Dooley wrote:
> > > On Tue, Feb 24, 2026 at 12:28:52PM -0800, Charles Perry wrote:
> > > > Make it possible to connect a PHY which does not use inband
> > > > autoneg to a gem MAC using phylink's information.
> > > >
> > > > The previous implementation relied on whether or not the link
> > > > was a fixed-link to disable SGMII autoneg. This commit extend
> > > > this to all link which are not configured for inband
> > > > autonegotiation.
> > > >
> > > > Signed-off-by: Charles Perry <charles.perry@microchip.com>
> > >
> > > This breaks the macb on mpfs-icicle-kit, I get stuck with:
> > >
> > > [ 7.189102] mpfs-sys-controller syscontroller: Registered MPFS system controller
> > > [ 7.260946] macb 20110000.ethernet eth0: PHY [20112000.ethernet-ffffffff:08] driver [Vitesse VSC8662] (irq=POLL)
> > > [ 7.273881] macb 20110000.ethernet eth0: configuring for phy/sgmii link mode
> > > [ 7.296580] macb 20110000.ethernet: gem-ptp-timer ptp clock registered.
> > > [ 7.345782] macb 20112000.ethernet eth1: PHY [20112000.ethernet-ffffffff:09] driver [Vitesse VSC8662] (irq=POLL)
> > > [ 7.358082] macb 20112000.ethernet eth1: configuring for phy/sgmii link mode
> > > [ 7.380479] macb 20112000.ethernet: gem-ptp-timer ptp clock registered.
> > > [ 11.376763] macb 20110000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
> > > [ 11.398403] Sending DHCP requests .
> > > [ 11.472699] macb 20112000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
> > > [ 13.938425] ..... timed out!
> > > [ 93.598491] macb 20110000.ethernet eth0: Link is Down
> > > [ 93.641823] macb 20110000.ethernet: gem-ptp-timer ptp clock unregistered.
> > > [ 93.659433] macb 20112000.ethernet eth1: Link is Down
> > > [ 93.691724] macb 20112000.ethernet: gem-ptp-timer ptp clock unregistered.
> > > [ 93.703977] IP-Config: Retrying forever (NFS root)...
> > > [ 93.758382] macb 20110000.ethernet eth0: PHY [20112000.ethernet-ffffffff:08] driver [Vitesse VSC8662] (irq=POLL)
> > > [ 93.770655] macb 20110000.ethernet eth0: configuring for phy/sgmii link mode
> > > [ 93.786497] macb 20110000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
> > > [ 93.795840] macb 20110000.ethernet: gem-ptp-timer ptp clock registered.
> > > [ 93.844481] macb 20112000.ethernet eth1: PHY [20112000.ethernet-ffffffff:09] driver [Vitesse VSC8662] (irq=POLL)
> > > [ 93.856769] macb 20112000.ethernet eth1: configuring for phy/sgmii link mode
> > > [ 93.870926] macb 20112000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
> > > [ 93.880302] macb 20112000.ethernet: gem-ptp-timer ptp clock registered.
> > >
> >
> > Hello Conor,
> >
> > I checked the driver for the VSC8662 and it doesn't have the
> > ->inband_caps() and ->config_inband() callbacks so Linux leaves whatever
> > the bootloader puts or uses the defaults. Looking at the datasheet, this
> > should be register 23 (Extended PHY Control Set 1) bit 13 (MAC interface
> > auto-negotiation)
> >
> > My guess is that this bit is set and since this patch disable inband
> > autonegotiation (because phylink decides it), there is a mismatch.
> >
> > Can you add 'managed = "in-band-status"' in your device tree under the macb
> > node? That's not necessarily the fix, I just want to confirm my theory.
>
> No, it just produces a different error:
> [ 5.769864] mpfs-sys-controller syscontroller: Registered MPFS system controller
> [ 5.829146] macb 20110000.ethernet eth0: Could not attach PHY (-19)
> [ 5.854232] IP-Config: Failed to open eth0
> [ 5.897152] macb 20112000.ethernet eth1: Could not attach PHY (-19)
> [ 5.921061] IP-Config: Failed to open eth1
> [ 5.925592] IP-Config: No network devices available
> [ 5.938800] clk: Disabling unused clocks
> [ 5.944156] PM: genpd: Disabling unused power domains
> [ 5.961029] check access for rdinit=/usr/sbin/init failed: -2, ignoring
-19 is -ENODEV (I wish everyone would use %pe so we get english
error messages rather than having to look up errno codes in the
header files.)
macb uses either phylink_of_phy_connect() or phylink_connect_phy().
I don't think phylink_connect_phy() would return -ENODEV, but
phylink_of_phy_connect() would - but I can't see that adding
'managed = "in-band-status";' to DT would cause that. The only
case I can see is that fwnode_phy_find_device() fails to find the
phydev, but there is a PHY node specified in DT, but that would
fail without in-band-status.
> > Also '#define DEBUG' in 'drivers/net/phy/phylink.c' can help if you can
> > recompile your kernel.
>
> Setting this provided no further logs, seemingly.
It certainly would if you place it before the first #include - I
routinely build kernels with it set as such. The messages are produced
at debug level, so should appear via "dmesg". If you want to see them
on the console, you need to add "debug" to the kernel command line.
However, the in-band-status thing needs to be root-caused first.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
next prev parent reply other threads:[~2026-03-04 16:55 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-24 20:28 [PATCH net-next v2 0/3] Support PHYs that have inband autoneg disabled with GEM Charles Perry
2026-02-24 20:28 ` [PATCH net-next v2 1/3] net: macb: fix SGMII with inband aneg disabled Charles Perry
2026-03-04 11:15 ` Conor Dooley
2026-03-04 14:59 ` Charles Perry
2026-03-04 16:23 ` Conor Dooley
2026-03-04 16:55 ` Russell King (Oracle) [this message]
2026-03-04 17:25 ` Charles Perry
2026-03-04 17:40 ` Conor Dooley
2026-03-04 18:06 ` Conor Dooley
2026-03-04 18:38 ` Conor Dooley
2026-03-04 18:39 ` Russell King (Oracle)
2026-03-05 9:37 ` Conor Dooley
2026-03-05 13:47 ` Charles Perry
2026-03-05 14:19 ` Conor Dooley
2026-03-05 15:07 ` Charles Perry
2026-03-04 17:37 ` Charles Perry
2026-03-05 9:42 ` Conor Dooley
2026-03-05 13:56 ` Charles Perry
2026-03-05 14:13 ` Conor Dooley
2026-03-05 14:28 ` Russell King (Oracle)
2026-03-05 14:49 ` Conor Dooley
2026-03-06 16:24 ` Conor Dooley
2026-02-24 20:28 ` [PATCH net-next v2 2/3] net: macb: add support for reporting SGMII inband link status Charles Perry
2026-02-24 20:28 ` [PATCH net-next v2 3/3] net: macb: add the .pcs_inband_caps() callback for SGMII Charles Perry
2026-02-27 3:30 ` [PATCH net-next v2 0/3] Support PHYs that have inband autoneg disabled with GEM patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aahkCah1pvuNIy03@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=andrew+netdev@lunn.ch \
--cc=charles.perry@microchip.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=conor@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=pabeni@redhat.com \
--cc=sean.anderson@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox