All users of do_gettimeofday() have been removed, but this one recently
crept in, along with an incorrect printing of the microseconds portion.
This converts it to using ktime_get_real_timespec64() as a direct
replacement, and adds the leading zeroes. I considered using monotonic
times (ktime_get()) instead, but as this timestamp appears to only
be used for humans rather than compared with other timestamps, the
real time domain is probably good enough.
Fixes: e43b045e2c82 ("drm/msm/gpu: Capture the state of the GPU")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Clark <robdclark@gmail.com>
 
        kref_init(&state->ref);
 
-       do_gettimeofday(&state->time);
+       ktime_get_real_ts64(&state->time);
 
        for (i = 0; i < gpu->nr_rings; i++) {
                int size = 0, j;
 
        drm_printf(&p, "---\n");
        drm_printf(&p, "kernel: " UTS_RELEASE "\n");
        drm_printf(&p, "module: " KBUILD_MODNAME "\n");
-       drm_printf(&p, "time: %ld.%ld\n",
-               state->time.tv_sec, state->time.tv_usec);
+       drm_printf(&p, "time: %lld.%09ld\n",
+               state->time.tv_sec, state->time.tv_nsec);
        if (state->comm)
                drm_printf(&p, "comm: %s\n", state->comm);
        if (state->cmd)
 
 
 struct msm_gpu_state {
        struct kref ref;
-       struct timeval time;
+       struct timespec64 time;
 
        struct {
                u64 iova;