* [PATCH net-next 0/4] support for hwtstamp_get in phy - part 2
@ 2025-11-27 21:12 Vadim Fedorenko
2025-11-27 21:12 ` [PATCH net-next 1/4] net: phy: micrel: improve HW timestamping config logic Vadim Fedorenko
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Vadim Fedorenko @ 2025-11-27 21:12 UTC (permalink / raw)
To: Andrew Lunn, Russell King, Heiner Kallweit, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Richard Cochran,
Andrew Lunn
Cc: Simon Horman, Vladimir Oltean, Jacob Keller, Kory Maincent,
netdev, Vadim Fedorenko
There are 2 drivers which had some inconsistency in HW timestamping
configuration logic. Improve both of them and add hwtstamp_get()
callback.
Vadim Fedorenko (4):
net: phy: micrel: improve HW timestamping config logic
net: phy: micrel: add HW timestamp configuration reporting
net: phy: microchip_rds_ptp: improve HW ts config logic
net: phy: microchip_rds_ptp: add HW timestamp configuration reporting
drivers/net/phy/micrel.c | 33 ++++++++++++++++++++++++++---
drivers/net/phy/microchip_rds_ptp.c | 25 +++++++++++++++++-----
2 files changed, 50 insertions(+), 8 deletions(-)
--
2.47.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH net-next 1/4] net: phy: micrel: improve HW timestamping config logic
2025-11-27 21:12 [PATCH net-next 0/4] support for hwtstamp_get in phy - part 2 Vadim Fedorenko
@ 2025-11-27 21:12 ` Vadim Fedorenko
2025-11-28 9:41 ` Kory Maincent
2025-11-27 21:12 ` [PATCH net-next 2/4] net: phy: micrel: add HW timestamp configuration reporting Vadim Fedorenko
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Vadim Fedorenko @ 2025-11-27 21:12 UTC (permalink / raw)
To: Andrew Lunn, Russell King, Heiner Kallweit, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Richard Cochran,
Andrew Lunn
Cc: Simon Horman, Vladimir Oltean, Jacob Keller, Kory Maincent,
netdev, Vadim Fedorenko
The driver was adjusting stored values independently of what was
actually supported and configured. Improve logic to store values
once all checks are passing
Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
---
drivers/net/phy/micrel.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index 05de68b9f719..2c9a17d4ff18 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -3157,9 +3157,6 @@ static int lan8814_hwtstamp_set(struct mii_timestamper *mii_ts,
int txcfg = 0, rxcfg = 0;
int pkt_ts_enable;
- ptp_priv->hwts_tx_type = config->tx_type;
- ptp_priv->rx_filter = config->rx_filter;
-
switch (config->rx_filter) {
case HWTSTAMP_FILTER_NONE:
ptp_priv->layer = 0;
@@ -3187,6 +3184,9 @@ static int lan8814_hwtstamp_set(struct mii_timestamper *mii_ts,
return -ERANGE;
}
+ ptp_priv->hwts_tx_type = config->tx_type;
+ ptp_priv->rx_filter = config->rx_filter;
+
if (ptp_priv->layer & PTP_CLASS_L2) {
rxcfg = PTP_RX_PARSE_CONFIG_LAYER2_EN_;
txcfg = PTP_TX_PARSE_CONFIG_LAYER2_EN_;
--
2.47.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net-next 2/4] net: phy: micrel: add HW timestamp configuration reporting
2025-11-27 21:12 [PATCH net-next 0/4] support for hwtstamp_get in phy - part 2 Vadim Fedorenko
2025-11-27 21:12 ` [PATCH net-next 1/4] net: phy: micrel: improve HW timestamping config logic Vadim Fedorenko
@ 2025-11-27 21:12 ` Vadim Fedorenko
2025-11-28 9:46 ` Kory Maincent
2025-11-27 21:12 ` [PATCH net-next 3/4] net: phy: microchip_rds_ptp: improve HW ts config logic Vadim Fedorenko
2025-11-27 21:12 ` [PATCH net-next 4/4] net: phy: microchip_rds_ptp: add HW timestamp configuration reporting Vadim Fedorenko
3 siblings, 1 reply; 9+ messages in thread
From: Vadim Fedorenko @ 2025-11-27 21:12 UTC (permalink / raw)
To: Andrew Lunn, Russell King, Heiner Kallweit, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Richard Cochran,
Andrew Lunn
Cc: Simon Horman, Vladimir Oltean, Jacob Keller, Kory Maincent,
netdev, Vadim Fedorenko
The driver stores HW timestamping configuration and can technically
report it. Add callback to do it.
Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
---
drivers/net/phy/micrel.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index 2c9a17d4ff18..59fbe0dd38fd 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -3147,6 +3147,18 @@ static void lan8814_flush_fifo(struct phy_device *phydev, bool egress)
lanphy_read_page_reg(phydev, LAN8814_PAGE_PORT_REGS, PTP_TSU_INT_STS);
}
+static int lan8814_hwtstamp_get(struct mii_timestamper *mii_ts,
+ struct kernel_hwtstamp_config *config)
+{
+ struct kszphy_ptp_priv *ptp_priv =
+ container_of(mii_ts, struct kszphy_ptp_priv, mii_ts);
+
+ config->tx_type = ptp_priv->hwts_tx_type;
+ config->rx_filter = ptp_priv->rx_filter;
+
+ return 0;
+}
+
static int lan8814_hwtstamp_set(struct mii_timestamper *mii_ts,
struct kernel_hwtstamp_config *config,
struct netlink_ext_ack *extack)
@@ -4390,6 +4402,7 @@ static void lan8814_ptp_init(struct phy_device *phydev)
ptp_priv->mii_ts.rxtstamp = lan8814_rxtstamp;
ptp_priv->mii_ts.txtstamp = lan8814_txtstamp;
ptp_priv->mii_ts.hwtstamp_set = lan8814_hwtstamp_set;
+ ptp_priv->mii_ts.hwtstamp_get = lan8814_hwtstamp_get;
ptp_priv->mii_ts.ts_info = lan8814_ts_info;
phydev->mii_ts = &ptp_priv->mii_ts;
@@ -5042,6 +5055,19 @@ static void lan8841_ptp_enable_processing(struct kszphy_ptp_priv *ptp_priv,
#define LAN8841_PTP_TX_TIMESTAMP_EN 443
#define LAN8841_PTP_TX_MOD 445
+static int lan8841_hwtstamp_get(struct mii_timestamper *mii_ts,
+ struct kernel_hwtstamp_config *config)
+{
+ struct kszphy_ptp_priv *ptp_priv;
+
+ ptp_priv = container_of(mii_ts, struct kszphy_ptp_priv, mii_ts);
+
+ config->tx_type = ptp_priv->hwts_tx_type;
+ config->rx_filter = ptp_priv->rx_filter;
+
+ return 0;
+}
+
static int lan8841_hwtstamp_set(struct mii_timestamper *mii_ts,
struct kernel_hwtstamp_config *config,
struct netlink_ext_ack *extack)
@@ -5925,6 +5951,7 @@ static int lan8841_probe(struct phy_device *phydev)
ptp_priv->mii_ts.rxtstamp = lan8841_rxtstamp;
ptp_priv->mii_ts.txtstamp = lan8814_txtstamp;
ptp_priv->mii_ts.hwtstamp_set = lan8841_hwtstamp_set;
+ ptp_priv->mii_ts.hwtstamp_get = lan8841_hwtstamp_get;
ptp_priv->mii_ts.ts_info = lan8841_ts_info;
phydev->mii_ts = &ptp_priv->mii_ts;
--
2.47.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net-next 3/4] net: phy: microchip_rds_ptp: improve HW ts config logic
2025-11-27 21:12 [PATCH net-next 0/4] support for hwtstamp_get in phy - part 2 Vadim Fedorenko
2025-11-27 21:12 ` [PATCH net-next 1/4] net: phy: micrel: improve HW timestamping config logic Vadim Fedorenko
2025-11-27 21:12 ` [PATCH net-next 2/4] net: phy: micrel: add HW timestamp configuration reporting Vadim Fedorenko
@ 2025-11-27 21:12 ` Vadim Fedorenko
2025-11-28 9:50 ` Kory Maincent
2025-11-27 21:12 ` [PATCH net-next 4/4] net: phy: microchip_rds_ptp: add HW timestamp configuration reporting Vadim Fedorenko
3 siblings, 1 reply; 9+ messages in thread
From: Vadim Fedorenko @ 2025-11-27 21:12 UTC (permalink / raw)
To: Andrew Lunn, Russell King, Heiner Kallweit, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Richard Cochran,
Andrew Lunn
Cc: Simon Horman, Vladimir Oltean, Jacob Keller, Kory Maincent,
netdev, Vadim Fedorenko
The driver stores new HW timestamping configuration values
unconditionally and may create inconsistency with what is actually
configured in case of error. Improve the logic to store new values only
once everything is configured.
Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
---
drivers/net/phy/microchip_rds_ptp.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/net/phy/microchip_rds_ptp.c b/drivers/net/phy/microchip_rds_ptp.c
index 4c6326b0ceaf..6b0933ef9142 100644
--- a/drivers/net/phy/microchip_rds_ptp.c
+++ b/drivers/net/phy/microchip_rds_ptp.c
@@ -488,9 +488,6 @@ static int mchp_rds_ptp_hwtstamp_set(struct mii_timestamper *mii_ts,
unsigned long flags;
int rc;
- clock->hwts_tx_type = config->tx_type;
- clock->rx_filter = config->rx_filter;
-
switch (config->rx_filter) {
case HWTSTAMP_FILTER_NONE:
clock->layer = 0;
@@ -553,7 +550,7 @@ static int mchp_rds_ptp_hwtstamp_set(struct mii_timestamper *mii_ts,
if (rc < 0)
return rc;
- if (clock->hwts_tx_type == HWTSTAMP_TX_ONESTEP_SYNC)
+ if (config->tx_type == HWTSTAMP_TX_ONESTEP_SYNC)
/* Enable / disable of the TX timestamp in the SYNC frames */
rc = mchp_rds_phy_modify_mmd(clock, MCHP_RDS_PTP_TX_MOD,
MCHP_RDS_PTP_PORT,
@@ -587,8 +584,13 @@ static int mchp_rds_ptp_hwtstamp_set(struct mii_timestamper *mii_ts,
/* Now enable the timestamping interrupts */
rc = mchp_rds_ptp_config_intr(clock,
config->rx_filter != HWTSTAMP_FILTER_NONE);
+ if (rc < 0)
+ return rc;
- return rc < 0 ? rc : 0;
+ clock->hwts_tx_type = config->tx_type;
+ clock->rx_filter = config->rx_filter;
+
+ return 0;
}
static int mchp_rds_ptp_ts_info(struct mii_timestamper *mii_ts,
--
2.47.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net-next 4/4] net: phy: microchip_rds_ptp: add HW timestamp configuration reporting
2025-11-27 21:12 [PATCH net-next 0/4] support for hwtstamp_get in phy - part 2 Vadim Fedorenko
` (2 preceding siblings ...)
2025-11-27 21:12 ` [PATCH net-next 3/4] net: phy: microchip_rds_ptp: improve HW ts config logic Vadim Fedorenko
@ 2025-11-27 21:12 ` Vadim Fedorenko
2025-11-28 9:51 ` Kory Maincent
3 siblings, 1 reply; 9+ messages in thread
From: Vadim Fedorenko @ 2025-11-27 21:12 UTC (permalink / raw)
To: Andrew Lunn, Russell King, Heiner Kallweit, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Richard Cochran,
Andrew Lunn
Cc: Simon Horman, Vladimir Oltean, Jacob Keller, Kory Maincent,
netdev, Vadim Fedorenko
The driver stores HW timestamping configuration and can technically
report it. Add callback to do it.
Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
---
drivers/net/phy/microchip_rds_ptp.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/net/phy/microchip_rds_ptp.c b/drivers/net/phy/microchip_rds_ptp.c
index 6b0933ef9142..46d145b0badf 100644
--- a/drivers/net/phy/microchip_rds_ptp.c
+++ b/drivers/net/phy/microchip_rds_ptp.c
@@ -476,6 +476,18 @@ static bool mchp_rds_ptp_rxtstamp(struct mii_timestamper *mii_ts,
return true;
}
+static int mchp_rds_ptp_hwtstamp_get(struct mii_timestamper *mii_ts,
+ struct kernel_hwtstamp_config *config)
+{
+ struct mchp_rds_ptp_clock *clock =
+ container_of(mii_ts, struct mchp_rds_ptp_clock,
+ mii_ts);
+ config->tx_type = clock->hwts_tx_type;
+ config->rx_filter = clock->rx_filter;
+
+ return 0;
+}
+
static int mchp_rds_ptp_hwtstamp_set(struct mii_timestamper *mii_ts,
struct kernel_hwtstamp_config *config,
struct netlink_ext_ack *extack)
@@ -1284,6 +1296,7 @@ struct mchp_rds_ptp_clock *mchp_rds_ptp_probe(struct phy_device *phydev, u8 mmd,
clock->mii_ts.rxtstamp = mchp_rds_ptp_rxtstamp;
clock->mii_ts.txtstamp = mchp_rds_ptp_txtstamp;
clock->mii_ts.hwtstamp_set = mchp_rds_ptp_hwtstamp_set;
+ clock->mii_ts.hwtstamp_get = mchp_rds_ptp_hwtstamp_get;
clock->mii_ts.ts_info = mchp_rds_ptp_ts_info;
phydev->mii_ts = &clock->mii_ts;
--
2.47.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH net-next 1/4] net: phy: micrel: improve HW timestamping config logic
2025-11-27 21:12 ` [PATCH net-next 1/4] net: phy: micrel: improve HW timestamping config logic Vadim Fedorenko
@ 2025-11-28 9:41 ` Kory Maincent
0 siblings, 0 replies; 9+ messages in thread
From: Kory Maincent @ 2025-11-28 9:41 UTC (permalink / raw)
To: Vadim Fedorenko
Cc: Andrew Lunn, Russell King, Heiner Kallweit, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Richard Cochran,
Andrew Lunn, Simon Horman, Vladimir Oltean, Jacob Keller, netdev
On Thu, 27 Nov 2025 21:12:42 +0000
Vadim Fedorenko <vadim.fedorenko@linux.dev> wrote:
> The driver was adjusting stored values independently of what was
> actually supported and configured. Improve logic to store values
> once all checks are passing
>
> Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
> ---
> drivers/net/phy/micrel.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
> index 05de68b9f719..2c9a17d4ff18 100644
> --- a/drivers/net/phy/micrel.c
> +++ b/drivers/net/phy/micrel.c
> @@ -3157,9 +3157,6 @@ static int lan8814_hwtstamp_set(struct mii_timestamper
> *mii_ts, int txcfg = 0, rxcfg = 0;
> int pkt_ts_enable;
>
> - ptp_priv->hwts_tx_type = config->tx_type;
> - ptp_priv->rx_filter = config->rx_filter;
> -
> switch (config->rx_filter) {
> case HWTSTAMP_FILTER_NONE:
> ptp_priv->layer = 0;
> @@ -3187,6 +3184,9 @@ static int lan8814_hwtstamp_set(struct mii_timestamper
> *mii_ts, return -ERANGE;
> }
>
> + ptp_priv->hwts_tx_type = config->tx_type;
> + ptp_priv->rx_filter = config->rx_filter;
> +
> if (ptp_priv->layer & PTP_CLASS_L2) {
> rxcfg = PTP_RX_PARSE_CONFIG_LAYER2_EN_;
> txcfg = PTP_TX_PARSE_CONFIG_LAYER2_EN_;
There is still an issue with tx_type.
HWTSTAMP_TX_ONESTEP_P2P is not supported but the driver does not return -ERANGE
if we try to set it. Could you add also this check?
Regards,
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next 2/4] net: phy: micrel: add HW timestamp configuration reporting
2025-11-27 21:12 ` [PATCH net-next 2/4] net: phy: micrel: add HW timestamp configuration reporting Vadim Fedorenko
@ 2025-11-28 9:46 ` Kory Maincent
0 siblings, 0 replies; 9+ messages in thread
From: Kory Maincent @ 2025-11-28 9:46 UTC (permalink / raw)
To: Vadim Fedorenko
Cc: Andrew Lunn, Russell King, Heiner Kallweit, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Richard Cochran,
Andrew Lunn, Simon Horman, Vladimir Oltean, Jacob Keller, netdev
On Thu, 27 Nov 2025 21:12:43 +0000
Vadim Fedorenko <vadim.fedorenko@linux.dev> wrote:
> The driver stores HW timestamping configuration and can technically
> report it. Add callback to do it.
>
> Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
> ---
> drivers/net/phy/micrel.c | 27 +++++++++++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
> diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
> index 2c9a17d4ff18..59fbe0dd38fd 100644
> --- a/drivers/net/phy/micrel.c
> +++ b/drivers/net/phy/micrel.c
> @@ -3147,6 +3147,18 @@ static void lan8814_flush_fifo(struct phy_device
> *phydev, bool egress) lanphy_read_page_reg(phydev, LAN8814_PAGE_PORT_REGS,
> PTP_TSU_INT_STS); }
>
> +static int lan8814_hwtstamp_get(struct mii_timestamper *mii_ts,
> + struct kernel_hwtstamp_config *config)
> +{
> + struct kszphy_ptp_priv *ptp_priv =
> + container_of(mii_ts, struct kszphy_ptp_priv,
> mii_ts); +
> + config->tx_type = ptp_priv->hwts_tx_type;
> + config->rx_filter = ptp_priv->rx_filter;
> +
> + return 0;
> +}
> +
> static int lan8814_hwtstamp_set(struct mii_timestamper *mii_ts,
> struct kernel_hwtstamp_config *config,
> struct netlink_ext_ack *extack)
> @@ -4390,6 +4402,7 @@ static void lan8814_ptp_init(struct phy_device *phydev)
> ptp_priv->mii_ts.rxtstamp = lan8814_rxtstamp;
> ptp_priv->mii_ts.txtstamp = lan8814_txtstamp;
> ptp_priv->mii_ts.hwtstamp_set = lan8814_hwtstamp_set;
> + ptp_priv->mii_ts.hwtstamp_get = lan8814_hwtstamp_get;
> ptp_priv->mii_ts.ts_info = lan8814_ts_info;
>
> phydev->mii_ts = &ptp_priv->mii_ts;
> @@ -5042,6 +5055,19 @@ static void lan8841_ptp_enable_processing(struct
> kszphy_ptp_priv *ptp_priv, #define LAN8841_PTP_TX_TIMESTAMP_EN
> 443 #define LAN8841_PTP_TX_MOD 445
>
> +static int lan8841_hwtstamp_get(struct mii_timestamper *mii_ts,
> + struct kernel_hwtstamp_config *config)
> +{
> + struct kszphy_ptp_priv *ptp_priv;
> +
> + ptp_priv = container_of(mii_ts, struct kszphy_ptp_priv, mii_ts);
> +
> + config->tx_type = ptp_priv->hwts_tx_type;
> + config->rx_filter = ptp_priv->rx_filter;
> +
> + return 0;
> +}
The two functions are identical, maybe you could use only one instead of
duplicating the code.
Regards,
> +
> static int lan8841_hwtstamp_set(struct mii_timestamper *mii_ts,
> struct kernel_hwtstamp_config *config,
> struct netlink_ext_ack *extack)
> @@ -5925,6 +5951,7 @@ static int lan8841_probe(struct phy_device *phydev)
> ptp_priv->mii_ts.rxtstamp = lan8841_rxtstamp;
> ptp_priv->mii_ts.txtstamp = lan8814_txtstamp;
> ptp_priv->mii_ts.hwtstamp_set = lan8841_hwtstamp_set;
> + ptp_priv->mii_ts.hwtstamp_get = lan8841_hwtstamp_get;
> ptp_priv->mii_ts.ts_info = lan8841_ts_info;
>
> phydev->mii_ts = &ptp_priv->mii_ts;
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next 3/4] net: phy: microchip_rds_ptp: improve HW ts config logic
2025-11-27 21:12 ` [PATCH net-next 3/4] net: phy: microchip_rds_ptp: improve HW ts config logic Vadim Fedorenko
@ 2025-11-28 9:50 ` Kory Maincent
0 siblings, 0 replies; 9+ messages in thread
From: Kory Maincent @ 2025-11-28 9:50 UTC (permalink / raw)
To: Vadim Fedorenko
Cc: Andrew Lunn, Russell King, Heiner Kallweit, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Richard Cochran,
Andrew Lunn, Simon Horman, Vladimir Oltean, Jacob Keller, netdev
On Thu, 27 Nov 2025 21:12:44 +0000
Vadim Fedorenko <vadim.fedorenko@linux.dev> wrote:
> The driver stores new HW timestamping configuration values
> unconditionally and may create inconsistency with what is actually
> configured in case of error. Improve the logic to store new values only
> once everything is configured.
>
> Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
> ---
> drivers/net/phy/microchip_rds_ptp.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/phy/microchip_rds_ptp.c
> b/drivers/net/phy/microchip_rds_ptp.c index 4c6326b0ceaf..6b0933ef9142 100644
> --- a/drivers/net/phy/microchip_rds_ptp.c
> +++ b/drivers/net/phy/microchip_rds_ptp.c
> @@ -488,9 +488,6 @@ static int mchp_rds_ptp_hwtstamp_set(struct
> mii_timestamper *mii_ts, unsigned long flags;
> int rc;
>
> - clock->hwts_tx_type = config->tx_type;
> - clock->rx_filter = config->rx_filter;
> -
> switch (config->rx_filter) {
> case HWTSTAMP_FILTER_NONE:
> clock->layer = 0;
> @@ -553,7 +550,7 @@ static int mchp_rds_ptp_hwtstamp_set(struct
> mii_timestamper *mii_ts, if (rc < 0)
> return rc;
>
> - if (clock->hwts_tx_type == HWTSTAMP_TX_ONESTEP_SYNC)
> + if (config->tx_type == HWTSTAMP_TX_ONESTEP_SYNC)
> /* Enable / disable of the TX timestamp in the SYNC frames */
> rc = mchp_rds_phy_modify_mmd(clock, MCHP_RDS_PTP_TX_MOD,
> MCHP_RDS_PTP_PORT,
> @@ -587,8 +584,13 @@ static int mchp_rds_ptp_hwtstamp_set(struct
> mii_timestamper *mii_ts, /* Now enable the timestamping interrupts */
> rc = mchp_rds_ptp_config_intr(clock,
> config->rx_filter !=
> HWTSTAMP_FILTER_NONE);
> + if (rc < 0)
> + return rc;
>
> - return rc < 0 ? rc : 0;
> + clock->hwts_tx_type = config->tx_type;
> + clock->rx_filter = config->rx_filter;
Same here, there is no check over HWTSTAMP_TX_ONESTEP_P2P. You should add
capabilities check.
Regards,
> + return 0;
> }
>
> static int mchp_rds_ptp_ts_info(struct mii_timestamper *mii_ts,
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next 4/4] net: phy: microchip_rds_ptp: add HW timestamp configuration reporting
2025-11-27 21:12 ` [PATCH net-next 4/4] net: phy: microchip_rds_ptp: add HW timestamp configuration reporting Vadim Fedorenko
@ 2025-11-28 9:51 ` Kory Maincent
0 siblings, 0 replies; 9+ messages in thread
From: Kory Maincent @ 2025-11-28 9:51 UTC (permalink / raw)
To: Vadim Fedorenko
Cc: Andrew Lunn, Russell King, Heiner Kallweit, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Richard Cochran,
Andrew Lunn, Simon Horman, Vladimir Oltean, Jacob Keller, netdev
On Thu, 27 Nov 2025 21:12:45 +0000
Vadim Fedorenko <vadim.fedorenko@linux.dev> wrote:
> The driver stores HW timestamping configuration and can technically
> report it. Add callback to do it.
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Thank you!
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-11-28 9:51 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-27 21:12 [PATCH net-next 0/4] support for hwtstamp_get in phy - part 2 Vadim Fedorenko
2025-11-27 21:12 ` [PATCH net-next 1/4] net: phy: micrel: improve HW timestamping config logic Vadim Fedorenko
2025-11-28 9:41 ` Kory Maincent
2025-11-27 21:12 ` [PATCH net-next 2/4] net: phy: micrel: add HW timestamp configuration reporting Vadim Fedorenko
2025-11-28 9:46 ` Kory Maincent
2025-11-27 21:12 ` [PATCH net-next 3/4] net: phy: microchip_rds_ptp: improve HW ts config logic Vadim Fedorenko
2025-11-28 9:50 ` Kory Maincent
2025-11-27 21:12 ` [PATCH net-next 4/4] net: phy: microchip_rds_ptp: add HW timestamp configuration reporting Vadim Fedorenko
2025-11-28 9:51 ` Kory Maincent
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).