diff --git a/kernel/nvidia-uvm/uvm_linux.h b/kernel/nvidia-uvm/uvm_linux.h index 8784a82..c256cdb 100644 --- a/kernel/nvidia-uvm/uvm_linux.h +++ b/kernel/nvidia-uvm/uvm_linux.h @@ -329,7 +329,16 @@ static inline uint64_t NV_DIV64(uint64_t dividend, uint64_t divisor, uint64_t *r } #endif -#if defined(CLOCK_MONOTONIC_RAW) +#if defined(NV_KTIME_GET_RAW_TS64_PRESENT) +static inline NvU64 NV_GETTIME(void) +{ + struct timespec64 ts64 = {0}; + + ktime_get_raw_ts64(&ts64); + + return (ts64.tv_sec * 1000000000ULL + ts64.tv_nsec); +} +#elif defined(CLOCK_MONOTONIC_RAW) /* Return a nanosecond-precise value */ static inline NvU64 NV_GETTIME(void) { @@ -345,7 +354,7 @@ static inline NvU64 NV_GETTIME(void) * available non-GPL symbols. */ static inline NvU64 NV_GETTIME(void) { - struct timeval tv = {0}; + struct nv_timeval tv = {0}; nv_gettimeofday(&tv);