Re: [PATCH] clocksource: mips-gic-timer: fix clocksource counter width

From: Thomas Gleixner
Date: Wed Feb 28 2018 - 03:55:54 EST


On Wed, 21 Feb 2018, Felix Fietkau wrote:

> This code needs to use ffs instead of fls on the mask to determine the
> shift for reading the GIC_CONFIG_COUNTBITS field.

Why?

Thanks,

tglx

> Fixes: e07127a077c7 ("clocksource: mips-gic-timer: Use new GIC accessor functions")
> Cc: Paul Burton <paul.burton@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Felix Fietkau <nbd@xxxxxxxx>
> ---
> drivers/clocksource/mips-gic-timer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clocksource/mips-gic-timer.c b/drivers/clocksource/mips-gic-timer.c
> index a04808a21d4e..bf0eee78c6ef 100644
> --- a/drivers/clocksource/mips-gic-timer.c
> +++ b/drivers/clocksource/mips-gic-timer.c
> @@ -166,7 +166,7 @@ static int __init __gic_clocksource_init(void)
>
> /* Set clocksource mask. */
> count_width = read_gic_config() & GIC_CONFIG_COUNTBITS;
> - count_width >>= __fls(GIC_CONFIG_COUNTBITS);
> + count_width >>= __ffs(GIC_CONFIG_COUNTBITS);
> count_width *= 4;
> count_width += 32;
> gic_clocksource.mask = CLOCKSOURCE_MASK(count_width);
> --
> 2.14.2
>
>