igb: fix adjusting PTP timestamps for Tx/Rx latency
authorKshitiz Gupta <kshitiz.gupta@ni.com>
Sat, 16 Jul 2016 07:23:45 +0000 (02:23 -0500)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 16 Aug 2016 17:32:59 +0000 (10:32 -0700)
commit0066c8b6f4050d7c57f6379d6fd4535e2f267f17
treeabdad4138d3ee1495bbd197a6ae613f3363d5e8f
parenta1560dd7a47f983419760aa7f6a481e3b910b54b
igb: fix adjusting PTP timestamps for Tx/Rx latency

Fix PHY delay compensation math in igb_ptp_tx_hwtstamp() and
igb_ptp_rx_rgtstamp. Add PHY delay compensation in
igb_ptp_rx_pktstamp().

In the IGB driver, there are two functions that retrieve timestamps
received by the PHY - igb_ptp_rx_rgtstamp() and igb_ptp_rx_pktstamp().
The previous commit only changed igb_ptp_rx_rgtstamp(), and the change
was incorrect.

There are two instances in which PHY delay compensations should be
made:

- Before the packet transmission over the PHY, the latency between
  when the packet is timestamped and transmission of the packets,
  should be an add operation, but it is currently a subtract.

- After the packets are received from the PHY, the latency between
  the receiving and timestamping of the packets should be a subtract
  operation, but it is currently an add.

Signed-off-by: Kshitiz Gupta <kshitiz.gupta@ni.com>
Fixes: 3f544d2 (igb: adjust ptp timestamps for tx/rx latency)
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_ptp.c