Merge tag 'io_uring-6.2-2023-01-27' of git://git.kernel.dk/linux
[linux-2.6-microblaze.git] / arch / loongarch / kernel / time.c
index 786735d..a6576de 100644 (file)
@@ -115,12 +115,17 @@ static unsigned long __init get_loops_per_jiffy(void)
        return lpj;
 }
 
-static long init_timeval;
+static long init_offset __nosavedata;
+
+void save_counter(void)
+{
+       init_offset = drdtime();
+}
 
 void sync_counter(void)
 {
        /* Ensure counter begin at 0 */
-       csr_write64(-init_timeval, LOONGARCH_CSR_CNTC);
+       csr_write64(init_offset, LOONGARCH_CSR_CNTC);
 }
 
 static int get_timer_irq(void)
@@ -219,7 +224,7 @@ void __init time_init(void)
        else
                const_clock_freq = calc_const_freq();
 
-       init_timeval = drdtime() - csr_read64(LOONGARCH_CSR_CNTC);
+       init_offset = -(drdtime() - csr_read64(LOONGARCH_CSR_CNTC));
 
        constant_clockevent_init();
        constant_clocksource_init();