Skip to content

ptp: get ready for 2038

Richard Cochran lkml netdev 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest23 patches 11 repliesIn review
  2. v223 patches 16 repliesSuperseded
  3. v1 RFC22 patches 1 replySuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/23ptp: introduce get/set time methods with explicit 64 bit seconds.include/linux/ptp_clock_kernel.h+10 -20 replies
2/23ptp: use the 64 bit gettime method for the SYS_OFFSET ioctl.drivers/ptp/ptp_chardev.c+10 -40 replies
3/23ptp: use the 64 bit get/set time methods for the posix clock.drivers/ptp/ptp_clock.c+17 -20 replies
4/23ptp: blackfin: convert to the 64 bit get/set time methods.drivers/net/ethernet/adi/bfin_mac.c+4 -40 replies
5/23ptp: xgbe: convert to the 64 bit get/set time methods.drivers/net/ethernet/amd/xgbe/xgbe-ptp.c+7 -60 replies
6/23ptp: bnx2x: convert to the 64 bit get/set time methods.drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c+4 -41 reply
7/23ptp: tg3: convert to the 64 bit get/set time methods.drivers/net/ethernet/broadcom/tg3.c+5 -50 replies
8/23ptp: fec: convert to the 64 bit get/set time methods.drivers/net/ethernet/freescale/fec_ptp.c+4 -40 replies
9/23ptp: gianfar: convert to the 64 bit get/set time methods.drivers/net/ethernet/freescale/gianfar_ptp.c+7 -60 replies
10/23ptp: e1000e: convert to the 64 bit get/set time methods.drivers/net/ethernet/intel/e1000e/ptp.c+8 -82 replies
11/23ptp: fm10k: convert to the 64 bit get/set time methods.drivers/net/ethernet/intel/fm10k/fm10k_ptp.c+6 -60 replies
12/23ptp: i40e: convert to the 64 bit get/set time methods.drivers/net/ethernet/intel/i40e/i40e_ptp.c+13 -130 replies
13/23ptp: igb: convert to the 64 bit get/set time methods.drivers/net/ethernet/intel/igb/igb_ptp.c+21 -206 replies
14/23ptp: ixgbe: convert to the 64 bit get/set time methods.drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c+7 -70 replies
15/23ptp: mlx4: convert to the 64 bit get/set time methods.drivers/net/ethernet/mellanox/mlx4/en_clock.c+6 -50 replies
16/23ptp: sfc: convert to the 64 bit get/set time methods.drivers/net/ethernet/sfc/ptp.c+11 -110 replies
17/23ptp: stmmac: convert to the 64 bit get/set time methods.drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c+4 -40 replies
18/23ptp: cpts: convert to the 64 bit get/set time methods.drivers/net/ethernet/ti/cpts.c+6 -60 replies
19/23ptp: tilegx: convert to the 64 bit get/set time methods.arch/tile/gxio/mpipe.c arch/tile/include/gxio/mpipe.h drivers/net/ethernet/tile/tilegx.c+9 -81 reply
20/23ptp: dp83640: convert to the 64 bit get/set time methods.drivers/net/phy/dp83640.c+10 -90 replies
21/23ptp: ixp46x: convert to the 64 bit get/set time methods.drivers/ptp/ptp_ixp46x.c+4 -40 replies
22/23ptp: pch: convert to the 64 bit get/set time methods.drivers/ptp/ptp_pch.c+4 -40 replies
23/23ptp: remove 32 bit get/set methods.drivers/ptp/ptp_chardev.c drivers/ptp/ptp_clock.c include/linux/ptp_clock_kernel.h+5 -260 replies

Reviews trailers per patch

7 of 23 patches have a Reviewed-by or Acked-by.

PatchJeff KirsherChris MetcalfSony Chacko
1/23
2/23
3/23
4/23
5/23
6/23A-b
7/23
8/23
9/23
10/23A-b
11/23A-b
12/23A-b
13/23A-b
14/23A-b
15/23
16/23
17/23
18/23
19/23A-b
20/23
21/23
22/23
23/23

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v3 thread

Cover letter [PATCH net-next V3 00/23] ptp: get ready for 2038

This series converts the core driver methods of the PTP Hardware Clock (PHC) subsystem to use the 64 bit version of the timespec structure, making the core API ready for the year 2038.

