From: Richard Cochran <richardcochran@gmail.com>
To: <netdev@vger.kernel.org>
Cc: David Miller <davem@davemloft.net>,
Ben Hutchings <bhutchings@solarflare.com>,
Martin Porter <mporter@solarflare.com>,
Jacob Keller <jacob.e.keller@intel.com>,
Jeff Kirsher <jeffrey.t.kirsher@intel.com>,
John Ronciak <john.ronciak@intel.com>,
e1000-devel@lists.sourceforge.net
Subject: [PATCH V4 net-next 00/26] ethtool: support time stamping and phc clocks
Date: Wed, 4 Apr 2012 10:59:15 +0200 [thread overview]
Message-ID: <cover.1333529504.git.richardcochran@gmail.com> (raw)
* Changes in V4:
- drop two patches requiring out of tree support
- added Ben's Reviewed-by tag on two commit messages
* Changes in V3:
- works without ethtool_ops
- does not require special privileges
- neaten user space tool output
Support for SO_TIMESTAMPING of network packets and PTP Hardware Clocks
has been expanding over the last year or two. In an ideal world, every
host would have exactly one PTP hardware clock, and every Ethernet MAC
would support SO_TIMESTAMPING on both the transmit and receive paths.
However, since we do not yet have full coverage for these features,
user space programs need a way to discover what a given interface
supports in these two areas.
* PTP Hardware Clocks
The relationship between the network interfaces and the (possibly
multiple) PHC devices is not discoverable except by knowing what
hardware you have got and carefully looking into the kernel log.
* SO_TIMESTAMPING
- Receive software time stamps are implemented in the stack
and thus work for all MAC hardware.
- Transmit software time stamps are only supported by a dozen
drivers or so.
- Some special devices support Tx/Rx time stamping in hardware.
- None of this is discoverable except by looking into the kernel
sources.
This series exposes the hardware and driver capabilities known to user
space via ethtool.
Since the PHC code was first merged, this has become the number one
requested new feature.
The new feature has been tested on the following hardware:
igb Hardware time stamping in the MAC (but patch awaits out of tree support)
dp83640 Hardware time stamping in the PHY
r8169 Software Tx time stamping in the MAC
Thanks,
Richard
Richard Cochran (26):
phc: Add a method for obtaining the device index.
ethtool: Introduce a method for getting time stamping capabilities.
dp83640: Support the get_ts_info ethtool method.
gianfar: Support the get_ts_info ethtool method.
bfin_mac: Support the get_ts_info ethtool method.
ixp4xx_eth: Support the get_ts_info ethtool method.
ethtool: Add a common function for drivers with transmit time
stamping.
ax88796: Support the get_ts_info ethtool method.
davinci_emac: Support the get_ts_info ethtool method.
dnet: Support the get_ts_info ethtool method.
etherh: Support the get_ts_info ethtool method.
fec_mpc52xx: Support the get_ts_info ethtool method.
fec: Support the get_ts_info ethtool method.
fs_enet: Support the get_ts_info ethtool method.
ll_temac: Support the get_ts_info ethtool method.
macb: Support the get_ts_info ethtool method.
mv643xx_eth: Support the get_ts_info ethtool method.
pxa168_eth: Support the get_ts_info ethtool method.
r6040: Support the get_ts_info ethtool method.
r8169: Support the get_ts_info ethtool method.
smsc911x: Support the get_ts_info ethtool method.
smsc9420: Support the get_ts_info ethtool method.
stmmac: Support the get_ts_info ethtool method.
tg3: Support the get_ts_info ethtool method.
ucc_geth: Support the get_ts_info ethtool method.
usbnet: Support the get_ts_info ethtool method.
arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h | 3 +
drivers/net/ethernet/8390/ax88796.c | 1 +
drivers/net/ethernet/8390/etherh.c | 1 +
drivers/net/ethernet/adi/bfin_mac.c | 20 +++++++
drivers/net/ethernet/broadcom/tg3.c | 1 +
drivers/net/ethernet/cadence/macb.c | 1 +
drivers/net/ethernet/dnet.c | 1 +
drivers/net/ethernet/freescale/fec.c | 1 +
drivers/net/ethernet/freescale/fec_mpc52xx.c | 1 +
.../net/ethernet/freescale/fs_enet/fs_enet-main.c | 1 +
drivers/net/ethernet/freescale/gianfar.h | 3 +
drivers/net/ethernet/freescale/gianfar_ethtool.c | 29 ++++++++++
drivers/net/ethernet/freescale/gianfar_ptp.c | 2 +
drivers/net/ethernet/freescale/ucc_geth_ethtool.c | 1 +
drivers/net/ethernet/marvell/mv643xx_eth.c | 1 +
drivers/net/ethernet/marvell/pxa168_eth.c | 1 +
drivers/net/ethernet/rdc/r6040.c | 1 +
drivers/net/ethernet/realtek/r8169.c | 1 +
drivers/net/ethernet/smsc/smsc911x.c | 1 +
drivers/net/ethernet/smsc/smsc9420.c | 1 +
.../net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 1 +
drivers/net/ethernet/ti/davinci_emac.c | 1 +
drivers/net/ethernet/xilinx/ll_temac_main.c | 1 +
drivers/net/ethernet/xscale/ixp4xx_eth.c | 29 ++++++++++
drivers/net/phy/dp83640.c | 31 ++++++++++
drivers/net/usb/usbnet.c | 1 +
drivers/ptp/ptp_clock.c | 6 ++
drivers/ptp/ptp_ixp46x.c | 3 +
include/linux/ethtool.h | 29 ++++++++++
include/linux/phy.h | 3 +
include/linux/ptp_clock_kernel.h | 8 +++
net/core/ethtool.c | 59 +++++++++++++++++++-
32 files changed, 241 insertions(+), 3 deletions(-)
--
1.7.2.5
next reply other threads:[~2012-04-04 8:59 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-04 8:59 Richard Cochran [this message]
2012-04-04 8:59 ` [PATCH V4 net-next 01/26] phc: Add a method for obtaining the device index Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 02/26] ethtool: Introduce a method for getting time stamping capabilities Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 03/26] dp83640: Support the get_ts_info ethtool method Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 04/26] gianfar: " Richard Cochran
2012-04-06 4:25 ` Paul Gortmaker
2012-04-06 4:35 ` David Miller
2012-04-04 8:59 ` [PATCH V4 net-next 05/26] bfin_mac: " Richard Cochran
2012-04-06 4:08 ` Paul Gortmaker
2012-04-06 4:18 ` David Miller
2012-04-06 7:04 ` Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 06/26] ixp4xx_eth: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 07/26] ethtool: Add a common function for drivers with transmit time stamping Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 08/26] ax88796: Support the get_ts_info ethtool method Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 09/26] davinci_emac: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 10/26] dnet: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 11/26] etherh: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 12/26] fec_mpc52xx: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 13/26] fec: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 14/26] fs_enet: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 15/26] ll_temac: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 16/26] macb: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 17/26] mv643xx_eth: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 18/26] pxa168_eth: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 19/26] r6040: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 20/26] r8169: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 21/26] smsc911x: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 22/26] smsc9420: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 23/26] stmmac: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 24/26] tg3: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 25/26] ucc_geth: " Richard Cochran
2012-04-04 8:59 ` [PATCH V4 net-next 26/26] usbnet: " Richard Cochran
2012-04-04 9:29 ` [PATCH V4 net-next 00/26] ethtool: support time stamping and phc clocks David Miller
2012-04-04 10:02 ` Jeff Kirsher
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=cover.1333529504.git.richardcochran@gmail.com \
--to=richardcochran@gmail.com \
--cc=bhutchings@solarflare.com \
--cc=davem@davemloft.net \
--cc=e1000-devel@lists.sourceforge.net \
--cc=jacob.e.keller@intel.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=john.ronciak@intel.com \
--cc=mporter@solarflare.com \
--cc=netdev@vger.kernel.org \
/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 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).