From: Yi Cong <cong.yi@linux.dev>
To: Frank.Sae@motor-comm.com, andrew+netdev@lunn.ch,
hkallweit1@gmail.com, linux@armlinux.org.uk, davem@davemloft.net
Cc: kuba@kernel.org, netdev@vger.kernel.org,
Yi Cong <yicong@kylinos.cn>,
stable@vger.kernel.org
Subject: [PATCH] net: phy: motorcomm: Fix the issue in the code regarding the incorrect use of time units
Date: Tue, 28 Oct 2025 09:59:23 +0800 [thread overview]
Message-ID: <20251028015923.252909-1-cong.yi@linux.dev> (raw)
From: Yi Cong <yicong@kylinos.cn>
Currently, NS (nanoseconds) is being used, but according to the datasheet,
the correct unit should be PS (picoseconds).
Fixes: 4869a146cd60 ("net: phy: Add BIT macro for Motorcomm yt8521/yt8531 gigabit ethernet phy")
Cc: stable@vger.kernel.org
Signed-off-by: Yi Cong <yicong@kylinos.cn>
---
drivers/net/phy/motorcomm.c | 102 ++++++++++++++++++------------------
1 file changed, 51 insertions(+), 51 deletions(-)
diff --git a/drivers/net/phy/motorcomm.c b/drivers/net/phy/motorcomm.c
index a3593e663059..81491c71e75b 100644
--- a/drivers/net/phy/motorcomm.c
+++ b/drivers/net/phy/motorcomm.c
@@ -171,7 +171,7 @@
* 1b1 enable 1.9ns rxc clock delay
*/
#define YT8521_CCR_RXC_DLY_EN BIT(8)
-#define YT8521_CCR_RXC_DLY_1_900_NS 1900
+#define YT8521_CCR_RXC_DLY_1_900_PS 1900
#define YT8521_CCR_MODE_SEL_MASK (BIT(2) | BIT(1) | BIT(0))
#define YT8521_CCR_MODE_UTP_TO_RGMII 0
@@ -196,22 +196,22 @@
#define YT8521_RC1R_RX_DELAY_MASK GENMASK(13, 10)
#define YT8521_RC1R_FE_TX_DELAY_MASK GENMASK(7, 4)
#define YT8521_RC1R_GE_TX_DELAY_MASK GENMASK(3, 0)
-#define YT8521_RC1R_RGMII_0_000_NS 0
-#define YT8521_RC1R_RGMII_0_150_NS 1
-#define YT8521_RC1R_RGMII_0_300_NS 2
-#define YT8521_RC1R_RGMII_0_450_NS 3
-#define YT8521_RC1R_RGMII_0_600_NS 4
-#define YT8521_RC1R_RGMII_0_750_NS 5
-#define YT8521_RC1R_RGMII_0_900_NS 6
-#define YT8521_RC1R_RGMII_1_050_NS 7
-#define YT8521_RC1R_RGMII_1_200_NS 8
-#define YT8521_RC1R_RGMII_1_350_NS 9
-#define YT8521_RC1R_RGMII_1_500_NS 10
-#define YT8521_RC1R_RGMII_1_650_NS 11
-#define YT8521_RC1R_RGMII_1_800_NS 12
-#define YT8521_RC1R_RGMII_1_950_NS 13
-#define YT8521_RC1R_RGMII_2_100_NS 14
-#define YT8521_RC1R_RGMII_2_250_NS 15
+#define YT8521_RC1R_RGMII_0_000_PS 0
+#define YT8521_RC1R_RGMII_0_150_PS 1
+#define YT8521_RC1R_RGMII_0_300_PS 2
+#define YT8521_RC1R_RGMII_0_450_PS 3
+#define YT8521_RC1R_RGMII_0_600_PS 4
+#define YT8521_RC1R_RGMII_0_750_PS 5
+#define YT8521_RC1R_RGMII_0_900_PS 6
+#define YT8521_RC1R_RGMII_1_050_PS 7
+#define YT8521_RC1R_RGMII_1_200_PS 8
+#define YT8521_RC1R_RGMII_1_350_PS 9
+#define YT8521_RC1R_RGMII_1_500_PS 10
+#define YT8521_RC1R_RGMII_1_650_PS 11
+#define YT8521_RC1R_RGMII_1_800_PS 12
+#define YT8521_RC1R_RGMII_1_950_PS 13
+#define YT8521_RC1R_RGMII_2_100_PS 14
+#define YT8521_RC1R_RGMII_2_250_PS 15
/* LED CONFIG */
#define YT8521_MAX_LEDS 3
@@ -800,40 +800,40 @@ struct ytphy_cfg_reg_map {
static const struct ytphy_cfg_reg_map ytphy_rgmii_delays[] = {
/* for tx delay / rx delay with YT8521_CCR_RXC_DLY_EN is not set. */
- { 0, YT8521_RC1R_RGMII_0_000_NS },
- { 150, YT8521_RC1R_RGMII_0_150_NS },
- { 300, YT8521_RC1R_RGMII_0_300_NS },
- { 450, YT8521_RC1R_RGMII_0_450_NS },
- { 600, YT8521_RC1R_RGMII_0_600_NS },
- { 750, YT8521_RC1R_RGMII_0_750_NS },
- { 900, YT8521_RC1R_RGMII_0_900_NS },
- { 1050, YT8521_RC1R_RGMII_1_050_NS },
- { 1200, YT8521_RC1R_RGMII_1_200_NS },
- { 1350, YT8521_RC1R_RGMII_1_350_NS },
- { 1500, YT8521_RC1R_RGMII_1_500_NS },
- { 1650, YT8521_RC1R_RGMII_1_650_NS },
- { 1800, YT8521_RC1R_RGMII_1_800_NS },
- { 1950, YT8521_RC1R_RGMII_1_950_NS }, /* default tx/rx delay */
- { 2100, YT8521_RC1R_RGMII_2_100_NS },
- { 2250, YT8521_RC1R_RGMII_2_250_NS },
+ { 0, YT8521_RC1R_RGMII_0_000_PS },
+ { 150, YT8521_RC1R_RGMII_0_150_PS },
+ { 300, YT8521_RC1R_RGMII_0_300_PS },
+ { 450, YT8521_RC1R_RGMII_0_450_PS },
+ { 600, YT8521_RC1R_RGMII_0_600_PS },
+ { 750, YT8521_RC1R_RGMII_0_750_PS },
+ { 900, YT8521_RC1R_RGMII_0_900_PS },
+ { 1050, YT8521_RC1R_RGMII_1_050_PS },
+ { 1200, YT8521_RC1R_RGMII_1_200_PS },
+ { 1350, YT8521_RC1R_RGMII_1_350_PS },
+ { 1500, YT8521_RC1R_RGMII_1_500_PS },
+ { 1650, YT8521_RC1R_RGMII_1_650_PS },
+ { 1800, YT8521_RC1R_RGMII_1_800_PS },
+ { 1950, YT8521_RC1R_RGMII_1_950_PS }, /* default tx/rx delay */
+ { 2100, YT8521_RC1R_RGMII_2_100_PS },
+ { 2250, YT8521_RC1R_RGMII_2_250_PS },
/* only for rx delay with YT8521_CCR_RXC_DLY_EN is set. */
- { 0 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_0_000_NS },
- { 150 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_0_150_NS },
- { 300 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_0_300_NS },
- { 450 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_0_450_NS },
- { 600 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_0_600_NS },
- { 750 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_0_750_NS },
- { 900 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_0_900_NS },
- { 1050 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_1_050_NS },
- { 1200 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_1_200_NS },
- { 1350 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_1_350_NS },
- { 1500 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_1_500_NS },
- { 1650 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_1_650_NS },
- { 1800 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_1_800_NS },
- { 1950 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_1_950_NS },
- { 2100 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_2_100_NS },
- { 2250 + YT8521_CCR_RXC_DLY_1_900_NS, YT8521_RC1R_RGMII_2_250_NS }
+ { 0 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_0_000_PS },
+ { 150 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_0_150_PS },
+ { 300 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_0_300_PS },
+ { 450 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_0_450_PS },
+ { 600 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_0_600_PS },
+ { 750 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_0_750_PS },
+ { 900 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_0_900_PS },
+ { 1050 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_1_050_PS },
+ { 1200 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_1_200_PS },
+ { 1350 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_1_350_PS },
+ { 1500 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_1_500_PS },
+ { 1650 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_1_650_PS },
+ { 1800 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_1_800_PS },
+ { 1950 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_1_950_PS },
+ { 2100 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_2_100_PS },
+ { 2250 + YT8521_CCR_RXC_DLY_1_900_PS, YT8521_RC1R_RGMII_2_250_PS }
};
static u32 ytphy_get_delay_reg_value(struct phy_device *phydev,
@@ -890,10 +890,10 @@ static int ytphy_rgmii_clk_delay_config(struct phy_device *phydev)
rx_reg = ytphy_get_delay_reg_value(phydev, "rx-internal-delay-ps",
ytphy_rgmii_delays, tb_size,
&rxc_dly_en,
- YT8521_RC1R_RGMII_1_950_NS);
+ YT8521_RC1R_RGMII_1_950_PS);
tx_reg = ytphy_get_delay_reg_value(phydev, "tx-internal-delay-ps",
ytphy_rgmii_delays, tb_size, NULL,
- YT8521_RC1R_RGMII_1_950_NS);
+ YT8521_RC1R_RGMII_1_950_PS);
switch (phydev->interface) {
case PHY_INTERFACE_MODE_RGMII:
--
2.25.1
next reply other threads:[~2025-10-28 2:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-28 1:59 Yi Cong [this message]
2025-10-28 2:51 ` [PATCH] net: phy: motorcomm: Fix the issue in the code regarding the incorrect use of time units Andrew Lunn
2025-10-28 6:21 ` Yi Cong
2025-10-28 12:07 ` Andrew Lunn
2025-10-28 12:19 ` Russell King (Oracle)
2025-10-28 12:46 ` Yi Cong
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=20251028015923.252909-1-cong.yi@linux.dev \
--to=cong.yi@linux.dev \
--cc=Frank.Sae@motor-comm.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=yicong@kylinos.cn \
/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).