From: "Clément Léger" <clement.leger@bootlin.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: "Sergey Shtylyov" <s.shtylyov@omp.ru>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Geert Uytterhoeven" <geert+renesas@glider.be>,
"Magnus Damm" <magnus.damm@gmail.com>,
"Giuseppe Cavallaro" <peppe.cavallaro@st.com>,
"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
"Jose Abreu" <joabreu@synopsys.com>,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Wong Vee Khee" <veekhee@apple.com>,
"Kurt Kanzenbach" <kurt@linutronix.de>,
"Revanth Kumar Uppala" <ruppala@nvidia.com>,
"Tan Tee Min" <tee.min.tan@linux.intel.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Herve Codina" <herve.codina@bootlin.com>,
"Miquèl Raynal" <miquel.raynal@bootlin.com>,
"Milan Stevanovic" <milan.stevanovic@se.com>,
"Jimmy Lalande" <jimmy.lalande@se.com>,
"Pascal Eberhard" <pascal.eberhard@se.com>,
"Mohammad Athari Bin Ismail" <mohammad.athari.ismail@intel.com>,
"Jon Hunter" <jonathanh@nvidia.com>,
netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH net-next 3/6] net: stmmac: start phylink before setting up hardware
Date: Tue, 7 Feb 2023 15:41:35 +0100 [thread overview]
Message-ID: <20230207154135.6f0e59f8@fixe.home> (raw)
In-Reply-To: <Y8UsvREsKOR2ejzT@shell.armlinux.org.uk>
Le Mon, 16 Jan 2023 10:53:49 +0000,
"Russell King (Oracle)" <linux@armlinux.org.uk> a écrit :
> On Mon, Jan 16, 2023 at 11:39:23AM +0100, Clément Léger wrote:
> > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > index f2247b8cf0a3..88c941003855 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > @@ -3818,6 +3818,12 @@ static int __stmmac_open(struct net_device *dev,
> > }
> > }
> >
> > + /* We need to setup the phy & PCS before accessing the stmmac registers
> > + * because in some cases (RZ/N1), if the stmmac IP is not clocked by the
> > + * PCS, hardware init will fail because it lacks a RGMII RX clock.
> > + */
> > + phylink_start(priv->phylink);
>
> So what happens if you end up with the mac_link_up method being called
> at this point in the driver, before the hardware has been setup ?
>
> If you use a fixed-link, that's a real possibility.
I actually have this setup. On the board, one GMAC is connected to a
DSA switch using a fixed-link and the other using the PCS such as added
by this series.
From what I see, indeed, the mac_link_up() function is called before
stmmac_hw_setup(). This does not seems to have any effect on my setup
(except making it working of course) but I agree this is clearly not
ideal.
What I could do is adding a function in the miic pcs driver that could
be called from my rzn1 stmmac probe function to actually configure the
PCS at probe time based on the detected "phy-mode". Does that seems
better to you ?
Thanks,
--
Clément Léger,
Embedded Linux and Kernel engineer at Bootlin
https://bootlin.com
WARNING: multiple messages have this Message-ID (diff)
From: "Clément Léger" <clement.leger@bootlin.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: "Sergey Shtylyov" <s.shtylyov@omp.ru>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Geert Uytterhoeven" <geert+renesas@glider.be>,
"Magnus Damm" <magnus.damm@gmail.com>,
"Giuseppe Cavallaro" <peppe.cavallaro@st.com>,
"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
"Jose Abreu" <joabreu@synopsys.com>,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Wong Vee Khee" <veekhee@apple.com>,
"Kurt Kanzenbach" <kurt@linutronix.de>,
"Revanth Kumar Uppala" <ruppala@nvidia.com>,
"Tan Tee Min" <tee.min.tan@linux.intel.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Herve Codina" <herve.codina@bootlin.com>,
"Miquèl Raynal" <miquel.raynal@bootlin.com>,
"Milan Stevanovic" <milan.stevanovic@se.com>,
"Jimmy Lalande" <jimmy.lalande@se.com>,
"Pascal Eberhard" <pascal.eberhard@se.com>,
"Mohammad Athari Bin Ismail" <mohammad.athari.ismail@intel.com>,
"Jon Hunter" <jonathanh@nvidia.com>,
netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH net-next 3/6] net: stmmac: start phylink before setting up hardware
Date: Tue, 7 Feb 2023 15:41:35 +0100 [thread overview]
Message-ID: <20230207154135.6f0e59f8@fixe.home> (raw)
In-Reply-To: <Y8UsvREsKOR2ejzT@shell.armlinux.org.uk>
Le Mon, 16 Jan 2023 10:53:49 +0000,
"Russell King (Oracle)" <linux@armlinux.org.uk> a écrit :
> On Mon, Jan 16, 2023 at 11:39:23AM +0100, Clément Léger wrote:
> > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > index f2247b8cf0a3..88c941003855 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > @@ -3818,6 +3818,12 @@ static int __stmmac_open(struct net_device *dev,
> > }
> > }
> >
> > + /* We need to setup the phy & PCS before accessing the stmmac registers
> > + * because in some cases (RZ/N1), if the stmmac IP is not clocked by the
> > + * PCS, hardware init will fail because it lacks a RGMII RX clock.
> > + */
> > + phylink_start(priv->phylink);
>
> So what happens if you end up with the mac_link_up method being called
> at this point in the driver, before the hardware has been setup ?
>
> If you use a fixed-link, that's a real possibility.
I actually have this setup. On the board, one GMAC is connected to a
DSA switch using a fixed-link and the other using the PCS such as added
by this series.
From what I see, indeed, the mac_link_up() function is called before
stmmac_hw_setup(). This does not seems to have any effect on my setup
(except making it working of course) but I agree this is clearly not
ideal.
What I could do is adding a function in the miic pcs driver that could
be called from my rzn1 stmmac probe function to actually configure the
PCS at probe time based on the detected "phy-mode". Does that seems
better to you ?
Thanks,
--
Clément Léger,
Embedded Linux and Kernel engineer at Bootlin
https://bootlin.com
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-02-07 14:41 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-16 10:39 [PATCH net-next 0/6] net: stmmac: add renesas,rzn1-gmac support Clément Léger
2023-01-16 10:39 ` Clément Léger
2023-01-16 10:39 ` [PATCH net-next 1/6] net: stmmac: add support to use a generic phylink_pcs as PCS Clément Léger
2023-01-16 10:39 ` Clément Léger
2023-01-16 10:39 ` [PATCH net-next 2/6] net: stmmac: add support to provide pcs from platform data Clément Léger
2023-01-16 10:39 ` Clément Léger
2023-01-16 10:39 ` [PATCH net-next 3/6] net: stmmac: start phylink before setting up hardware Clément Léger
2023-01-16 10:39 ` Clément Léger
2023-01-16 10:53 ` Russell King (Oracle)
2023-01-16 10:53 ` Russell King (Oracle)
2023-02-07 14:41 ` Clément Léger [this message]
2023-02-07 14:41 ` Clément Léger
2023-02-10 11:03 ` Russell King (Oracle)
2023-02-10 11:03 ` Russell King (Oracle)
2023-02-10 11:20 ` Clément Léger
2023-02-10 11:20 ` Clément Léger
2023-01-16 10:39 ` [PATCH net-next 4/6] dt-bindings: net: renesas,rzn1-gmac: Document RZ/N1 GMAC support Clément Léger
2023-01-16 10:39 ` Clément Léger
2023-01-16 12:27 ` Geert Uytterhoeven
2023-01-16 12:27 ` Geert Uytterhoeven
2023-01-16 16:36 ` Rob Herring
2023-01-16 16:36 ` Rob Herring
2023-01-22 14:19 ` Krzysztof Kozlowski
2023-01-22 14:19 ` Krzysztof Kozlowski
2023-01-16 10:39 ` [PATCH net-next 5/6] net: stmmac: add support for RZ/N1 GMAC Clément Léger
2023-01-16 10:39 ` Clément Léger
2023-01-16 10:39 ` [PATCH net-next 6/6] ARM: dts: r9a06g032: describe GMAC1 Clément Léger
2023-01-16 10:39 ` Clément Léger
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=20230207154135.6f0e59f8@fixe.home \
--to=clement.leger@bootlin.com \
--cc=alexandre.torgue@foss.st.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=geert+renesas@glider.be \
--cc=herve.codina@bootlin.com \
--cc=jimmy.lalande@se.com \
--cc=joabreu@synopsys.com \
--cc=jonathanh@nvidia.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=kurt@linutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=linux@armlinux.org.uk \
--cc=magnus.damm@gmail.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=milan.stevanovic@se.com \
--cc=miquel.raynal@bootlin.com \
--cc=mohammad.athari.ismail@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pascal.eberhard@se.com \
--cc=peppe.cavallaro@st.com \
--cc=robh+dt@kernel.org \
--cc=ruppala@nvidia.com \
--cc=s.shtylyov@omp.ru \
--cc=tee.min.tan@linux.intel.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=veekhee@apple.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.