{
        struct drm_i915_private *dev_priv = m->i915;
        struct drm_i915_error_object *obj;
+       struct timespec64 ts;
        int i, j;
 
        if (!error) {
        if (*error->error_msg)
                err_printf(m, "%s\n", error->error_msg);
        err_printf(m, "Kernel: " UTS_RELEASE "\n");
-       err_printf(m, "Time: %ld s %ld us\n",
-                  error->time.tv_sec, error->time.tv_usec);
-       err_printf(m, "Boottime: %ld s %ld us\n",
-                  error->boottime.tv_sec, error->boottime.tv_usec);
-       err_printf(m, "Uptime: %ld s %ld us\n",
-                  error->uptime.tv_sec, error->uptime.tv_usec);
+       ts = ktime_to_timespec64(error->time);
+       err_printf(m, "Time: %lld s %ld us\n",
+                  (s64)ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC);
+       ts = ktime_to_timespec64(error->boottime);
+       err_printf(m, "Boottime: %lld s %ld us\n",
+                  (s64)ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC);
+       ts = ktime_to_timespec64(error->uptime);
+       err_printf(m, "Uptime: %lld s %ld us\n",
+                  (s64)ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC);
 
        for (i = 0; i < ARRAY_SIZE(error->engine); i++) {
                if (error->engine[i].hangcheck_stalled &&
 {
        struct i915_gpu_state *error = data;
 
-       do_gettimeofday(&error->time);
-       error->boottime = ktime_to_timeval(ktime_get_boottime());
-       error->uptime =
-               ktime_to_timeval(ktime_sub(ktime_get(),
-                                          error->i915->gt.last_init_time));
+       error->time = ktime_get_real();
+       error->boottime = ktime_get_boottime();
+       error->uptime = ktime_sub(ktime_get(),
+                                 error->i915->gt.last_init_time);
 
        capture_params(error);
        capture_uc_state(error);