mbox series

[v9,net-next,00/12] Introduce ndo_hwtstamp_get() and ndo_hwtstamp_set()

Message ID 20230801142824.1772134-1-vladimir.oltean@nxp.com (mailing list archive)
Headers show
Series Introduce ndo_hwtstamp_get() and ndo_hwtstamp_set() | expand

Message

Vladimir Oltean Aug. 1, 2023, 2:28 p.m. UTC
Based on previous RFCs from Maxim Georgiev:
https://lore.kernel.org/netdev/20230502043150.17097-1-glipus@gmail.com/

this series attempts to introduce new API for the hardware timestamping
control path (SIOCGHWTSTAMP and SIOCSHWTSTAMP handling).

I don't have any board with phylib hardware timestamping, so I would
appreciate testing (especially on lan966x, the most intricate
conversion). I was, however, able to test netdev level timestamping,
because I also have some more unsubmitted conversions in progress:

https://github.com/vladimiroltean/linux/commits/ndo-hwtstamp-v9

I hope that the concerns expressed in the comments of previous series
were addressed, and that Köry Maincent's series:
https://lore.kernel.org/netdev/20230406173308.401924-1-kory.maincent@bootlin.com/
can make progress in parallel with the conversion of the rest of drivers.

Maxim Georgiev (5):
  net: add NDOs for configuring hardware timestamping
  net: add hwtstamping helpers for stackable net devices
  net: vlan: convert to ndo_hwtstamp_get() / ndo_hwtstamp_set()
  net: macvlan: convert to ndo_hwtstamp_get() / ndo_hwtstamp_set()
  net: bonding: convert to ndo_hwtstamp_get() / ndo_hwtstamp_set()

Vladimir Oltean (7):
  net: fec: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set()
  net: fec: delete fec_ptp_disable_hwts()
  net: sparx5: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set()
  net: lan966x: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set()
  net: transfer rtnl_lock() requirement from
    ethtool_set_ethtool_phy_ops() to caller
  net: phy: provide phylib stubs for hardware timestamping operations
  net: remove phy_has_hwtstamp() -> phy_mii_ioctl() decision from
    converted drivers

 MAINTAINERS                                   |   1 +
 drivers/net/bonding/bond_main.c               | 105 ++++++----
 drivers/net/ethernet/freescale/fec.h          |   6 +-
 drivers/net/ethernet/freescale/fec_main.c     |  62 +++---
 drivers/net/ethernet/freescale/fec_ptp.c      |  43 ++--
 .../ethernet/microchip/lan966x/lan966x_main.c |  58 +++---
 .../ethernet/microchip/lan966x/lan966x_main.h |  12 +-
 .../ethernet/microchip/lan966x/lan966x_ptp.c  |  34 ++--
 .../ethernet/microchip/sparx5/sparx5_main.h   |   9 +-
 .../ethernet/microchip/sparx5/sparx5_netdev.c |  35 ++--
 .../ethernet/microchip/sparx5/sparx5_ptp.c    |  24 ++-
 drivers/net/macvlan.c                         |  34 ++--
 drivers/net/phy/Makefile                      |   2 +
 drivers/net/phy/phy.c                         |  34 ++++
 drivers/net/phy/phy_device.c                  |  26 +++
 drivers/net/phy/stubs.c                       |  10 +
 include/linux/net_tstamp.h                    |  30 +++
 include/linux/netdevice.h                     |  25 +++
 include/linux/phy.h                           |   7 +
 include/linux/phylib_stubs.h                  |  68 +++++++
 net/8021q/vlan_dev.c                          |  27 ++-
 net/core/dev_ioctl.c                          | 184 +++++++++++++++++-
 net/ethtool/common.c                          |   3 +-
 23 files changed, 630 insertions(+), 209 deletions(-)
 create mode 100644 drivers/net/phy/stubs.c
 create mode 100644 include/linux/phylib_stubs.h

Comments

patchwork-bot+netdevbpf@kernel.org Aug. 3, 2023, 2:30 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue,  1 Aug 2023 17:28:12 +0300 you wrote:
> Based on previous RFCs from Maxim Georgiev:
> https://lore.kernel.org/netdev/20230502043150.17097-1-glipus@gmail.com/
> 
> this series attempts to introduce new API for the hardware timestamping
> control path (SIOCGHWTSTAMP and SIOCSHWTSTAMP handling).
> 
> I don't have any board with phylib hardware timestamping, so I would
> appreciate testing (especially on lan966x, the most intricate
> conversion). I was, however, able to test netdev level timestamping,
> because I also have some more unsubmitted conversions in progress:
> 
> [...]

Here is the summary with links:
  - [v9,net-next,01/12] net: add NDOs for configuring hardware timestamping
    https://git.kernel.org/netdev/net-next/c/66f7223039c0
  - [v9,net-next,02/12] net: add hwtstamping helpers for stackable net devices
    https://git.kernel.org/netdev/net-next/c/e47d01fea663
  - [v9,net-next,03/12] net: vlan: convert to ndo_hwtstamp_get() / ndo_hwtstamp_set()
    https://git.kernel.org/netdev/net-next/c/65c9fde15a65
  - [v9,net-next,04/12] net: macvlan: convert to ndo_hwtstamp_get() / ndo_hwtstamp_set()
    https://git.kernel.org/netdev/net-next/c/0bca3f7f9acd
  - [v9,net-next,05/12] net: bonding: convert to ndo_hwtstamp_get() / ndo_hwtstamp_set()
    https://git.kernel.org/netdev/net-next/c/c0dabeb4c666
  - [v9,net-next,06/12] net: fec: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set()
    https://git.kernel.org/netdev/net-next/c/ef5eb9c5ce45
  - [v9,net-next,07/12] net: fec: delete fec_ptp_disable_hwts()
    https://git.kernel.org/netdev/net-next/c/547b006d1922
  - [v9,net-next,08/12] net: sparx5: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set()
    https://git.kernel.org/netdev/net-next/c/7bdde44463b2
  - [v9,net-next,09/12] net: lan966x: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set()
    https://git.kernel.org/netdev/net-next/c/54e1ed69c40a
  - [v9,net-next,10/12] net: transfer rtnl_lock() requirement from ethtool_set_ethtool_phy_ops() to caller
    https://git.kernel.org/netdev/net-next/c/70ef7d87f62a
  - [v9,net-next,11/12] net: phy: provide phylib stubs for hardware timestamping operations
    https://git.kernel.org/netdev/net-next/c/60495b6622ca
  - [v9,net-next,12/12] net: remove phy_has_hwtstamp() -> phy_mii_ioctl() decision from converted drivers
    https://git.kernel.org/netdev/net-next/c/fd770e856e22

You are awesome, thank you!