From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Shenwei Wang <shenwei.wang@nxp.com>
Cc: Vladimir Oltean <olteanv@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Shawn Guo <shawnguo@kernel.org>, dl-linux-imx <linux-imx@nxp.com>,
Giuseppe Cavallaro <peppe.cavallaro@st.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Jose Abreu <joabreu@synopsys.com>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-stm32@st-md-mailman.stormreply.com"
<linux-stm32@st-md-mailman.stormreply.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"imx@lists.linux.dev" <imx@lists.linux.dev>,
Frank Li <frank.li@nxp.com>
Subject: Re: [EXT] Re: [PATCH] net: stmmac: dwmac-imx: pause the TXC clock in fixed-link
Date: Wed, 26 Jul 2023 16:29:25 +0100 [thread overview]
Message-ID: <ZME71epmSHYIB4DZ@shell.armlinux.org.uk> (raw)
In-Reply-To: <PAXPR04MB9185C1A95E101AC2E08639B78900A@PAXPR04MB9185.eurprd04.prod.outlook.com>
On Wed, Jul 26, 2023 at 03:10:19PM +0000, Shenwei Wang wrote:
> > if (of_phy_is_fixed_link(dwmac->dev->of_node)) {
> >
>
> This does not help in this case. What I need to determine is if the PHY currently in use is a fixed-link.
> The dwmac DTS node may have multiple PHY nodes defined, including both fixed-link and real PHYs.
... and this makes me wonder what DT node structure you think would
describe a fixed-link.
A valid ethernet device node would be:
dwmac-node {
phy-handle = <&phy1>;
};
In this case:
dwmac->dev->of_node points at "dwmac-node"
plat->phylink_node points at "dwmac-node"
plat->phy_node points at "phy1"
Your "dn" is NULL.
Therefore, your imx_dwmac_is_fixed_link() returns false.
dwmac-node {
fixed-link {
speed = <...>;
full-duplex;
};
};
In this case:
dwmac->dev->of_node points at "dwmac-node"
plat->phylink_node points at "dwmac-node"
plat->phy_node is NULL
Your "dn" points at the "fixed-link" node.
Therefore, your imx_dwmac_is_fixed_link() also returns false.
Now, as far as your comment "What I need to determine is if the PHY
currently in use is a fixed-link." I'm just going "Eh? What?" at that,
because it makes zero sense to me.
stmmac uses phylink. phylink doesn't use a PHY for fixed-links, unlike
the old phylib-based fixed-link implementation that software-emulated
a clause-22 PHY. With phylink, when fixed-link is specified, there is
_no_ PHY.
There is no need to do any of this poking about to determine if the
link that is being brought up is a fixed-link or not, because phylink's
callbacks into the MAC driver already contain this information in the
"mode" argument. However, that is not passed to the driver's internal
priv->plat->fix_mac_speed() method - but this is the information you
need.
There is no need to write code to try and second-guess this, phylink
tells drivers what mode it is operating under.
stmmac really needs to be cleaned up - and really doesn't need more
complexity when the information is already being provided to the
driver.
--
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:[~2023-07-26 15:29 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-25 19:49 [PATCH] net: stmmac: dwmac-imx: pause the TXC clock in fixed-link Shenwei Wang
2023-07-25 21:04 ` Russell King (Oracle)
2023-07-26 15:00 ` [EXT] " Shenwei Wang
2023-07-26 15:09 ` Russell King (Oracle)
2023-07-26 16:10 ` Shenwei Wang
2023-07-26 16:29 ` Russell King (Oracle)
2023-07-26 17:03 ` Vladimir Oltean
2023-07-26 18:24 ` Shenwei Wang
2023-07-26 18:30 ` Andrew Lunn
2023-07-25 23:23 ` kernel test robot
2023-07-26 0:43 ` Vladimir Oltean
2023-07-26 15:10 ` [EXT] " Shenwei Wang
2023-07-26 15:29 ` Russell King (Oracle) [this message]
2023-07-26 15:59 ` Shenwei Wang
2023-07-26 17:01 ` Russell King (Oracle)
2023-07-26 18:47 ` Shenwei Wang
2023-07-26 19:02 ` Russell King (Oracle)
2023-07-26 19:17 ` Shenwei Wang
2023-07-27 8:58 ` Russell King (Oracle)
2023-07-27 8:58 ` Russell King (Oracle)
2023-07-27 13:03 ` Shenwei Wang
2023-07-27 13:03 ` Shenwei Wang
2023-07-26 8:32 ` Andrew Lunn
2023-07-26 11:58 ` Vladimir Oltean
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=ZME71epmSHYIB4DZ@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=alexandre.torgue@foss.st.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=festevam@gmail.com \
--cc=frank.li@nxp.com \
--cc=imx@lists.linux.dev \
--cc=joabreu@synopsys.com \
--cc=kernel@pengutronix.de \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=peppe.cavallaro@st.com \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=shenwei.wang@nxp.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.