e1000e: Adds hardware supported cross timestamp on e1000e nic
authorChristopher S. Hall <christopher.s.hall@intel.com>
Mon, 22 Feb 2016 11:15:26 +0000 (03:15 -0800)
committerJohn Stultz <john.stultz@linaro.org>
Thu, 3 Mar 2016 22:28:46 +0000 (14:28 -0800)
commit01d7ada57ee9c735bd71fbe44ec0bcb70847afd4
treeee2a3cf1a7d13d36dc87b5eaa736a3652b4f47b0
parent719f1aa4a67199a3c4c68a03f94e5ec44d9d5f82
e1000e: Adds hardware supported cross timestamp on e1000e nic

Modern Intel systems supports cross timestamping of the network device
clock and Always Running Timer (ART) in hardware.  This allows the
device time and system time to be precisely correlated. The timestamp
pair is returned through e1000e_phc_get_syncdevicetime() used by
get_system_device_crosststamp().  The hardware cross-timestamp result
is made available to applications through the PTP_SYS_OFFSET_PRECISE
ioctl which calls e1000e_phc_getcrosststamp().

Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: kevin.b.stanton@intel.com
Cc: kevin.j.clarke@intel.com
Cc: hpa@zytor.com
Cc: jeffrey.t.kirsher@intel.com
Cc: netdev@vger.kernel.org
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Christopher S. Hall <christopher.s.hall@intel.com>
[jstultz: Reworked to use new interface, commit message tweaks]
Signed-off-by: John Stultz <john.stultz@linaro.org>
drivers/net/ethernet/intel/Kconfig
drivers/net/ethernet/intel/e1000e/defines.h
drivers/net/ethernet/intel/e1000e/ptp.c
drivers/net/ethernet/intel/e1000e/regs.h