linux/drivers/net/ethernet/sfc
Alex Maftei (amaftei) 23797b9890 sfc: fix timestamp reconstruction at 16-bit rollover points
We can't just use the top bits of the last sync event as they could be
off-by-one every 65,536 seconds, giving an error in reconstruction of
65,536 seconds.

This patch uses the difference in the bottom 16 bits (mod 2^16) to
calculate an offset that needs to be applied to the last sync event to
get to the current time.

Signed-off-by: Alexandru-Mihai Maftei <amaftei@solarflare.com>
Acked-by: Martin Habets <mhabets@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-02-27 12:04:49 -08:00
..
falcon Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
Kconfig sfc: Remove unnecessary dependencies on I2C 2020-01-02 16:23:18 -08:00
Makefile sfc: move mcdi filtering code 2020-01-27 13:05:43 +01:00
bitfield.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ef10.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
ef10_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ef10_sriov.c sfc: avoid duplicate error handling code in 'efx_ef10_sriov_set_vf_mac()' 2019-12-30 17:52:21 -08:00
ef10_sriov.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
efx.c sfc: remove duplicated include from efx.c 2020-01-16 10:06:18 +01:00
efx.h sfc: move RPS code 2020-01-10 11:24:37 -08:00
efx_channels.c sfc: conditioned some functionality 2020-01-09 10:58:35 -08:00
efx_channels.h sfc: add new headers in preparation for code split 2020-01-08 13:28:02 -08:00
efx_common.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
efx_common.h sfc: move yet more functions 2020-01-10 11:24:37 -08:00
enum.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ethtool.c sfc: move RPS code 2020-01-10 11:24:37 -08:00
ethtool_common.c sfc/ethtool_common: Make some function to static 2020-01-13 06:00:43 -08:00
ethtool_common.h sfc: move some ethtool code 2020-01-10 11:24:37 -08:00
farch.c sfc: add new headers in preparation for code split 2020-01-08 13:28:02 -08:00
farch_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
filter.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
io.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mcdi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mcdi.h sfc: move various functions 2020-01-10 11:24:37 -08:00
mcdi_filters.c sfc: move mcdi filtering code 2020-01-27 13:05:43 +01:00
mcdi_filters.h sfc: create header for mcdi filtering code 2020-01-27 13:05:43 +01:00
mcdi_functions.c sfc: remove set but not used variable 'nic_data' 2020-01-10 23:15:28 -08:00
mcdi_functions.h sfc: move yet more functions 2020-01-10 11:24:37 -08:00
mcdi_mon.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mcdi_pcol.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mcdi_port.c sfc: move a couple more functions 2020-01-10 11:24:37 -08:00
mcdi_port_common.c sfc: move a couple more functions 2020-01-10 11:24:37 -08:00
mcdi_port_common.h sfc: move a couple more functions 2020-01-10 11:24:37 -08:00
mtd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
net_driver.h sfc: move RPS code 2020-01-10 11:24:37 -08:00
nic.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
nic.h sfc: add new headers in preparation for code split 2020-01-08 13:28:02 -08:00
ptp.c sfc: fix timestamp reconstruction at 16-bit rollover points 2020-02-27 12:04:49 -08:00
rx.c sfc: move RPS code 2020-01-10 11:24:37 -08:00
rx_common.c sfc: move RPS code 2020-01-10 11:24:37 -08:00
rx_common.h sfc: move RPS code 2020-01-10 11:24:37 -08:00
selftest.c sfc: refactor selftest work init code 2020-01-10 11:24:37 -08:00
selftest.h sfc: refactor selftest work init code 2020-01-10 11:24:37 -08:00
siena.c sfc: move various functions 2020-01-10 11:24:37 -08:00
siena_sriov.c sfc: move channel alloc/removal code 2020-01-08 13:28:03 -08:00
siena_sriov.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sriov.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sriov.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tx.c sfc: move a couple more functions 2020-01-10 11:24:37 -08:00
tx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tx_common.c sfc: move a couple more functions 2020-01-10 11:24:37 -08:00
tx_common.h sfc: move a couple more functions 2020-01-10 11:24:37 -08:00
tx_tso.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
vfdi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
workarounds.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00