From: Leon Romanovsky <leonro@xxxxxxxxxx> In case device supports only real-time timestamp, the kernel will fail to create QP despite rdma-core requested such timestamp type. It is because device returns free-running timestamp, and the conversion from free-running to real-time is performed in the user space. This series fixes it, by returning real-time timestamp. Thanks Aharon Landau (2): RDMA/mlx5: Refactor get_ts_format functions to simplify code RDMA/mlx5: Support real-time timestamp directly from the device drivers/infiniband/hw/mlx5/cq.c | 6 +- drivers/infiniband/hw/mlx5/main.c | 6 ++ drivers/infiniband/hw/mlx5/mlx5_ib.h | 7 ++ drivers/infiniband/hw/mlx5/qp.c | 102 ++++++++++-------- .../net/ethernet/mellanox/mlx5/core/en_main.c | 8 +- .../ethernet/mellanox/mlx5/core/lib/clock.h | 10 +- include/linux/mlx5/mlx5_ifc.h | 36 ++----- include/linux/mlx5/qp.h | 4 +- include/uapi/rdma/mlx5-abi.h | 2 + 9 files changed, 94 insertions(+), 87 deletions(-) -- 2.31.1