netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Yanteng Si <siyanteng@loongson.cn>,
	Serge Semin <fancer.lancer@gmail.com>,
	hkallweit1@gmail.com, peppe.cavallaro@st.com,
	alexandre.torgue@foss.st.com, joabreu@synopsys.com,
	Jose.Abreu@synopsys.com, chenhuacai@loongson.cn,
	guyinggang@loongson.cn, netdev@vger.kernel.org,
	chris.chenfeiyang@gmail.com
Subject: Re: [PATCH net-next v8 08/11] net: stmmac: dwmac-loongson: Fix MAC speed for GNET
Date: Thu, 21 Mar 2024 15:19:58 +0000	[thread overview]
Message-ID: <ZfxQHv7Y5Pqgfq4c@shell.armlinux.org.uk> (raw)
In-Reply-To: <3c551143-2e49-47c6-93bf-b43d6c62012b@lunn.ch>

On Thu, Mar 21, 2024 at 04:02:54PM +0100, Andrew Lunn wrote:
> On Thu, Mar 21, 2024 at 05:29:55PM +0800, Yanteng Si wrote:
> > 
> > 在 2024/3/20 01:02, Serge Semin 写道:
> > > > > Due to a bug in the chip's internal PHY, the network is still not working after
> > > > > the first self-negotiation, and it needs to be self-negotiated again.
> > > Then please describe the bug in more details then.
> > > 
> > > Getting back to the code you implemented here. In the in-situ comment
> > > you say: "We need to use the PS bit to check if the controller's
> > > status is correct and reset PHY if necessary." By calling
> > > phy_restart_aneg() you don't reset the PHY.
> > > 
> > > Moreover if "PS" flag is set, then the MAC has been pre-configured to
> > > work in the 10/100Mbps mode. Since 1000Mbps speed is requested, the
> > > MAC_CTRL_REG.PS flag will be cleared later in the
> > > stmmac_mac_link_up() method and then phylink_start() shall cause the
> > > link speed re-auto-negotiation. Why do you need the auto-negotiation
> > > started for the default MAC config which will be changed just in a
> > > moment later? All of that seems weird.
> > 
> > When switching speeds (from 100M to 1000M), the phy cannot output clocks,
> > 
> > resulting in the unavailability of the network card.  At this time, a reset
> > of the
> > 
> > phy is required.
> 
> reset, or restart of autoneg?
> 
> > BTW, This bug has been fixed in gnet of 2k2000 (0x10, 7a13).
> > 
> > > 
> > > Most importantly I have doubts the networking subsystem maintainers
> > > will permit you calling the phy_restart_aneg() method from the MAC
> > > driver code.
> 
> That is O.K. It should have a comment explaining that it is working
> around a hardware bug. And you need to take care of locking. But a MAC
> driver can call this, e.g. if it implements ethtool nway_reset, it
> needs to do exactly this. See phy_ethtool_nway_reset().

