[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f93d325f-2c04-49ab-ae92-b87ae88ab49d@lunn.ch>
Date: Thu, 21 Aug 2025 05:33:22 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Yijie Yang <yijie.yang@....qualcomm.com>
Cc: Vinod Koul <vkoul@...nel.org>, Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Richard Cochran <richardcochran@...il.com>, netdev@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, stable+noautosel@...nel.org
Subject: Re: [PATCH v4 2/6] net: stmmac: Inverse the phy-mode definition
On Thu, Aug 21, 2025 at 10:22:05AM +0800, Yijie Yang wrote:
>
>
> On 2025-08-20 00:20, Andrew Lunn wrote:
> > > static int ethqos_rgmii_macro_init(struct qcom_ethqos *ethqos, int speed)
> > > {
> > > struct device *dev = ðqos->pdev->dev;
> > > - int phase_shift;
> > > + int phase_shift = 0;
> > > int loopback;
> > > /* Determine if the PHY adds a 2 ns TX delay or the MAC handles it */
> > > - if (ethqos->phy_mode == PHY_INTERFACE_MODE_RGMII_ID ||
> > > - ethqos->phy_mode == PHY_INTERFACE_MODE_RGMII_TXID)
> > > - phase_shift = 0;
> > > - else
> > > + if (ethqos->phy_mode == PHY_INTERFACE_MODE_RGMII_ID)
> > > phase_shift = RGMII_CONFIG2_TX_CLK_PHASE_SHIFT_EN;
> >
> > Does this one setting control both RX and TX delays? The hardware
> > cannot support 2ns delay on TX, but 0ns on RX? Or 2ns on RX but 0ns on
> > TX?
> >
>
> This setting is only for Tx delay. Rx delays are taken care separately with
> DLL delays.
If this is only for Tx delays, why is it also not used for
PHY_INTERFACE_MODE_RGMII_TXID?
It is simpler to just let the PHY add the delays, the PHY drivers get
this right, are well tested, and just work. MAC drivers often get
delays wrong.
Andrew
Powered by blists - more mailing lists