net/mlx5e: Add PTP Hardware Clock (PHC) support
authorEran Ben Elisha <eranbe@mellanox.com>
Tue, 29 Dec 2015 12:58:32 +0000 (14:58 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Jan 2016 19:11:50 +0000 (14:11 -0500)
commit3d8c38af149309feb2541b995b3a45df170d6da3
treeda57592cc23e5b7ff6a640a0173a30f373a6e5ba
parentef9814deafd0c83a358d49e3709c3e16cc352118
net/mlx5e: Add PTP Hardware Clock (PHC) support

Add a PHC support to the mlx5_en driver. Use reader/writer spinlocks to
protect the timecounter since every packet received needs to call
timecounter_cycle2time() when timestamping is enabled.  This can become
a performance bottleneck with RSS and multiple receive queues if normal
spinlocks are used.

The driver has been tested with both Documentation/ptp/testptp and the
linuxptp project (http://linuxptp.sourceforge.net/) on a Mellanox
ConnectX-4 card.

Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Cc: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/Kconfig
drivers/net/ethernet/mellanox/mlx5/core/en.h
drivers/net/ethernet/mellanox/mlx5/core/en_clock.c
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c