[PATCH] clocksource: timer-riscv: Clear timer interrupt on timer initialization
Leyfoon Tan
leyfoon.tan at starfivetech.com
Thu Jan 25 09:04:03 PST 2024
> -----Original Message-----
> From: Anup Patel <apatel at ventanamicro.com>
> Sent: Friday, January 26, 2024 1:00 AM
> To: Leyfoon Tan <leyfoon.tan at starfivetech.com>
> Cc: Daniel Lezcano <daniel.lezcano at linaro.org>; Thomas Gleixner
> <tglx at linutronix.de>; Palmer Dabbelt <palmer at dabbelt.com>; Paul Walmsley
> <paul.walmsley at sifive.com>; Albert Ou <aou at eecs.berkeley.edu>;
> atishp at rivosinc.com; linux-riscv at lists.infradead.org; linux-
> kernel at vger.kernel.org; Ley Foon Tan <lftan.linux at gmail.com>
> Subject: Re: [PATCH] clocksource: timer-riscv: Clear timer interrupt on timer
> initialization
>
> On Thu, Jan 25, 2024 at 10:25 PM Ley Foon Tan
> <leyfoon.tan at starfivetech.com> wrote:
> >
> > In the RISC-V specification, the stimecmp register doesn't have a
> > default value. To prevent the timer interrupt from being triggered
> > during timer initialization, clear the timer interrupt by writing
> > stimecmp with a maximum value.
> >
> > Signed-off-by: Ley Foon Tan <leyfoon.tan at starfivetech.com>
> > ---
> > drivers/clocksource/timer-riscv.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/clocksource/timer-riscv.c
> > b/drivers/clocksource/timer-riscv.c
> > index e66dcbd66566..a75a74647344 100644
> > --- a/drivers/clocksource/timer-riscv.c
> > +++ b/drivers/clocksource/timer-riscv.c
> > @@ -172,6 +172,9 @@ static int __init riscv_timer_init_common(void)
> >
> > sched_clock_register(riscv_sched_clock, 64, riscv_timebase);
> >
> > + /* Clear timer interrupt */
> > + riscv_clock_event_stop();
> > +
>
> The riscv_timer_init_common() is called only on boot HART.
>
> I suggest doing riscv_clock_event_stop() in riscv_timer_starting_cpu() just
> before enable_percpu_irq().
>
> I also suggest adding an appropriate Fixes tag in the commit description.
>
> Regards,
> Anup
>
Okay, will change it.
Thanks.
Regards
Ley Foon
More information about the linux-riscv
mailing list