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 <[email protected]>
> Cc: [email protected]
> Signed-off-by: Felix Fietkau <[email protected]>
> ---
> 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
>
>