From: Vladimir Oltean <olteanv@gmail.com>
To: Ansuel Smith <ansuelsmth@gmail.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
Vivien Didelot <vivien.didelot@gmail.com>,
Florian Fainelli <f.fainelli@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Russell King <linux@armlinux.org.uk>,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [net-next PATCH v4 06/13] net: dsa: qca8k: move rgmii delay detection to phylink mac_config
Date: Sun, 10 Oct 2021 21:11:07 +0300 [thread overview]
Message-ID: <20211010181107.4as42prroyitew3m@skbuf> (raw)
In-Reply-To: <YWLqh2X0lVwiDMCn@Ansuel-xps.localdomain>
On Sun, Oct 10, 2021 at 03:28:39PM +0200, Ansuel Smith wrote:
> > I was actually going to say that since RGMII delays are runtime
> > invariants, you should move their entire programming to probe time, now
> > you move device tree parsing to runtime :-/
> >
>
> The main idea here was to move everything to mac config and scan the DT
> node of the current port that is being configured.
If you insist on doing static configuration in a phylink callback, sure,
the comment was mostly about not accessing directly this struct dsa_port
member. It might change in the future, and the less refactoring required,
the better.
> > > -{
> > > - struct device_node *port_dn;
> > > - phy_interface_t mode;
> > > - struct dsa_port *dp;
> > > - u32 val;
> > > -
> > > - /* CPU port is already checked */
> > > - dp = dsa_to_port(priv->ds, 0);
> > > -
> > > - port_dn = dp->dn;
> > > -
> > > - /* Check if port 0 is set to the correct type */
> > > - of_get_phy_mode(port_dn, &mode);
> > > - if (mode != PHY_INTERFACE_MODE_RGMII_ID &&
> > > - mode != PHY_INTERFACE_MODE_RGMII_RXID &&
> > > - mode != PHY_INTERFACE_MODE_RGMII_TXID) {
> > > - return 0;
> > > - }
> > > -
> > > - switch (mode) {
> > > - case PHY_INTERFACE_MODE_RGMII_ID:
> > > - case PHY_INTERFACE_MODE_RGMII_RXID:
> >
> > Also, since you touch this area.
> > There have been tons of discussions on this topic, but I believe that
> > your interpretation of the RGMII delays is wrong.
> > Basically a MAC should not apply delays based on the phy-mode string (so
> > it should treat "rgmii" same as "rgmii-id"), but based on the value of
> > "rx-internal-delay-ps" and "tx-internal-delay-ps".
> > The phy-mode is for a PHY to use.
> >
>
> Ok so we can just drop the case and directly check for the
> internal-delay-ps presence?
Yes, but please consider existing device trees for this driver. I see
qcom-ipq8064-rb3011.dts and imx6dl-yapp4-common.dtsi, and neither use
explicit rx-internal-delay-ps or tx-internal-delay-ps properties. So
changing the driver to look at just those and ignore "rgmii-id" will
break those device trees, which is not pleasant. What would work is to
search first for *-internal-delay-ps, and then revert to determining the
delays based on the phy-mode, for compatibility.
next prev parent reply other threads:[~2021-10-10 18:11 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-10 11:15 [net-next PATCH v4 00/13] Multiple improvement for qca8337 switch Ansuel Smith
2021-10-10 11:15 ` [net-next PATCH v4 01/13] net: dsa: qca8k: add mac_power_sel support Ansuel Smith
2021-10-10 19:42 ` Vladimir Oltean
2021-10-10 11:15 ` [net-next PATCH v4 02/13] net: dsa: qca8k: add support for sgmii falling edge Ansuel Smith
2021-10-10 12:05 ` Vladimir Oltean
2021-10-10 12:10 ` Ansuel Smith
2021-10-10 12:50 ` Vladimir Oltean
2021-10-10 11:15 ` [net-next PATCH v4 03/13] dt-bindings: net: dsa: qca8k: Add MAC swap and clock phase properties Ansuel Smith
2021-10-10 12:07 ` Vladimir Oltean
2021-10-10 12:11 ` Ansuel Smith
2021-10-10 11:15 ` [net-next PATCH v4 04/13] drivers: net: dsa: qca8k: add support for cpu port 6 Ansuel Smith
2021-10-10 12:42 ` Vladimir Oltean
2021-10-10 13:22 ` Ansuel Smith
2021-10-11 8:17 ` Jonathan McDowell
2021-10-10 11:15 ` [net-next PATCH v4 05/13] dt-bindings: net: dsa: qca8k: Document support for CPU " Ansuel Smith
2021-10-10 11:15 ` [net-next PATCH v4 06/13] net: dsa: qca8k: move rgmii delay detection to phylink mac_config Ansuel Smith
2021-10-10 12:47 ` Vladimir Oltean
2021-10-10 13:28 ` Ansuel Smith
2021-10-10 18:11 ` Vladimir Oltean [this message]
2021-10-10 18:18 ` Ansuel Smith
2021-10-10 15:18 ` Andrew Lunn
2021-10-10 15:53 ` Vladimir Oltean
2021-10-10 11:15 ` [net-next PATCH v4 07/13] net: dsa: qca8k: add explicit SGMII PLL enable Ansuel Smith
2021-10-10 11:15 ` [net-next PATCH v4 08/13] dt-bindings: net: dsa: qca8k: Document qca,sgmii-enable-pll Ansuel Smith
2021-10-10 11:15 ` [net-next PATCH v4 09/13] drivers: net: dsa: qca8k: add support for pws config reg Ansuel Smith
2021-10-10 11:15 ` [net-next PATCH v4 10/13] dt-bindings: net: dsa: qca8k: document open drain binding Ansuel Smith
2021-10-10 12:54 ` Vladimir Oltean
2021-10-10 11:15 ` [net-next PATCH v4 11/13] drivers: net: dsa: qca8k: add support for QCA8328 Ansuel Smith
2021-10-10 11:15 ` [net-next PATCH v4 12/13] dt-bindings: net: dsa: qca8k: document support for qca8328 Ansuel Smith
2021-10-10 11:15 ` [net-next PATCH v4 13/13] drivers: net: dsa: qca8k: set internal delay also for sgmii Ansuel Smith
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=20211010181107.4as42prroyitew3m@skbuf \
--to=olteanv@gmail.com \
--cc=andrew@lunn.ch \
--cc=ansuelsmth@gmail.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=vivien.didelot@gmail.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.