From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Yanteng Si <siyanteng@loongson.cn>
Cc: andrew@lunn.ch, hkallweit1@gmail.com, peppe.cavallaro@st.com,
alexandre.torgue@foss.st.com, joabreu@synopsys.com,
fancer.lancer@gmail.com, Jose.Abreu@synopsys.com,
chenhuacai@kernel.org, guyinggang@loongson.cn,
netdev@vger.kernel.org, chris.chenfeiyang@gmail.com,
siyanteng01@gmail.com
Subject: Re: [PATCH net-next v12 09/15] net: stmmac: dwmac-loongson: Add phy_interface for Loongson GMAC
Date: Fri, 26 Apr 2024 12:00:25 +0100 [thread overview]
Message-ID: <ZiuJSY5oC8DWFAxk@shell.armlinux.org.uk> (raw)
In-Reply-To: <36afcb40-7e09-4a17-ad12-c27ac50120e1@loongson.cn>
On Fri, Apr 26, 2024 at 06:16:42PM +0800, Yanteng Si wrote:
> Hi Russell,
>
> 在 2024/4/25 22:36, Russell King (Oracle) 写道:
> > > The mac_interface of gmac is PHY_INTERFACE_MODE_RGMII_ID.
> > No it isn't!
> Ok, that's a typo.
> >
> > > + plat->phy_interface = PHY_INTERFACE_MODE_RGMII_ID;
> > You don't touch mac_interface here. Please read the big comment I put
> > in include/linux/stmmac.h above these fields in struct
> > plat_stmmacenet_data to indicate what the difference between
> > mac_interface and phy_interface are, and then correct which-ever
> > of the above needs to be corrected.
>
> Copy your big comment here:
>
> int phy_addr;
> /* MAC ----- optional PCS ----- SerDes ----- optional PHY ----- Media
> * ^ ^
> * mac_interface phy_interface
> *
> * mac_interface is the MAC-side interface, which may be the same
> * as phy_interface if there is no intervening PCS. If there is a
> * PCS, then mac_interface describes the interface mode between the
> * MAC and PCS, and phy_interface describes the interface mode
> * between the PCS and PHY.
> */
> phy_interface_t mac_interface;
> /* phy_interface is the PHY-side interface - the interface used by
> * an attached PHY.
> */
>
> Our hardware engineer said we don't support pcs, and if I understand
>
> your comment correctly, our mac_interface and phy_interface should
>
> be the same, right?
It only matters to the core code if priv->dma_cap.pcs is set true.
If it isn't, then mac_interface doesn't seem to be relevent (it
does get used by a truck load of platform specific code though
which I haven't looked at to answer this.)
I would suggest that if priv->dma_cap.pcs is false, then setting
mac_interface to PHY_INTERFACE_MODE_NA to make it explicit that
it's not used would be a good idea.
While looking at this, however, I've come across the fact that
stmmac manipulates the netif carrier via netif_carrier_off() and
netif_carrier_on(), which is a _big_ no no when using phylink.
Phylink manages the carrier for the driver, and its part of
phylink's state. Fiddling with the carrier totally breaks the
guarantee that phylink will make calls to mac_link_down() and
mac_link_up().
If a driver wants to fiddle with the netif carrier, it must NOT
use phylink. If it wants to use phylink, it must NOT fiddle with
the netif carrier state. The two are mutually exclusive.
stmmac is quickly becoming a driver I don't care about whether my
changes to phylink end up breaking it or not because of abuses
like this.
--
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:[~2024-04-26 11:00 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-25 13:01 [PATCH net-next v12 00/15] stmmac: Add Loongson platform support Yanteng Si
2024-04-25 13:01 ` [PATCH net-next v12 01/15] net: stmmac: Move the atds flag to the stmmac_dma_cfg structure Yanteng Si
2024-05-02 19:10 ` Serge Semin
2024-05-09 12:44 ` Yanteng Si
2024-04-25 13:01 ` [PATCH net-next v12 02/15] net: stmmac: Add multi-channel support Yanteng Si
2024-05-02 22:02 ` Serge Semin
2024-05-10 10:13 ` Yanteng Si
2024-05-13 9:45 ` Serge Semin
2024-05-13 9:49 ` Yanteng Si
2024-04-25 13:01 ` [PATCH net-next v12 03/15] net: stmmac: Export dwmac1000_dma_ops Yanteng Si
2024-05-03 10:27 ` Serge Semin
2024-05-13 9:46 ` Yanteng Si
2024-04-25 13:04 ` [PATCH net-next v12 04/15] net: stmmac: dwmac-loongson: Drop useless platform data Yanteng Si
2024-05-03 10:55 ` Serge Semin
2024-05-03 14:47 ` Serge Semin
2024-05-13 9:47 ` Yanteng Si
2024-05-13 9:46 ` Yanteng Si
2024-04-25 13:04 ` [PATCH net-next v12 05/15] net: stmmac: dwmac-loongson: Use PCI_DEVICE_DATA() macro for device identification Yanteng Si
2024-05-03 13:43 ` Serge Semin
2024-05-13 9:50 ` Yanteng Si
2024-04-25 13:04 ` [PATCH net-next v12 06/15] net: stmmac: dwmac-loongson: Split up the platform data initialization Yanteng Si
2024-05-03 18:08 ` Serge Semin
2024-05-13 11:07 ` Yanteng Si
2024-05-13 12:42 ` Huacai Chen
2024-05-13 14:04 ` Serge Semin
2024-05-18 10:38 ` yanteng si
2024-04-25 13:06 ` [PATCH net-next v12 07/15] net: stmmac: dwmac-loongson: Add ref and ptp clocks for Loongson Yanteng Si
2024-05-03 18:21 ` Serge Semin
2024-05-09 13:01 ` Yanteng Si
2024-04-25 13:06 ` [PATCH net-next v12 08/15] net: stmmac: dwmac-loongson: Add phy mask for Loongson GMAC Yanteng Si
2024-05-03 18:28 ` Serge Semin
2024-05-13 10:23 ` Yanteng Si
2024-04-25 13:06 ` [PATCH net-next v12 09/15] net: stmmac: dwmac-loongson: Add phy_interface " Yanteng Si
2024-04-25 14:36 ` Russell King (Oracle)
2024-04-26 10:16 ` Yanteng Si
2024-04-26 11:00 ` Russell King (Oracle) [this message]
2024-05-03 21:01 ` Serge Semin
2024-05-07 8:22 ` Russell King (Oracle)
2024-04-25 13:10 ` [PATCH net-next v12 10/15] net: stmmac: dwmac-loongson: Add full PCI support Yanteng Si
2024-05-04 20:46 ` Serge Semin
2024-05-13 10:49 ` Yanteng Si
2024-04-25 13:10 ` [PATCH net-next v12 11/15] net: stmmac: dwmac-loongson: Add loongson_dwmac_config_legacy Yanteng Si
2024-05-04 21:28 ` Serge Semin
2024-05-13 10:12 ` Yanteng Si
2024-04-25 13:10 ` [PATCH net-next v12 12/15] net: stmmac: dwmac-loongson: Fixed failure to set network speed to 1000 Yanteng Si
2024-05-04 22:13 ` Serge Semin
2024-05-13 10:16 ` Yanteng Si
2024-04-25 13:11 ` [PATCH net-next v12 13/15] net: stmmac: dwmac-loongson: Add Loongson GNET support Yanteng Si
2024-04-26 5:12 ` Yanteng Si
2024-05-05 21:50 ` Serge Semin
2024-05-17 8:12 ` Yanteng Si
2024-05-17 9:48 ` Serge Semin
2024-05-17 11:14 ` yanteng si
2024-05-06 10:39 ` Serge Semin
2024-05-07 13:35 ` Yanteng Si
2024-05-08 14:38 ` Serge Semin
2024-05-08 14:58 ` Huacai Chen
2024-05-08 15:10 ` Serge Semin
2024-05-09 8:57 ` Yanteng Si
2024-05-13 10:56 ` Serge Semin
2024-05-13 13:26 ` Huacai Chen
2024-05-13 16:11 ` Serge Semin
2024-05-14 4:58 ` Huacai Chen
2024-05-14 11:33 ` Serge Semin
2024-05-14 12:53 ` Huacai Chen
2024-05-15 8:40 ` Serge Semin
2024-05-15 13:55 ` Huacai Chen
2024-05-17 8:42 ` Yanteng Si
2024-05-17 9:07 ` Serge Semin
2024-05-17 10:37 ` Yanteng Si
2024-05-17 16:37 ` Serge Semin
2024-05-18 10:47 ` yanteng si
2024-04-25 13:11 ` [PATCH net-next v12 14/15] net: stmmac: dwmac-loongson: Move disable_force flag to _gnet_date Yanteng Si
2024-05-05 21:53 ` Serge Semin
2024-05-13 10:20 ` Yanteng Si
2024-04-25 13:11 ` [PATCH net-next v12 15/15] net: stmmac: dwmac-loongson: Add loongson module author Yanteng Si
2024-05-06 2:12 ` Huacai Chen
2024-05-06 4:44 ` Serge Semin
2024-04-25 13:19 ` [PATCH net-next v12 00/15] stmmac: Add Loongson platform support Serge Semin
2024-04-26 4:55 ` Yanteng Si
2024-04-26 11:51 ` Serge Semin
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=ZiuJSY5oC8DWFAxk@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@kernel.org \
--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=siyanteng01@gmail.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).