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:
parent
6239da2972
commit
686092e7da
|
@ -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 |
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue