[PATCH v3 0/5] net: Make MAC/PHY time stamping selectable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Kory Maincent <kory.maincent@xxxxxxxxxxx>

Up until now, there was no way to let the user select the layer at
which time stamping occurs.  The stack assumed that PHY time stamping
is always preferred, but some MAC/PHY combinations were buggy.

This series aims to allow the user to select the desired layer
administratively.

- Patch 1 refactors get_ts_info copy/paste code.

- Patch 2 introduces sysfs files that reflect the current, static
  preference of PHY over MAC.

- Patch 3 makes the layer selectable at run time.

- Patch 4 fixes up MAC drivers that attempt to defer to the PHY layer.
  This patch is broken out for review, but it will eventually be
  squashed into Patch 3 after comments come in.

Changes in v2:
- Move selected_timestamping_layer variable of the concerned patch.
- Use sysfs_streq instead of strmcmp.
- Use the PHY timestamp only if available.

Changes in v3:
- Expose the PTP choice to ethtool instead of sysfs.
  You can test it with the ethtool source on branch feature_ptp of:
  https://github.com/kmaincent/ethtool
- Added a devicetree binding to select the preferred timestamp.

Kory Maincent (2):
  net: Expose available time stamping layers to user space.
  dt-bindings: net: phy: add timestamp preferred choice property

Richard Cochran (3):
  net: ethtool: Refactor identical get_ts_info implementations.
  net: Let the active time stamping layer be selectable.
  net: fix up drivers WRT phy time stamping

 .../devicetree/bindings/net/ethernet-phy.yaml |  7 ++
 Documentation/networking/ethtool-netlink.rst  |  3 +
 drivers/net/bonding/bond_main.c               | 14 +---
 drivers/net/ethernet/freescale/fec_main.c     | 23 +++---
 drivers/net/ethernet/mscc/ocelot_net.c        | 21 +++---
 drivers/net/ethernet/ti/cpsw_priv.c           | 12 ++--
 drivers/net/ethernet/ti/netcp_ethss.c         | 26 ++-----
 drivers/net/macvlan.c                         | 14 +---
 drivers/net/phy/phy_device.c                  | 34 +++++++++
 include/linux/ethtool.h                       |  8 +++
 include/linux/netdevice.h                     |  6 ++
 include/uapi/linux/ethtool.h                  |  3 +
 include/uapi/linux/net_tstamp.h               |  6 ++
 net/8021q/vlan_dev.c                          | 15 +---
 net/core/dev_ioctl.c                          | 43 ++++++++++-
 net/core/timestamping.c                       |  6 ++
 net/ethtool/common.c                          | 22 ++++--
 net/ethtool/ioctl.c                           | 71 +++++++++++++++++++
 18 files changed, 237 insertions(+), 97 deletions(-)

-- 
2.25.1




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux