From: Krzysztof Kozlowski <krzk@kernel.org>
To: Yijie Yang <quic_yijiyang@quicinc.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, Vinod Koul <vkoul@kernel.org>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Richard Cochran <richardcochran@gmail.com>
Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 2/4] net: stmmac: dwmac-qcom-ethqos: Mask PHY mode if configured with rgmii-id
Date: Tue, 21 Jan 2025 13:47:55 +0100 [thread overview]
Message-ID: <30450f09-83d4-4ff0-96b2-9f251f0c0896@kernel.org> (raw)
In-Reply-To: <20250121-dts_qcs615-v3-2-fa4496950d8a@quicinc.com>
On 21/01/2025 08:54, Yijie Yang wrote:
> The Qualcomm board always chooses the MAC to provide the delay instead of
> the PHY, which is completely opposite to the suggestion of the Linux
> kernel.
How does the Linux kernel suggest it?
> The usage of phy-mode in legacy DTS was also incorrect. Change the
> phy_mode passed from the DTS to the driver from PHY_INTERFACE_MODE_RGMII_ID
> to PHY_INTERFACE_MODE_RGMII to ensure correct operation and adherence to
> the definition.
> To address the ABI compatibility issue between the kernel and DTS caused by
> this change, handle the compatible string 'qcom,qcs404-evb-4000' in the
> code, as it is the only legacy board that mistakenly uses the 'rgmii'
> phy-mode.
>
> Signed-off-by: Yijie Yang <quic_yijiyang@quicinc.com>
> ---
> .../net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 18 +++++++++++++-----
> 1 file changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
> index 2a5b38723635b5ef9233ca4709e99dd5ddf06b77..e228a62723e221d58d8c4f104109e0dcf682d06d 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
> @@ -401,14 +401,11 @@ static int ethqos_dll_configure(struct qcom_ethqos *ethqos)
> static int ethqos_rgmii_macro_init(struct qcom_ethqos *ethqos)
> {
> 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;
>
> /* Disable loopback mode */
> @@ -810,6 +807,17 @@ static int qcom_ethqos_probe(struct platform_device *pdev)
> ret = of_get_phy_mode(np, ðqos->phy_mode);
> if (ret)
> return dev_err_probe(dev, ret, "Failed to get phy mode\n");
> +
> + root = of_find_node_by_path("/");
> + if (root && of_device_is_compatible(root, "qcom,qcs404-evb-4000"))
First, just check if machine is compatible, don't open code it.
Second, drivers should really, really not rely on the machine. I don't
think how this resolves ABI break for other users at all.
You need to check what the ABI is here and do not break it.
Best regards,
Krzysztof
next prev parent reply other threads:[~2025-01-21 12:48 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-21 7:54 [PATCH v3 0/4] Enable ethernet on qcs615 Yijie Yang
2025-01-21 7:54 ` [PATCH v3 1/4] dt-bindings: net: ethernet-controller: Correct the definition of phy-mode Yijie Yang
2025-01-21 13:08 ` Maxime Chevallier
2025-01-21 17:00 ` Andrew Lunn
2025-01-21 7:54 ` [PATCH v3 2/4] net: stmmac: dwmac-qcom-ethqos: Mask PHY mode if configured with rgmii-id Yijie Yang
2025-01-21 12:47 ` Krzysztof Kozlowski [this message]
2025-01-21 12:57 ` Russell King (Oracle)
2025-01-22 9:06 ` Yijie Yang
2025-01-22 8:56 ` Yijie Yang
2025-01-22 9:48 ` Krzysztof Kozlowski
2025-01-27 10:49 ` Konrad Dybcio
2025-02-10 3:09 ` Yijie Yang
2025-02-10 18:01 ` Konrad Dybcio
2025-02-10 21:28 ` Andrew Lunn
2025-02-11 2:14 ` Yijie Yang
2025-02-11 1:20 ` Yijie Yang
2025-01-21 13:17 ` Maxime Chevallier
2025-01-22 9:46 ` Yijie Yang
2025-01-21 17:10 ` Andrew Lunn
2025-01-22 10:04 ` Yijie Yang
2025-01-21 17:20 ` Andrew Lunn
2025-01-21 7:54 ` [PATCH v3 3/4] arm64: dts: qcom: qcs615: add ethernet node Yijie Yang
2025-02-01 15:48 ` Konrad Dybcio
2025-02-03 13:53 ` Konrad Dybcio
2025-01-21 7:54 ` [PATCH v3 4/4] arm64: dts: qcom: qcs615-ride: Enable " Yijie Yang
2025-02-03 13:52 ` Konrad Dybcio
2025-07-14 2:28 ` [PATCH v3 0/4] Enable ethernet on qcs615 Yijie Yang
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=30450f09-83d4-4ff0-96b2-9f251f0c0896@kernel.org \
--to=krzk@kernel.org \
--cc=alexandre.torgue@foss.st.com \
--cc=andersson@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=quic_yijiyang@quicinc.com \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=vkoul@kernel.org \
/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).