infiniband: cxgb4: use ktime_get for timestamps
authorArnd Bergmann <arnd@arndb.de>
Mon, 27 Nov 2017 11:44:53 +0000 (12:44 +0100)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 13 Dec 2017 18:00:13 +0000 (11:00 -0700)
commitf8109d9e7de550a28d620144b0fe31e661e02bcb
treec8b414fd3b14457dad2a96178460ecd3f5920d10
parent302d6424e4a293a5761997e6c9fc3dfb1e4c355f
infiniband: cxgb4: use ktime_get for timestamps

The debugfs file prints the difference between host timestamps as a
seconds/nanoseconds tuple, along with a 64-bit nanoseconds hardware
timestamp. The host time is read using getnstimeofday() which is
deprecated because of the y2038 overflow, and it suffers from time jumps
during settimeofday() and leap seconds.

Converting to ktime_get_ts64() would solve those two, but I'm going
a little further here by changing to ktime_get() and printing 64-bit
nanoseconds on both host and hw timestamps.  This simplifies the code
further and makes the output easier to understand.

The format of the debugfs file obviously changes here, but this should
only be read by humans and not scripts, so I assume it's fine.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/cxgb4/device.c
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
drivers/infiniband/hw/cxgb4/qp.c
drivers/infiniband/hw/cxgb4/t4.h