#include <infiniband/mlx5dv.h> int mlx5dv_get_clock_info(struct ibv_context *ctx_in, struct mlx5dv_clock_info *clock_info);
Get the updated core clock_info from the device driver. This information will be used later to translate the completion timestamp from HCA core clock to nanoseconds. The values of the clock are updated from the driver's PTP clock, therefore, without a running PTP client on the machine, the wall clock conversion will not be accurate.
Pass the latest struct mlx5dv_clock_info to mlx5dv_ts_to_ns(3) in order to translate the completion timestamp from HCA core clock to nanoseconds.
If the clock_info becomes too old then time conversion will return wrong conversion results. The user must ensure that mlx5dv_get_clock_info(3) is called at least once every max_clock_info_update_nsec as returned by the mlx5dv_query_device(3) function.
0 on success or the value of errno on failure (which indicates the failure reason).
Feras Daoud <email@example.com>