All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Köry Maincent" <kory.maincent@bootlin.com>
To: Andrew Lunn <andrew@lunn.ch>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-omap@vger.kernel.org
Cc: Michael Walle <michael@walle.cc>,
	Maxime Chevallier <maxime.chevallier@bootlin.com>,
	Kory Maincent <kory.maincent@bootlin.com>,
	thomas.petazzoni@bootlin.com,
	Russell King <linux@armlinux.org.uk>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Jay Vosburgh <j.vosburgh@gmail.com>,
	Veaceslav Falico <vfalico@gmail.com>,
	Andy Gospodarek <andy@greyhouse.net>,
	Joakim Zhang <qiangqing.zhang@nxp.com>,
	Vladimir Oltean <vladimir.oltean@nxp.com>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	UNGLinuxDriver@microchip.com,
	Grygorii Strashko <grygorii.strashko@ti.com>,
	Richard Cochran <richardcochran@gmail.com>,
	Minghao Chi <chi.minghao@zte.com.cn>,
	Jie Wang <wangjie125@huawei.com>,
	Guangbin Huang <huangguangbin2@huawei.com>,
	Oleksij Rempel <linux@rempel-privat.de>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	Sean Anderson <sean.anderson@seco.com>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Alexandru Tachici <alexandru.tachici@analog.com>,
	Sasha Levin <sashal@kernel.org>, Marco Bonelli <marco@mebeim.net>,
	Maxim Korotkov <korotkov.maxim.s@gmail.com>
Subject: [PATCH v3 0/5] net: Make MAC/PHY time stamping selectable
Date: Wed,  8 Mar 2023 14:59:24 +0100	[thread overview]
Message-ID: <20230308135936.761794-1-kory.maincent@bootlin.com> (raw)

From: Kory Maincent <kory.maincent@bootlin.com>

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


             reply	other threads:[~2023-03-08 14:01 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-08 13:59 Köry Maincent [this message]
2023-03-08 13:59 ` [PATCH v3 1/5] net: ethtool: Refactor identical get_ts_info implementations Köry Maincent
2023-03-08 13:59 ` [PATCH v3 2/5] net: Expose available time stamping layers to user space Köry Maincent
2023-03-08 22:54   ` Vladimir Oltean
2023-03-08 13:59 ` [PATCH v3 3/5] net: Let the active time stamping layer be selectable Köry Maincent
2023-03-08 15:28   ` Willem de Bruijn
2023-03-10 14:41     ` Köry Maincent
2023-03-10 14:59       ` Willem de Bruijn
2023-03-10 15:32         ` Andrew Lunn
2023-03-08 18:26   ` kernel test robot
2023-03-08 23:03   ` Vladimir Oltean
2023-03-10 10:48     ` Köry Maincent
2023-03-10 11:35       ` Vladimir Oltean
2023-03-10 12:15         ` Michael Walle
2023-03-10 13:15           ` Horatiu Vultur
2023-03-10 13:34             ` Michael Walle
2023-03-10 14:04               ` Köry Maincent
2023-03-10 15:05                 ` Richard Cochran
2023-03-10 15:24                 ` Andrew Lunn
2023-03-10 16:06               ` Vladimir Oltean
2023-03-10 20:48                 ` Michael Walle
2023-03-10 16:44             ` Vladimir Oltean
2023-03-13  8:17               ` Horatiu Vultur
2023-03-13  8:40               ` Oleksij Rempel
2023-03-14 11:02                 ` Köry Maincent
2023-03-16 15:09                 ` Köry Maincent
2023-03-17 15:21                   ` Vladimir Oltean
2023-03-17 19:07                     ` Jakub Kicinski
2023-03-17 19:43                       ` Max Georgiev
2023-03-30 12:38                         ` Köry Maincent
2023-03-30 16:26                           ` Jakub Kicinski
2023-03-31  5:05                             ` Max Georgiev
2023-03-31  5:07                               ` Max Georgiev
2023-04-02 17:12                           ` Vladimir Oltean
2023-04-03  9:27                             ` Köry Maincent
2023-03-18  3:38                     ` Richard Cochran
2023-03-18  4:03                       ` Jakub Kicinski
2023-03-18 11:54                         ` Vladimir Oltean
2023-03-24 10:25         ` Maxime Chevallier
2023-04-02 17:36           ` Vladimir Oltean
2023-03-09  6:13   ` kernel test robot
2023-03-09 17:33   ` kernel test robot
2023-03-08 13:59 ` [PATCH v3 4/5] net: fix up drivers WRT phy time stamping Köry Maincent
2023-03-08 13:59 ` [PATCH v3 5/5] dt-bindings: net: phy: add timestamp preferred choice property Köry Maincent

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=20230308135936.761794-1-kory.maincent@bootlin.com \
    --to=kory.maincent@bootlin.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=alexandru.tachici@analog.com \
    --cc=andrew@lunn.ch \
    --cc=andy@greyhouse.net \
    --cc=chi.minghao@zte.com.cn \
    --cc=claudiu.manoil@nxp.com \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=grygorii.strashko@ti.com \
    --cc=gustavoars@kernel.org \
    --cc=hkallweit1@gmail.com \
    --cc=huangguangbin2@huawei.com \
    --cc=j.vosburgh@gmail.com \
    --cc=korotkov.maxim.s@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linux@rempel-privat.de \
    --cc=marco@mebeim.net \
    --cc=maxime.chevallier@bootlin.com \
    --cc=michael@walle.cc \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=qiangqing.zhang@nxp.com \
    --cc=richardcochran@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=sashal@kernel.org \
    --cc=sean.anderson@seco.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=vfalico@gmail.com \
    --cc=vladimir.oltean@nxp.com \
    --cc=wangjie125@huawei.com \
    --cc=wsa+renesas@sang-engineering.com \
    /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.