In addition, I reviewed how each driver and device represents the time value at the hardware register level. Most of the drivers are ready, but a few will need some work before the year 2038, as shown:

Patch Driver
------------------------------------------------

   12      drivers/net/ethernet/intel/igb/igb_ptp.c
   15 ?    drivers/net/ethernet/sfc/ptp.c
   16      drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c

The commit log messages document how each driver is ready or why it is not ready. For patch 15, I could not easily find out the hardware representation of the time value, and so the SFC maintainers will have to review their low level code in order to resolve any remaining issues.

Thanks,
Richard

* ChangeLog
** V3
- dp83640: use timespec64 throughout per Arnd's suggestion
- tilegx: use timespec64 throughout per Chris' suggestion
- add Jeff's acked-bys
** V2
- use the new methods in the posix clock code right away (patch #3)

Richard Cochran (23):
ptp: introduce get/set time methods with explicit 64 bit seconds.
ptp: use the 64 bit gettime method for the SYS_OFFSET ioctl.
ptp: use the 64 bit get/set time methods for the posix clock.
ptp: blackfin: convert to the 64 bit get/set time methods.
ptp: xgbe: convert to the 64 bit get/set time methods.
ptp: bnx2x: convert to the 64 bit get/set time methods.
ptp: tg3: convert to the 64 bit get/set time methods.
ptp: fec: convert to the 64 bit get/set time methods.
ptp: gianfar: convert to the 64 bit get/set time methods.
ptp: e1000e: convert to the 64 bit get/set time methods.
ptp: fm10k: convert to the 64 bit get/set time methods.
ptp: i40e: convert to the 64 bit get/set time methods.
ptp: igb: convert to the 64 bit get/set time methods.
ptp: ixgbe: convert to the 64 bit get/set time methods.
ptp: mlx4: convert to the 64 bit get/set time methods.
ptp: sfc: convert to the 64 bit get/set time methods.
ptp: stmmac: convert to the 64 bit get/set time methods.
ptp: cpts: convert to the 64 bit get/set time methods.
ptp: tilegx: convert to the 64 bit get/set time methods.
ptp: dp83640: convert to the 64 bit get/set time methods.
ptp: ixp46x: convert to the 64 bit get/set time methods.
ptp: pch: convert to the 64 bit get/set time methods.
ptp: remove 32 bit get/set methods.

 arch/tile/gxio/mpipe.c                           |    4 +--
 arch/tile/include/gxio/mpipe.h                   |    4 +--
 drivers/net/ethernet/adi/bfin_mac.c              |    8 ++---
 drivers/net/ethernet/amd/xgbe/xgbe-ptp.c         |   13 +++----
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c |    8 ++---
 drivers/net/ethernet/broadcom/tg3.c              |   10 +++---
 drivers/net/ethernet/freescale/fec_ptp.c         |    8 ++---
 drivers/net/ethernet/freescale/gianfar_ptp.c     |   13 +++----
 drivers/net/ethernet/intel/e1000e/ptp.c          |   16 ++++-----
 drivers/net/ethernet/intel/fm10k/fm10k_ptp.c     |   12 +++----
 drivers/net/ethernet/intel/i40e/i40e_ptp.c       |   26 +++++++-------
 drivers/net/ethernet/intel/igb/igb_ptp.c         |   41 +++++++++++-----------
 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c     |   14 ++++----
 drivers/net/ethernet/mellanox/mlx4/en_clock.c    |   11 +++---
 drivers/net/ethernet/sfc/ptp.c                   |   22 ++++++------
 drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c |    8 ++---
 drivers/net/ethernet/ti/cpts.c                   |   12 +++----
 drivers/net/ethernet/tile/tilegx.c               |    9 ++---
 drivers/net/phy/dp83640.c                        |   19 +++++-----
 drivers/ptp/ptp_chardev.c                        |    8 ++---
 drivers/ptp/ptp_clock.c                          |   12 +++++--
 drivers/ptp/ptp_ixp46x.c                         |    8 ++---
 drivers/ptp/ptp_pch.c                            |    8 ++---
 include/linux/ptp_clock_kernel.h                 |   12 +++----
 24 files changed, 160 insertions(+), 146 deletions(-)
Signature · 1 line
1.7.10.4