parisc: use legacy_timer_tick
authorArnd Bergmann <arnd@arndb.de>
Thu, 24 Sep 2020 13:30:34 +0000 (15:30 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 30 Oct 2020 20:57:05 +0000 (21:57 +0100)
parisc has selected CONFIG_GENERIC_CLOCKEVENTS since commit 43b1f6abd590
("parisc: Switch to generic sched_clock implementation"), but does not
appear to actually be using it, and instead calls the low-level
timekeeping functions directly.

Remove the GENERIC_CLOCKEVENTS select again, and instead convert to
the newly added legacy_timer_tick() helper.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Documentation/features/time/clockevents/arch-support.txt
arch/parisc/Kconfig
arch/parisc/kernel/time.c

index 8287b6a..61a5c9d 100644 (file)
@@ -21,7 +21,7 @@
     |       nds32: |  ok  |
     |       nios2: |  ok  |
     |    openrisc: |  ok  |
-    |      parisc: |  ok  |
+    |      parisc: | TODO |
     |     powerpc: |  ok  |
     |       riscv: |  ok  |
     |        s390: |  ok  |
index b234e81..78b1762 100644 (file)
@@ -52,7 +52,7 @@ config PARISC
        select HAVE_REGS_AND_STACK_ACCESS_API
        select GENERIC_SCHED_CLOCK
        select HAVE_UNSTABLE_SCHED_CLOCK if SMP
-       select GENERIC_CLOCKEVENTS
+       select LEGACY_TIMER_TICK
        select CPU_NO_EFFICIENT_FFS
        select NEED_DMA_MAP_STATE
        select NEED_SG_DMA_LENGTH
index 13d94f0..08e4d48 100644 (file)
@@ -70,8 +70,6 @@ irqreturn_t __irq_entry timer_interrupt(int irq, void *dev_id)
        /* gcc can optimize for "read-only" case with a local clocktick */
        unsigned long cpt = clocktick;
 
-       profile_tick(CPU_PROFILING);
-
        /* Initialize next_tick to the old expected tick time. */
        next_tick = cpuinfo->it_value;
 
@@ -86,10 +84,9 @@ irqreturn_t __irq_entry timer_interrupt(int irq, void *dev_id)
        cpuinfo->it_value = next_tick;
 
        /* Go do system house keeping. */
-       if (cpu == 0)
-               xtime_update(ticks_elapsed);
-
-       update_process_times(user_mode(get_irq_regs()));
+       if (cpu != 0)
+               ticks_elapsed = 0;
+       legacy_timer_tick(ticks_elapsed);
 
        /* Skip clockticks on purpose if we know we would miss those.
         * The new CR16 must be "later" than current CR16 otherwise