parisc: use legacy_timer_tick

parisc has selected CONFIG_GENERIC_CLOCKEVENTS since commit 43b1f6abd5
("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>
This commit is contained in:
Arnd Bergmann 2020-09-24 15:30:34 +02:00
parent 6239da2972
commit 686092e7da
3 changed files with 5 additions and 8 deletions

View File

@ -21,7 +21,7 @@
| nds32: | ok | | nds32: | ok |
| nios2: | ok | | nios2: | ok |
| openrisc: | ok | | openrisc: | ok |
| parisc: | ok | | parisc: | TODO |
| powerpc: | ok | | powerpc: | ok |
| riscv: | ok | | riscv: | ok |
| s390: | ok | | s390: | ok |

View File

@ -52,7 +52,7 @@ config PARISC
select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_REGS_AND_STACK_ACCESS_API
select GENERIC_SCHED_CLOCK select GENERIC_SCHED_CLOCK
select HAVE_UNSTABLE_SCHED_CLOCK if SMP select HAVE_UNSTABLE_SCHED_CLOCK if SMP
select GENERIC_CLOCKEVENTS select LEGACY_TIMER_TICK
select CPU_NO_EFFICIENT_FFS select CPU_NO_EFFICIENT_FFS
select NEED_DMA_MAP_STATE select NEED_DMA_MAP_STATE
select NEED_SG_DMA_LENGTH select NEED_SG_DMA_LENGTH

View 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 */ /* gcc can optimize for "read-only" case with a local clocktick */
unsigned long cpt = clocktick; unsigned long cpt = clocktick;
profile_tick(CPU_PROFILING);
/* Initialize next_tick to the old expected tick time. */ /* Initialize next_tick to the old expected tick time. */
next_tick = cpuinfo->it_value; 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; cpuinfo->it_value = next_tick;
/* Go do system house keeping. */ /* Go do system house keeping. */
if (cpu == 0) if (cpu != 0)
xtime_update(ticks_elapsed); ticks_elapsed = 0;
legacy_timer_tick(ticks_elapsed);
update_process_times(user_mode(get_irq_regs()));
/* Skip clockticks on purpose if we know we would miss those. /* Skip clockticks on purpose if we know we would miss those.
* The new CR16 must be "later" than current CR16 otherwise * The new CR16 must be "later" than current CR16 otherwise