Message ID | 20200818032814.15968-2-zhukeqian1@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | clocksource: arm_arch_timer: Some fixes | expand |
On 2020-08-18 04:28, Keqian Zhu wrote: > In commit 0ea415390cd3 ("clocksource/arm_arch_timer: Use > arch_timer_read_counter > to access stable counters"), we separate stable and normal count reader > to omit > unnecessary overhead on systems that have no timer erratum. > > However, in erratum_set_next_event_tval_generic(), count reader becomes > normal > reader. This converts it to stable reader. > > Fixes: 0ea415390cd3 ("clocksource/arm_arch_timer: Use > arch_timer_read_counter to access stable counters") On a single line. > Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com> > --- > drivers/clocksource/arm_arch_timer.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/clocksource/arm_arch_timer.c > b/drivers/clocksource/arm_arch_timer.c > index 6c3e841..777d38c 100644 > --- a/drivers/clocksource/arm_arch_timer.c > +++ b/drivers/clocksource/arm_arch_timer.c > @@ -396,10 +396,10 @@ static void > erratum_set_next_event_tval_generic(const int access, unsigned long > ctrl &= ~ARCH_TIMER_CTRL_IT_MASK; > > if (access == ARCH_TIMER_PHYS_ACCESS) { > - cval = evt + arch_counter_get_cntpct(); > + cval = evt + arch_counter_get_cntpct_stable(); > write_sysreg(cval, cntp_cval_el0); > } else { > - cval = evt + arch_counter_get_cntvct(); > + cval = evt + arch_counter_get_cntvct_stable(); > write_sysreg(cval, cntv_cval_el0); > } With that fixed: Acked-by: Marc Zyngier <maz@kernel.org> This should go via the clocksource tree. Thanks, M.
Hi Marc, On 2020/12/3 22:58, Marc Zyngier wrote: > On 2020-08-18 04:28, Keqian Zhu wrote: >> In commit 0ea415390cd3 ("clocksource/arm_arch_timer: Use arch_timer_read_counter >> to access stable counters"), we separate stable and normal count reader to omit >> unnecessary overhead on systems that have no timer erratum. >> >> However, in erratum_set_next_event_tval_generic(), count reader becomes normal >> reader. This converts it to stable reader. >> >> Fixes: 0ea415390cd3 ("clocksource/arm_arch_timer: Use >> arch_timer_read_counter to access stable counters") > > On a single line. Addressed. Thanks. > >> Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com> >> --- >> drivers/clocksource/arm_arch_timer.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/clocksource/arm_arch_timer.c >> b/drivers/clocksource/arm_arch_timer.c >> index 6c3e841..777d38c 100644 >> --- a/drivers/clocksource/arm_arch_timer.c >> +++ b/drivers/clocksource/arm_arch_timer.c >> @@ -396,10 +396,10 @@ static void >> erratum_set_next_event_tval_generic(const int access, unsigned long >> ctrl &= ~ARCH_TIMER_CTRL_IT_MASK; >> >> if (access == ARCH_TIMER_PHYS_ACCESS) { >> - cval = evt + arch_counter_get_cntpct(); >> + cval = evt + arch_counter_get_cntpct_stable(); >> write_sysreg(cval, cntp_cval_el0); >> } else { >> - cval = evt + arch_counter_get_cntvct(); >> + cval = evt + arch_counter_get_cntvct_stable(); >> write_sysreg(cval, cntv_cval_el0); >> } > > With that fixed: > > Acked-by: Marc Zyngier <maz@kernel.org> > > This should go via the clocksource tree. Added Cc to it's maintainers, thanks. > > Thanks, > > M. Cheers, Keqian
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c index 6c3e841..777d38c 100644 --- a/drivers/clocksource/arm_arch_timer.c +++ b/drivers/clocksource/arm_arch_timer.c @@ -396,10 +396,10 @@ static void erratum_set_next_event_tval_generic(const int access, unsigned long ctrl &= ~ARCH_TIMER_CTRL_IT_MASK; if (access == ARCH_TIMER_PHYS_ACCESS) { - cval = evt + arch_counter_get_cntpct(); + cval = evt + arch_counter_get_cntpct_stable(); write_sysreg(cval, cntp_cval_el0); } else { - cval = evt + arch_counter_get_cntvct(); + cval = evt + arch_counter_get_cntvct_stable(); write_sysreg(cval, cntv_cval_el0); }
In commit 0ea415390cd3 ("clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters"), we separate stable and normal count reader to omit unnecessary overhead on systems that have no timer erratum. However, in erratum_set_next_event_tval_generic(), count reader becomes normal reader. This converts it to stable reader. Fixes: 0ea415390cd3 ("clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters") Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com> --- drivers/clocksource/arm_arch_timer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)