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: 7+ 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
-- strict thread matches above, loose matches on Subject: below --
2025-10-28 1:53 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 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.