However, because stmmac uses phylink, we should be adding phylink
interfaces that forward to phylib to avoid the layering violation.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!

  reply	other threads:[~2024-03-21 15:20 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-30  8:43 [PATCH net-next v8 00/11] stmmac: Add Loongson platform support Yanteng Si
2024-01-30  8:43 ` [PATCH net-next v8 01/11] net: stmmac: Add multi-channel support Yanteng Si
2024-02-02 12:30   ` Simon Horman
2024-02-04  8:43     ` Yanteng Si
2024-02-04 23:28   ` Serge Semin
2024-02-06  9:02     ` Yanteng Si
2024-02-06  9:48       ` Serge Semin
2024-02-19 11:02     ` Yanteng Si
2024-02-21 13:48       ` Serge Semin
     [not found]         ` <ee2ffb6a-fe34-47a1-9734-b0e6697a5f09@loongson.cn>
2024-03-13  9:10           ` Yanteng Si
2024-03-19 14:18             ` Serge Semin
2024-03-20  9:47               ` Yanteng Si
2024-03-20  9:55               ` Russell King (Oracle)
2024-03-20 10:51                 ` Yanteng Si
2024-02-05  1:11   ` Serge Semin
2024-01-30  8:43 ` [PATCH net-next v8 02/11] net: stmmac: dwmac-loongson: Refactor code for loongson_dwmac_probe() Yanteng Si
2024-02-02 12:33   ` Simon Horman
2024-02-04  8:47     ` Yanteng Si
2024-02-05 14:43   ` Serge Semin
2024-04-05 11:13     ` Yanteng Si
2024-01-30  8:43 ` [PATCH net-next v8 03/11] net: stmmac: dwmac-loongson: Add full PCI support Yanteng Si
2024-02-05 16:49   ` Serge Semin
2024-02-21 10:08     ` Yanteng Si
2024-01-30  8:43 ` [PATCH net-next v8 04/11] net: stmmac: dwmac-loongson: Move irq config to loongson_gmac_config Yanteng Si
2024-02-05 17:01   ` Serge Semin
2024-03-13  8:14     ` Yanteng Si
2024-03-19 13:43       ` Serge Semin
2024-03-20 10:12         ` Yanteng Si
2024-01-30  8:48 ` [PATCH net-next v8 05/11] net: stmmac: dwmac-loongson: Add Loongson-specific register definitions Yanteng Si
2024-02-05 18:17   ` Serge Semin
2024-02-22 13:39     ` Yanteng Si
2024-02-22 13:59       ` Serge Semin
2024-02-23  8:16         ` Yanteng Si
2024-02-23 18:50           ` Serge Semin
2024-03-07 13:15             ` Yanteng Si
2024-03-07 13:44               ` Serge Semin
2024-03-08  4:05                 ` Yanteng Si
2024-01-30  8:48 ` [PATCH net-next v8 06/11] net: stmmac: dwmac-loongson: Add GNET support Yanteng Si
2024-02-05 20:58   ` Serge Semin
     [not found]     ` <d0e56c9b-9549-4061-8e44-2504b6b96897@loongson.cn>
2024-03-14 13:12       ` Yanteng Si
2024-03-19 15:03         ` Serge Semin
2024-03-20 10:23           ` Yanteng Si
2024-03-20 12:18             ` Serge Semin
2024-03-21  9:13           ` Yanteng Si
2024-03-21 14:55             ` Andrew Lunn
2024-03-28 11:41               ` Yanteng Si
2024-03-22 19:09             ` Serge Semin
2024-01-30  8:48 ` [PATCH net-next v8 07/11] net: stmmac: dwmac-loongson: Add multi-channel supports for loongson Yanteng Si
2024-02-05 21:28   ` Serge Semin
     [not found]     ` <e1c7b5fa-f3f8-4aa3-af4d-ca72b54d9c8c@loongson.cn>
2024-03-14 13:13       ` Yanteng Si
2024-03-19 15:53         ` Serge Semin
2024-03-22 10:36           ` Yanteng Si
2024-03-22 18:47             ` Serge Semin
2024-04-03  8:09               ` Yanteng Si
2024-04-03 12:03                 ` Serge Semin
2024-04-05 10:17                   ` Yanteng Si
2024-04-03  8:23           ` Yanteng Si
2024-01-30  8:48 ` [PATCH net-next v8 08/11] net: stmmac: dwmac-loongson: Fix MAC speed for GNET Yanteng Si
2024-02-05 21:55   ` Serge Semin
     [not found]     ` <4873ea5a-1b23-4512-b039-0a9198b53adf@loongson.cn>
2024-03-14 13:18       ` Yanteng Si
2024-03-19 17:02         ` Serge Semin
2024-03-20 10:42           ` Yanteng Si
2024-03-21  9:29           ` Yanteng Si
2024-03-21 15:02             ` Andrew Lunn
2024-03-21 15:19               ` Russell King (Oracle) [this message]
2024-03-21 15:38                 ` Andrew Lunn
2024-03-26 12:32                   ` Yanteng Si
2024-03-26 12:02               ` Yanteng Si
2024-03-26 12:21                 ` Andrew Lunn
2024-03-27  2:41                   ` Yanteng Si
2024-03-27 12:47                     ` Andrew Lunn
2024-03-28 10:08                       ` Yanteng Si
2024-01-30  8:49 ` [PATCH net-next v8 09/11] net: stmmac: dwmac-loongson: Fix half duplex Yanteng Si
2024-02-05 21:58   ` Serge Semin
2024-02-05 22:06     ` Serge Semin
2024-03-13  9:24       ` Yanteng Si
2024-03-13 10:21         ` Russell King (Oracle)
2024-03-14 13:08           ` Yanteng Si
2024-03-20 10:10             ` Serge Semin
2024-03-20 10:37               ` Russell King (Oracle)
2024-03-20 12:50                 ` Russell King (Oracle)
2024-03-20 14:22                   ` Russell King (Oracle)
2024-03-22 18:07                 ` Serge Semin
2024-03-22 19:56                   ` Russell King (Oracle)
2024-04-03 12:37                     ` Serge Semin
2024-04-05 10:48                       ` Yanteng Si
2024-01-30  8:49 ` [PATCH net-next v8 10/11] net: stmmac: dwmac-loongson: Disable flow control for GMAC Yanteng Si
2024-02-05 22:13   ` Serge Semin
2024-03-13  9:25     ` Yanteng Si
2024-01-30  8:49 ` [PATCH net-next v8 11/11] net: stmmac: dwmac-loongson: Disable coe for some Loongson GNET Yanteng Si
2024-02-05 22:18   ` Serge Semin
2024-03-13  9:52     ` Yanteng Si
2024-03-13 10:19       ` Yanteng Si
2024-03-20 11:24         ` Serge Semin
2024-01-30  9:57 ` [PATCH net-next v8 00/11] stmmac: Add Loongson platform support Serge Semin
2024-01-31  2:10 ` Jakub Kicinski
2024-01-31  9:20   ` Yanteng Si

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=ZfxQHv7Y5Pqgfq4c@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=Jose.Abreu@synopsys.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=andrew@lunn.ch \
    --cc=chenhuacai@loongson.cn \
    --cc=chris.chenfeiyang@gmail.com \
    --cc=fancer.lancer@gmail.com \
    --cc=guyinggang@loongson.cn \
    --cc=hkallweit1@gmail.com \
    --cc=joabreu@synopsys.com \
    --cc=netdev@vger.kernel.org \
    --cc=peppe.cavallaro@st.com \
    --cc=siyanteng@loongson.cn \
    /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;
as well as URLs for NNTP newsgroup(s).